[PATCH 3/4] arm64: dts: ti: k3-am625-sk: Update main-i2c1 frequency

From: Aradhya Bhatia
Date: Wed Apr 27 2022 - 05:10:04 EST


Update the main-i2c1 frequency from 400KHz to 100KHz.

There are 2 devices on the i2c-1 bus. An IO-Expander and an HDMI TX.
Both of these are capable of servicing i2c upto a max frequency of
400KHz.

However, below warning log shows up while running any userspace
application that uses the HDMI display when the main-i2c1 frequency is
set at 400KHz.

[ 985.773431] omap_i2c 20010000.i2c: controller timed out

With some further tests using 2 frequencies, 100 KHz and 400KHz across
different HDMI cable & monitor setups, it was observed that,

- i2c frequency of 400KHz works fine with standard good quality HDMI
cables with branded displays. It will show the controller timeout
warnings only when a sub-standard / generic HDMI cable is being used.

- Using 100KHz for i2c frequency, stops the warning from showing up
for the generic HDMI cables as well.

Since, the IO-Expander is the only other component on that i2c bus and
we are not performing any intensive operations on it, it would be safe
to set the i2c frequency at 100KHz in order to support a broader variety
of HDMI cables.

Signed-off-by: Aradhya Bhatia <a-bhatia1@xxxxxx>
---
arch/arm64/boot/dts/ti/k3-am625-sk.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index ab3d90d358ee..96414c5dacf7 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -357,7 +357,7 @@ &main_i2c0 {
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
- clock-frequency = <400000>;
+ clock-frequency = <100000>;

exp1: gpio@22 {
compatible = "ti,tca6424";
--
2.36.0