Message ID | 20230728173438.12995-2-a-bhatia1@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: ti: k3-am62: Add display support | expand |
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@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@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.
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@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@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
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@1b { #sound-dai-cells = <0>;
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@ti.com> --- arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)