[PATCH v4 4/5] arm64: dts: ls208xa-rdb: fix errata E-00013

Li Yang leoyang.li at nxp.com
Wed Sep 14 14:15:37 PDT 2022


From: Biwen Li <biwen.li at nxp.com>

Specify a channel zero in idle state to avoid enterring tri-stated state
for PCA9547.

Some information about E-00013:
- Description: I2C1 and I2C3 buses are missing pull-up.
- Impact: When the PCA954x device is tri-stated, the I2C bus will float.
  This makes the I2C bus and its associated downstream devices
  inaccessible.
- Hardware fix: Populate resistors R189 and R190 for I2C1 and resistors
  R228 and R229 for I2C3.
- Software fix: Remove the tri-state option from the PCA954x
  driver(PCA954x always on enable status, specify a channel zero in dts to
  fix the errata E-00013).

Signed-off-by: Biwen Li <biwen.li at nxp.com>
Signed-off-by: Li Yang <leoyang.li at nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
index f8135c5c252d..3d9647b3da14 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
@@ -49,6 +49,8 @@ pca9547 at 75 {
 		reg = <0x75>;
 		#address-cells = <1>;
 		#size-cells = <0>;
+		idle-state = <0>;
+
 		i2c at 1 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-- 
2.37.1




More information about the linux-arm-kernel mailing list