RE: [PATCH 1/6] i2c: tegra: Add support for Tegra234 I2C
From: Akhil R
Date: Thu Jan 20 2022 - 09:23:55 EST
> >>> +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