From 36af188f795bd1b0d794dd735623979dc6b698d3 Mon Sep 17 00:00:00 2001 From: Lakshmi Sowjanya D Date: Tue, 9 Nov 2021 16:05:52 +0530 Subject: [PATCH] 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 Acked-by: Jarkko Nikula Signed-off-by: Wolfram Sang --- drivers/i2c/busses/i2c-designware-pcidrv.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 174938f..3418148 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -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] = { -- 2.7.4