i2c: designware-pci: Set ideal timing parameters for Elkhart Lake PSE

Set optimal HCNT, LCNT and hold time values for all the speeds supported
in Intel Programmable Service Engine I2C controller in Intel Elkhart
Lake.

Signed-off-by: Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
Lakshmi Sowjanya D 2021-11-09 16:05:52 +05:30 committed by Wolfram Sang
parent e8578547ce
commit 36af188f79
1 changed files with 14 additions and 0 deletions

View File

@ -84,6 +84,19 @@ static struct dw_scl_sda_cfg hsw_config = {
.sda_hold = 0x9,
};
/* Elkhart Lake HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg ehl_config = {
.ss_hcnt = 0x190,
.fs_hcnt = 0x4E,
.fp_hcnt = 0x1A,
.hs_hcnt = 0x1F,
.ss_lcnt = 0x1d6,
.fs_lcnt = 0x96,
.fp_lcnt = 0x32,
.hs_lcnt = 0x36,
.sda_hold = 0x1E,
};
/* NAVI-AMD HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg navi_amd_config = {
.ss_hcnt = 0x1ae,
@ -200,6 +213,7 @@ static struct dw_pci_controller dw_pci_controllers[] = {
},
[elkhartlake] = {
.bus_num = -1,
.scl_sda_cfg = &ehl_config,
.get_clk_rate_khz = ehl_get_clk_rate_khz,
},
[navi_amd] = {