[PATCH v3 1/8] arm64: dts: ti: k3-am62x-sk-common: Update main-i2c1 frequency

Aradhya Bhatia a-bhatia1 at ti.com
Wed Aug 2 23:34:27 PDT 2023


Hi Nishanth,

On 30-Jul-23 22:00, Nishanth Menon wrote:
> On 23:04-20230728, Aradhya Bhatia wrote:
>> The Display Data Channel (DDC) transactions between an HDMI transmitter
>> (SIL9022A in this case) and an HDMI monitor, occur at a maximum of
>> 100KHz. That's the maximum supported frequency within DDC standards.
>>
>> While the SIL9022A can transact with the core at 400KHz, it needs to
>> drop the frequency to 100KHz when communicating with the monitor,
>> otherwise, the i2c controller times out and shows warning like this.
>>
>> [  985.773431] omap_i2c 20010000.i2c: controller timed out
>>
>> That feature, however, has not been enabled in the SIL9022 driver.
>>
>> Since, dropping the frequency doesn't affect any other devices on the
>> bus, drop the main-i2c1 frequency from 400KHz to 100KHz.
>>
>> Signed-off-by: Aradhya Bhatia <a-bhatia1 at ti.com>
>> ---
>>  arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> index 34c8ffc553ec..540ed8a0d7fb 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> @@ -300,7 +300,7 @@ &main_i2c1 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&main_i2c1_pins_default>;
>> -	clock-frequency = <400000>;
>> +	clock-frequency = <100000>;
>>  
>>  	tlv320aic3106: audio-codec at 1b {
>>  		#sound-dai-cells = <0>;
>> -- 
>> 2.40.1
>>
> 
> I know we had issues with level shifters on the dev platform previously,
> but do we need this patch anymore with the production boards?
> 
> if so, use Fixes and I can pick for next.
> 

This doesn't have anything to do with the level shifter issue we have
had previously. The DDC communication between the monitor and the HDMI
bridge requires that the bus frequency be 100KHz. Some monitors still
end up supporting higher frequencies on higher quality HDMI cables,
but to support a larger variety, we need to ensure that it doesn't
exceed 100KHz. Hence, this is just as much applicable on the production
boards.

Since the capability of the SIL9022 to drop down the transaction
frequency to 100KHz has not been enabled in the driver, I am changing
the bus frequency for the whole i2c-1 bus.

And this patch is not required if display is not being used, so I don't
think we need to back-port to older versions via "Fixes" tag... unless I
am missing a deeper point you were trying to make?

If so, let me know, and I will post a new version with the said tag.


Regards
Aradhya



More information about the linux-arm-kernel mailing list