2019-10-04 07:55:33

by Andrey Smirnov

[permalink] [raw]
Subject: [PATCH] ARM: dts: am3874-iceboard: Fix 'i2c-mux-idle-disconnect' usage

According to
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt,
i2c-mux-idle-disconnect is a property of a parent node since it
pertains to the mux/switch as a whole, so move it there and drop all
of the concurrences in child nodes.

Fixes: d031773169df ("ARM: dts: Adds device tree file for McGill's IceBoard, based on TI AM3874")
Signed-off-by: Andrey Smirnov <[email protected]>
Cc: Benoît Cousson <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc: Graeme Smecher <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---

This is purely a drive-by fix, since it concerns the HW I've never
heard of before. However I was working with PCA9548
(vf610-zii-scu4-aib is my HW) and looking at various users in the
kernel, when this code caught my eye. Apologies for the noise if this
fix is somehow bogus.

In case that it matters this patch is based on top of 5.4-rc1.

Thanks,
Andrey Smirnov

arch/arm/boot/dts/am3874-iceboard.dts | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/am3874-iceboard.dts b/arch/arm/boot/dts/am3874-iceboard.dts
index 883fb85135d4..1b4b2b0500e4 100644
--- a/arch/arm/boot/dts/am3874-iceboard.dts
+++ b/arch/arm/boot/dts/am3874-iceboard.dts
@@ -111,13 +111,13 @@
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
+ i2c-mux-idle-disconnect;

i2c@0 {
/* FMC A */
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
- i2c-mux-idle-disconnect;
};

i2c@1 {
@@ -125,7 +125,6 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
- i2c-mux-idle-disconnect;
};

i2c@2 {
@@ -133,7 +132,6 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
- i2c-mux-idle-disconnect;
};

i2c@3 {
@@ -141,7 +139,6 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
- i2c-mux-idle-disconnect;
};

i2c@4 {
@@ -149,14 +146,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
- i2c-mux-idle-disconnect;
};

i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
- i2c-mux-idle-disconnect;

ina230@40 { compatible = "ti,ina230"; reg = <0x40>; shunt-resistor = <5000>; };
ina230@41 { compatible = "ti,ina230"; reg = <0x41>; shunt-resistor = <5000>; };
@@ -182,14 +177,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
- i2c-mux-idle-disconnect;
};

i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
- i2c-mux-idle-disconnect;

u41: pca9575@20 {
compatible = "nxp,pca9575";
--
2.21.0


2019-10-05 00:00:33

by Graeme Smecher

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: am3874-iceboard: Fix 'i2c-mux-idle-disconnect' usage

Hi Andrey,

On 2019-10-03 6:45 p.m., Andrey Smirnov wrote:
> According to
> Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt,
> i2c-mux-idle-disconnect is a property of a parent node since it
> pertains to the mux/switch as a whole, so move it there and drop all
> of the concurrences in child nodes.
>
> Fixes: d031773169df ("ARM: dts: Adds device tree file for McGill's IceBoard, based on TI AM3874")
> Signed-off-by: Andrey Smirnov <[email protected]>
> Cc: Benoît Cousson <[email protected]>
> Cc: Tony Lindgren <[email protected]>
> Cc: Graeme Smecher <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
>
> This is purely a drive-by fix, since it concerns the HW I've never
> heard of before. However I was working with PCA9548
> (vf610-zii-scu4-aib is my HW) and looking at various users in the
> kernel, when this code caught my eye. Apologies for the noise if this
> fix is somehow bogus.
>
> In case that it matters this patch is based on top of 5.4-rc1.

Thanks! We do have I2C address collisions on downstream bus segments, so
keeping these segments isolated is important. I'm surprised this patch
was necessary and happy to see it.

Lightly tested on 5.3.

Tested-by: Graeme Smecher <[email protected]>

cheers,
Graeme


Attachments:
pEpkey.asc (3.07 kB)

2019-10-08 14:20:06

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: am3874-iceboard: Fix 'i2c-mux-idle-disconnect' usage

* Graeme Smecher <[email protected]> [191004 23:53]:
> Hi Andrey,
>
> On 2019-10-03 6:45 p.m., Andrey Smirnov wrote:
> > According to
> > Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt,
> > i2c-mux-idle-disconnect is a property of a parent node since it
> > pertains to the mux/switch as a whole, so move it there and drop all
> > of the concurrences in child nodes.
> >
> > Fixes: d031773169df ("ARM: dts: Adds device tree file for McGill's IceBoard, based on TI AM3874")
> > Signed-off-by: Andrey Smirnov <[email protected]>
> > Cc: Benoît Cousson <[email protected]>
> > Cc: Tony Lindgren <[email protected]>
> > Cc: Graeme Smecher <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Cc: [email protected]
> > ---
> >
> > This is purely a drive-by fix, since it concerns the HW I've never
> > heard of before. However I was working with PCA9548
> > (vf610-zii-scu4-aib is my HW) and looking at various users in the
> > kernel, when this code caught my eye. Apologies for the noise if this
> > fix is somehow bogus.
> >
> > In case that it matters this patch is based on top of 5.4-rc1.
>
> Thanks! We do have I2C address collisions on downstream bus segments, so
> keeping these segments isolated is important. I'm surprised this patch
> was necessary and happy to see it.
>
> Lightly tested on 5.3.
>
> Tested-by: Graeme Smecher <[email protected]>

Applying into fixes thanks.

Tony