[PATCH v1 2/2] i2c: designware-pci: Set ideal timing parameters for Elkhart Lake PSE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Lakshmi Sowjanya D <lakshmi.sowjanya.d@xxxxxxxxx>

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@xxxxxxxxx>
---
 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 174938fc7a7e..3418148f8bb5 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.17.1




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux