[PATCH AUTOSEL 5.12 42/43] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1947d REVIEWED: 1 (1M)

1 review trailer (1 from subsystem maintainers).

4 messages, 3 authors, 2021-06-10 · open the first message on its own page

[PATCH AUTOSEL 5.12 42/43] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers

From: Sasha Levin <sashal@kernel.org>
Date: 2021-06-03 17:09:45

From: Chris Packham <chris.packham@alliedtelesis.co.nz>

[ Upstream commit 7adc7b225cddcfd0f346d10144fd7a3d3d9f9ea7 ]

The i2c controllers on the P2040/P2041 have an erratum where the
documented scheme for i2c bus recovery will not work (A-004447). A
different mechanism is needed which is documented in the P2040 Chip
Errata Rev Q (latest available at the time of writing).

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
diff --git a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
index 872e4485dc3f..ddc018d42252 100644
--- a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
@@ -371,7 +371,23 @@ sdhc@114000 {
 	};
 
 /include/ "qoriq-i2c-0.dtsi"
+	i2c@118000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@118100 {
+		fsl,i2c-erratum-a004447;
+	};
+
 /include/ "qoriq-i2c-1.dtsi"
+	i2c@119000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@119100 {
+		fsl,i2c-erratum-a004447;
+	};
+
 /include/ "qoriq-duart-0.dtsi"
 /include/ "qoriq-duart-1.dtsi"
 /include/ "qoriq-gpio-0.dtsi"
-- 
2.30.2

Re: [PATCH AUTOSEL 5.12 42/43] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2021-06-04 00:42:20

Sasha Levin [off-list ref] writes:
From: Chris Packham <chris.packham@alliedtelesis.co.nz>

[ Upstream commit 7adc7b225cddcfd0f346d10144fd7a3d3d9f9ea7 ]

The i2c controllers on the P2040/P2041 have an erratum where the
documented scheme for i2c bus recovery will not work (A-004447). A
different mechanism is needed which is documented in the P2040 Chip
Errata Rev Q (latest available at the time of writing).

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
This patch (and the subsequent one), just set a flag in the device tree.

They have no effect unless you also backport the code change that looks
for that flag, which was upstream commit:

  8f0cdec8b5fd ("i2c: mpc: implement erratum A-004447 workaround")

AFAICS you haven't picked that one up for any of the stable trees.

I'll defer to Chris & Wolfram on whether it's a good idea to take the
code change for stable.

I guess it's harmless to pick these two patches, but it's also
pointless. So I think you either want to take all three, or drop these
two.

cheers
quoted hunk
diff --git a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
index 872e4485dc3f..ddc018d42252 100644
--- a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
@@ -371,7 +371,23 @@ sdhc@114000 {
 	};
 
 /include/ "qoriq-i2c-0.dtsi"
+	i2c@118000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@118100 {
+		fsl,i2c-erratum-a004447;
+	};
+
 /include/ "qoriq-i2c-1.dtsi"
+	i2c@119000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@119100 {
+		fsl,i2c-erratum-a004447;
+	};
+
 /include/ "qoriq-duart-0.dtsi"
 /include/ "qoriq-duart-1.dtsi"
 /include/ "qoriq-gpio-0.dtsi"
-- 
2.30.2

Re: [PATCH AUTOSEL 5.12 42/43] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers

From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Date: 2021-06-04 00:59:01

On 4/06/21 12:42 pm, Michael Ellerman wrote:
Sasha Levin [off-list ref] writes:
quoted
From: Chris Packham <chris.packham@alliedtelesis.co.nz>

[ Upstream commit 7adc7b225cddcfd0f346d10144fd7a3d3d9f9ea7 ]

The i2c controllers on the P2040/P2041 have an erratum where the
documented scheme for i2c bus recovery will not work (A-004447). A
different mechanism is needed which is documented in the P2040 Chip
Errata Rev Q (latest available at the time of writing).

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
  arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)
This patch (and the subsequent one), just set a flag in the device tree.

They have no effect unless you also backport the code change that looks
for that flag, which was upstream commit:

   8f0cdec8b5fd ("i2c: mpc: implement erratum A-004447 workaround")
That change itself isn't cherry-pick able without

65171b2df15e ("i2c: mpc: Make use of i2c_recover_bus()")

and in between 65171b2df15e and 8f0cdec8b5fd are a bunch of cleanups and 
a fairly major rewrite which may also affect the cherry-pick ability.
AFAICS you haven't picked that one up for any of the stable trees.

I'll defer to Chris & Wolfram on whether it's a good idea to take the
code change for stable.
We have been doing some extra QA on our end for the "i2c: mpc: Refactor 
to improve responsiveness" and "P2040/P2041 i2c recovery erratum" series 
which hasn't thrown up any issues. But it's still a lot of new code and 
at some point we're going to run into API changes.

Given the fact that it's starting to snowball one might err on the side 
of caution.
I guess it's harmless to pick these two patches, but it's also
pointless. So I think you either want to take all three, or drop these
two.
At a minimum you need

65171b2df15e ("i2c: mpc: Make use of i2c_recover_bus()")
8f0cdec8b5fd ("i2c: mpc: implement erratum A-004447 workaround")
7adc7b225cdd ("powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 
i2c controllers")
19ae697a1e4e ("powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010 
i2c controllers")
cheers
quoted
diff --git a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
index 872e4485dc3f..ddc018d42252 100644
--- a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
@@ -371,7 +371,23 @@ sdhc@114000 {
  	};
  
  /include/ "qoriq-i2c-0.dtsi"
+	i2c@118000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@118100 {
+		fsl,i2c-erratum-a004447;
+	};
+
  /include/ "qoriq-i2c-1.dtsi"
+	i2c@119000 {
+		fsl,i2c-erratum-a004447;
+	};
+
+	i2c@119100 {
+		fsl,i2c-erratum-a004447;
+	};
+
  /include/ "qoriq-duart-0.dtsi"
  /include/ "qoriq-duart-1.dtsi"
  /include/ "qoriq-gpio-0.dtsi"
-- 
2.30.2

Re: [PATCH AUTOSEL 5.12 42/43] powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers

From: Sasha Levin <sashal@kernel.org>
Date: 2021-06-10 22:00:43

On Fri, Jun 04, 2021 at 12:58:54AM +0000, Chris Packham wrote:
On 4/06/21 12:42 pm, Michael Ellerman wrote:
quoted
Sasha Levin [off-list ref] writes:
quoted
From: Chris Packham <chris.packham@alliedtelesis.co.nz>

[ Upstream commit 7adc7b225cddcfd0f346d10144fd7a3d3d9f9ea7 ]

The i2c controllers on the P2040/P2041 have an erratum where the
documented scheme for i2c bus recovery will not work (A-004447). A
different mechanism is needed which is documented in the P2040 Chip
Errata Rev Q (latest available at the time of writing).

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
  arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)
This patch (and the subsequent one), just set a flag in the device tree.

They have no effect unless you also backport the code change that looks
for that flag, which was upstream commit:

   8f0cdec8b5fd ("i2c: mpc: implement erratum A-004447 workaround")
That change itself isn't cherry-pick able without

65171b2df15e ("i2c: mpc: Make use of i2c_recover_bus()")

and in between 65171b2df15e and 8f0cdec8b5fd are a bunch of cleanups and
a fairly major rewrite which may also affect the cherry-pick ability.
quoted
AFAICS you haven't picked that one up for any of the stable trees.

I'll defer to Chris & Wolfram on whether it's a good idea to take the
code change for stable.
We have been doing some extra QA on our end for the "i2c: mpc: Refactor
to improve responsiveness" and "P2040/P2041 i2c recovery erratum" series
which hasn't thrown up any issues. But it's still a lot of new code and
at some point we're going to run into API changes.

Given the fact that it's starting to snowball one might err on the side
of caution.
quoted
I guess it's harmless to pick these two patches, but it's also
pointless. So I think you either want to take all three, or drop these
two.
At a minimum you need

65171b2df15e ("i2c: mpc: Make use of i2c_recover_bus()")
8f0cdec8b5fd ("i2c: mpc: implement erratum A-004447 workaround")
7adc7b225cdd ("powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041
i2c controllers")
19ae697a1e4e ("powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010
i2c controllers")
I'll take the two additional commits, thanks!

-- 
Thanks,
Sasha
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help