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>
.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,
},
[elkhartlake] = {
.bus_num = -1,
+ .scl_sda_cfg = &ehl_config,
.get_clk_rate_khz = ehl_get_clk_rate_khz,
},
[navi_amd] = {