Re: [PATCH 1/6] i2c: tegra: Add support for Tegra234 I2C

From: Dmitry Osipenko
Date: Wed Jan 19 2022 - 07:20:57 EST


19.01.2022 11:20, Akhil R пишет:
>> 13.01.2022 16:30, Akhil R пишет:
>>> +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.