> >>> +static const struct tegra_i2c_hw_feature tegra234_i2c_hw = { > >>> + .has_continue_xfer_support = true, > >>> + .has_per_pkt_xfer_complete_irq = true, > >>> + .clk_divisor_hs_mode = 0x2, > >>> + .clk_divisor_std_mode = 0x4f, > >>> + .clk_divisor_fast_mode = 0x58, > >>> + .clk_divisor_fast_plus_mode = 0x24, > >>> + .has_config_load_reg = true, > >>> + .has_multi_master_mode = true, > >>> + .has_slcg_override_reg = true, > >>> + .has_mst_fifo = true, > >>> + .quirks = &tegra194_i2c_quirks, > >>> + .supports_bus_clear = true, > >>> + .has_apb_dma = false, > >>> + .tlow_std_mode = 0x8, > >>> + .thigh_std_mode = 0x7, > >>> + .tlow_fast_fastplus_mode = 0x1, > >>> + .thigh_fast_fastplus_mode = 0x1, > >>> + .setup_hold_time_std_mode = 0x08080808, > >>> + .setup_hold_time_fast_fast_plus_mode = 0x02020202, > >>> + .setup_hold_time_hs_mode = 0x090909, > >>> + .has_interface_timing_reg = true, }; > >> > >> Why tegra194_i2c_hw can't be reused by T234? Looks like I2C h/w hasn't > >> changed and somebody just made a minor tuning of the timing parameters, > does > >> it really matter in practice? > > The timing parameters are important to get the desired data rate for I2C. The > values, > > unfortunately, cannot be reused from Tegra194. > > From where those T194 parameters specified in the Tegra I2C driver came > from? > > I'm now looking at T194 TRM (Xavier_TRM_DP09253002_v1.3p 10.2.3.1.1 > Example Settings for Various I2C Speeds) and see that all the values > should match T234. Please check whether T194 configuration is correct > and fix it if needed. Thanks for highlighting this. There are adjustments in the default timing values of T194 from TRM. I am checking if these changes can be used for T234 as well. Will send an updated patch if the same values apply for T234. Thanks, Akhil