2022-04-22 22:57:28

by Rob Herring

[permalink] [raw]
Subject: [PATCH] dt-bindings: Drop undocumented i.MX iomuxc-gpr bindings in examples

The i.MX iomuxc-gpr bindings are undocumented and a mess. Drop their use
from the examples.

The problem with the binding beyond the just random variations is that
the iomuxc-gpr is not a separate block, but registers within the iomuxc
block containing random leftover controls. As a separate DT node, it
creates nodes with overlapping memory addresses.

Signed-off-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/mfd/syscon.yaml | 8 --------
Documentation/devicetree/bindings/mux/reg-mux.yaml | 1 -
2 files changed, 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
index 13baa452cc9d..fb784045013f 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.yaml
+++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
@@ -100,12 +100,4 @@ examples:
compatible = "allwinner,sun8i-h3-system-controller", "syscon";
reg = <0x01c00000 0x1000>;
};
-
- - |
- gpr: iomuxc-gpr@20e0000 {
- compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
- reg = <0x020e0000 0x38>;
- hwlocks = <&hwlock1 1>;
- };
-
...
diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
index 60d5746eb39d..df4db96b5391 100644
--- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
+++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
@@ -96,7 +96,6 @@ examples:

#include <dt-bindings/mux/mux.h>
syscon@1000 {
- compatible = "fsl,imx7d-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
reg = <0x1000 0x100>;

mux2: mux-controller {
--
2.32.0


2022-04-25 18:48:53

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: Drop undocumented i.MX iomuxc-gpr bindings in examples

On Fri, 22 Apr 2022, Rob Herring wrote:

> The i.MX iomuxc-gpr bindings are undocumented and a mess. Drop their use
> from the examples.
>
> The problem with the binding beyond the just random variations is that
> the iomuxc-gpr is not a separate block, but registers within the iomuxc
> block containing random leftover controls. As a separate DT node, it
> creates nodes with overlapping memory addresses.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/syscon.yaml | 8 --------
> Documentation/devicetree/bindings/mux/reg-mux.yaml | 1 -
> 2 files changed, 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> index 13baa452cc9d..fb784045013f 100644
> --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> @@ -100,12 +100,4 @@ examples:
> compatible = "allwinner,sun8i-h3-system-controller", "syscon";
> reg = <0x01c00000 0x1000>;
> };
> -
> - - |
> - gpr: iomuxc-gpr@20e0000 {
> - compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
> - reg = <0x020e0000 0x38>;
> - hwlocks = <&hwlock1 1>;
> - };
> -
> ...
> diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> index 60d5746eb39d..df4db96b5391 100644
> --- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
> +++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> @@ -96,7 +96,6 @@ examples:
>
> #include <dt-bindings/mux/mux.h>
> syscon@1000 {
> - compatible = "fsl,imx7d-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
> reg = <0x1000 0x100>;

Is leaving no compatible the correct solution here?

Do we have another (working) platform that we can use in its place?

Does it make sense to leave the "syscon" and "simple-mfd" entries?

> mux2: mux-controller {

--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

2022-04-25 19:19:36

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: Drop undocumented i.MX iomuxc-gpr bindings in examples

Hi!

2022-04-22 at 21:21, Rob Herring wrote:
> The i.MX iomuxc-gpr bindings are undocumented and a mess. Drop their use
> from the examples.
>
> The problem with the binding beyond the just random variations is that
> the iomuxc-gpr is not a separate block, but registers within the iomuxc
> block containing random leftover controls. As a separate DT node, it
> creates nodes with overlapping memory addresses.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/syscon.yaml | 8 --------
> Documentation/devicetree/bindings/mux/reg-mux.yaml | 1 -
> 2 files changed, 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> index 13baa452cc9d..fb784045013f 100644
> --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> @@ -100,12 +100,4 @@ examples:
> compatible = "allwinner,sun8i-h3-system-controller", "syscon";
> reg = <0x01c00000 0x1000>;
> };
> -
> - - |
> - gpr: iomuxc-gpr@20e0000 {
> - compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
> - reg = <0x020e0000 0x38>;
> - hwlocks = <&hwlock1 1>;
> - };
> -
> ...
> diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> index 60d5746eb39d..df4db96b5391 100644
> --- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
> +++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> @@ -96,7 +96,6 @@ examples:
>
> #include <dt-bindings/mux/mux.h>
> syscon@1000 {
> - compatible = "fsl,imx7d-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
> reg = <0x1000 0x100>;
>
> mux2: mux-controller {

Hmm, the reg-mux file is "mine" and I have no strong objection since
it doesn't really affect what the example is there for, but it does
look a bit weird to simply remove the compatible, no? Is that ok?

Either way, fine by me as you're the expert.

Acked-by: Peter Rosin <[email protected]>

Cheers,
Peter

2022-04-27 06:56:54

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: Drop undocumented i.MX iomuxc-gpr bindings in examples

On Mon, Apr 25, 2022 at 08:58:10AM +0100, Lee Jones wrote:
> On Fri, 22 Apr 2022, Rob Herring wrote:
>
> > The i.MX iomuxc-gpr bindings are undocumented and a mess. Drop their use
> > from the examples.
> >
> > The problem with the binding beyond the just random variations is that
> > the iomuxc-gpr is not a separate block, but registers within the iomuxc
> > block containing random leftover controls. As a separate DT node, it
> > creates nodes with overlapping memory addresses.
> >
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > Documentation/devicetree/bindings/mfd/syscon.yaml | 8 --------
> > Documentation/devicetree/bindings/mux/reg-mux.yaml | 1 -
> > 2 files changed, 9 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > index 13baa452cc9d..fb784045013f 100644
> > --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > @@ -100,12 +100,4 @@ examples:
> > compatible = "allwinner,sun8i-h3-system-controller", "syscon";
> > reg = <0x01c00000 0x1000>;
> > };
> > -
> > - - |
> > - gpr: iomuxc-gpr@20e0000 {
> > - compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
> > - reg = <0x020e0000 0x38>;
> > - hwlocks = <&hwlock1 1>;
> > - };
> > -
> > ...
> > diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > index 60d5746eb39d..df4db96b5391 100644
> > --- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > +++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > @@ -96,7 +96,6 @@ examples:
> >
> > #include <dt-bindings/mux/mux.h>
> > syscon@1000 {
> > - compatible = "fsl,imx7d-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
> > reg = <0x1000 0x100>;
>
> Is leaving no compatible the correct solution here?

Documenting iomuxc-gpr is really the right one, but as I said it is a
mess and I'm not touching that.

But compatible is not really important in terms of what the example
shows.

> Do we have another (working) platform that we can use in its place?

Not one for video muxing that I'm aware of.

> Does it make sense to leave the "syscon" and "simple-mfd" entries?

No, because we don't allow those on their own.

Rob

2022-04-27 11:24:17

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: Drop undocumented i.MX iomuxc-gpr bindings in examples

On Tue, 26 Apr 2022, Rob Herring wrote:

> On Mon, Apr 25, 2022 at 08:58:10AM +0100, Lee Jones wrote:
> > On Fri, 22 Apr 2022, Rob Herring wrote:
> >
> > > The i.MX iomuxc-gpr bindings are undocumented and a mess. Drop their use
> > > from the examples.
> > >
> > > The problem with the binding beyond the just random variations is that
> > > the iomuxc-gpr is not a separate block, but registers within the iomuxc
> > > block containing random leftover controls. As a separate DT node, it
> > > creates nodes with overlapping memory addresses.
> > >
> > > Signed-off-by: Rob Herring <[email protected]>
> > > ---
> > > Documentation/devicetree/bindings/mfd/syscon.yaml | 8 --------
> > > Documentation/devicetree/bindings/mux/reg-mux.yaml | 1 -
> > > 2 files changed, 9 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > index 13baa452cc9d..fb784045013f 100644
> > > --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > @@ -100,12 +100,4 @@ examples:
> > > compatible = "allwinner,sun8i-h3-system-controller", "syscon";
> > > reg = <0x01c00000 0x1000>;
> > > };
> > > -
> > > - - |
> > > - gpr: iomuxc-gpr@20e0000 {
> > > - compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
> > > - reg = <0x020e0000 0x38>;
> > > - hwlocks = <&hwlock1 1>;
> > > - };
> > > -
> > > ...
> > > diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > > index 60d5746eb39d..df4db96b5391 100644
> > > --- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > > +++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> > > @@ -96,7 +96,6 @@ examples:
> > >
> > > #include <dt-bindings/mux/mux.h>
> > > syscon@1000 {
> > > - compatible = "fsl,imx7d-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
> > > reg = <0x1000 0x100>;
> >
> > Is leaving no compatible the correct solution here?
>
> Documenting iomuxc-gpr is really the right one, but as I said it is a
> mess and I'm not touching that.
>
> But compatible is not really important in terms of what the example
> shows.
>
> > Do we have another (working) platform that we can use in its place?
>
> Not one for video muxing that I'm aware of.
>
> > Does it make sense to leave the "syscon" and "simple-mfd" entries?
>
> No, because we don't allow those on their own.

Very well. I applied this for now.

... pending any fall-out from the Mux Maintainer. :)

--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog