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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Biwen Li <biwen.li@xxxxxxx>

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@xxxxxxx>
Signed-off-by: Li Yang <leoyang.li@xxxxxxx>
---
 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@75 {
 		reg = <0x75>;
 		#address-cells = <1>;
 		#size-cells = <0>;
+		idle-state = <0>;
+
 		i2c@1 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-- 
2.37.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux