[v5,3/3] arm64: dts: fsl-ls208xa-rdb: fix an errata E-00013
diff mbox series

Message ID 20191022041152.3663-3-biwen.li@nxp.com
State Needs Review / ACK
Delegated to: Peter Rosin
Headers show
Series
  • [v5,1/3] dt-bindings: i2c: support property idle-state
Related show

Commit Message

Biwen Li Oct. 22, 2019, 4:11 a.m. UTC
Specify a channel zero in idle state to
avoid enterring tri-stated state for PCA9547.
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@nxp.com>
---
Change in v5:
	- specify a channel zero when pca9547 in idle state.

 arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 1 +
 1 file changed, 1 insertion(+)

Comments

Peter Rosin Nov. 19, 2019, 10 p.m. UTC | #1
Hi!

This patch needs an ack from the arm64 dts maintainers. I cannot sneak it
in "behind their backs". So, it will have to wait. Sorry for not noticing
earlier.

Cheers,
Peter

On 2019-10-22 06:11, Biwen Li wrote:
> Specify a channel zero in idle state to
> avoid enterring tri-stated state for PCA9547.
> 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@nxp.com>
> ---
> Change in v5:
> 	- specify a channel zero when pca9547 in idle state.
> 
>  arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
> index 6fd7f63085c9..412f1bc0db5f 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
> @@ -49,6 +49,7 @@
>  		reg = <0x75>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> +		idle-state = <0>;
>  		i2c@1 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>

Patch
diff mbox series

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
index 6fd7f63085c9..412f1bc0db5f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi
@@ -49,6 +49,7 @@ 
 		reg = <0x75>;
 		#address-cells = <1>;
 		#size-cells = <0>;
+		idle-state = <0>;
 		i2c@1 {
 			#address-cells = <1>;
 			#size-cells = <0>;