2021-05-19 18:46:32

by Rob Herring

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: mfd: ti,j721e-system-controller: Fix mux node errors

The ti,j721e-system-controller binding does not follow the standard mux
controller node name 'mux-controller' and the example is incomplete. Fix
these to avoid schema errors before the mux controller binding is
converted to schema.

Cc: Lee Jones <[email protected]>
Cc: Kishon Vijay Abraham I <[email protected]>
Cc: Roger Quadros <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
.../mfd/ti,j721e-system-controller.yaml | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
index 19fcf59fd2fe..272832e9f8f2 100644
--- a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
@@ -43,12 +43,10 @@ properties:

patternProperties:
# Optional children
- "^serdes-ln-ctrl@[0-9a-f]+$":
+ "^mux-controller@[0-9a-f]+$":
type: object
- description: |
- This is the SERDES lane control mux. It should follow the bindings
- specified in
- Documentation/devicetree/bindings/mux/reg-mux.txt
+ description:
+ This is the SERDES lane control mux.

required:
- compatible
@@ -68,9 +66,18 @@ examples:
#size-cells = <1>;
ranges;

- serdes_ln_ctrl: serdes-ln-ctrl@4080 {
+ serdes_ln_ctrl: mux-controller@4080 {
compatible = "mmio-mux";
reg = <0x00004080 0x50>;
+
+ #mux-control-cells = <1>;
+ mux-reg-masks =
+ <0x4080 0x3>, <0x4084 0x3>, /* SERDES0 lane0/1 select */
+ <0x4090 0x3>, <0x4094 0x3>, /* SERDES1 lane0/1 select */
+ <0x40a0 0x3>, <0x40a4 0x3>, /* SERDES2 lane0/1 select */
+ <0x40b0 0x3>, <0x40b4 0x3>, /* SERDES3 lane0/1 select */
+ <0x40c0 0x3>, <0x40c4 0x3>, <0x40c8 0x3>, <0x40cc 0x3>;
+ /* SERDES4 lane0/1/2/3 select */
};
};
...
--
2.27.0



2021-05-19 20:11:59

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: ti,j721e-system-controller: Fix mux node errors

On Tue, 18 May 2021, Rob Herring wrote:

> The ti,j721e-system-controller binding does not follow the standard mux
> controller node name 'mux-controller' and the example is incomplete. Fix
> these to avoid schema errors before the mux controller binding is
> converted to schema.
>
> Cc: Lee Jones <[email protected]>
> Cc: Kishon Vijay Abraham I <[email protected]>
> Cc: Roger Quadros <[email protected]>

Would one of the original authors be kind enough to review please?

> Signed-off-by: Rob Herring <[email protected]>
> ---
> .../mfd/ti,j721e-system-controller.yaml | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> index 19fcf59fd2fe..272832e9f8f2 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> @@ -43,12 +43,10 @@ properties:
>
> patternProperties:
> # Optional children
> - "^serdes-ln-ctrl@[0-9a-f]+$":
> + "^mux-controller@[0-9a-f]+$":
> type: object
> - description: |
> - This is the SERDES lane control mux. It should follow the bindings
> - specified in
> - Documentation/devicetree/bindings/mux/reg-mux.txt
> + description:
> + This is the SERDES lane control mux.
>
> required:
> - compatible
> @@ -68,9 +66,18 @@ examples:
> #size-cells = <1>;
> ranges;
>
> - serdes_ln_ctrl: serdes-ln-ctrl@4080 {
> + serdes_ln_ctrl: mux-controller@4080 {
> compatible = "mmio-mux";
> reg = <0x00004080 0x50>;
> +
> + #mux-control-cells = <1>;
> + mux-reg-masks =
> + <0x4080 0x3>, <0x4084 0x3>, /* SERDES0 lane0/1 select */
> + <0x4090 0x3>, <0x4094 0x3>, /* SERDES1 lane0/1 select */
> + <0x40a0 0x3>, <0x40a4 0x3>, /* SERDES2 lane0/1 select */
> + <0x40b0 0x3>, <0x40b4 0x3>, /* SERDES3 lane0/1 select */
> + <0x40c0 0x3>, <0x40c4 0x3>, <0x40c8 0x3>, <0x40cc 0x3>;
> + /* SERDES4 lane0/1/2/3 select */
> };
> };
> ...

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

2021-05-21 05:58:33

by Kishon Vijay Abraham I

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: ti,j721e-system-controller: Fix mux node errors

Hi Rob,

On 19/05/21 4:58 am, Rob Herring wrote:
> The ti,j721e-system-controller binding does not follow the standard mux
> controller node name 'mux-controller' and the example is incomplete. Fix
> these to avoid schema errors before the mux controller binding is
> converted to schema.
>
> Cc: Lee Jones <[email protected]>
> Cc: Kishon Vijay Abraham I <[email protected]>
> Cc: Roger Quadros <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> .../mfd/ti,j721e-system-controller.yaml | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> index 19fcf59fd2fe..272832e9f8f2 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> @@ -43,12 +43,10 @@ properties:
>
> patternProperties:
> # Optional children
> - "^serdes-ln-ctrl@[0-9a-f]+$":
> + "^mux-controller@[0-9a-f]+$":
> type: object
> - description: |
> - This is the SERDES lane control mux. It should follow the bindings
> - specified in
> - Documentation/devicetree/bindings/mux/reg-mux.txt
> + description:
> + This is the SERDES lane control mux.
>
> required:
> - compatible
> @@ -68,9 +66,18 @@ examples:
> #size-cells = <1>;
> ranges;
>
> - serdes_ln_ctrl: serdes-ln-ctrl@4080 {
> + serdes_ln_ctrl: mux-controller@4080 {
> compatible = "mmio-mux";
> reg = <0x00004080 0x50>;

"mmio-mux" compatible doesn't define using "reg" property. But a system
can have multiple mux-controllers which would require us to use
mux-controller@0, mux-controller@1,..

And IIRC if we have "@", 'reg' will be a required required property.
Would it be an issue here?

Thanks
Kishon

2021-05-21 15:02:55

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: ti,j721e-system-controller: Fix mux node errors

On Thu, May 20, 2021 at 9:42 AM Kishon Vijay Abraham I <[email protected]> wrote:
>
> Hi Rob,
>
> On 19/05/21 4:58 am, Rob Herring wrote:
> > The ti,j721e-system-controller binding does not follow the standard mux
> > controller node name 'mux-controller' and the example is incomplete. Fix
> > these to avoid schema errors before the mux controller binding is
> > converted to schema.
> >
> > Cc: Lee Jones <[email protected]>
> > Cc: Kishon Vijay Abraham I <[email protected]>
> > Cc: Roger Quadros <[email protected]>
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > .../mfd/ti,j721e-system-controller.yaml | 19 +++++++++++++------
> > 1 file changed, 13 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> > index 19fcf59fd2fe..272832e9f8f2 100644
> > --- a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
> > @@ -43,12 +43,10 @@ properties:
> >
> > patternProperties:
> > # Optional children
> > - "^serdes-ln-ctrl@[0-9a-f]+$":
> > + "^mux-controller@[0-9a-f]+$":
> > type: object
> > - description: |
> > - This is the SERDES lane control mux. It should follow the bindings
> > - specified in
> > - Documentation/devicetree/bindings/mux/reg-mux.txt
> > + description:
> > + This is the SERDES lane control mux.
> >
> > required:
> > - compatible
> > @@ -68,9 +66,18 @@ examples:
> > #size-cells = <1>;
> > ranges;
> >
> > - serdes_ln_ctrl: serdes-ln-ctrl@4080 {
> > + serdes_ln_ctrl: mux-controller@4080 {
> > compatible = "mmio-mux";
> > reg = <0x00004080 0x50>;
>
> "mmio-mux" compatible doesn't define using "reg" property. But a system
> can have multiple mux-controllers which would require us to use
> mux-controller@0, mux-controller@1,..

It does now in patch 3 as part of the schema conversion. It's optional
as getting folks to use 'reg' for syscon child nodes is an uphill
battle.

Rob
>
> And IIRC if we have "@", 'reg' will be a required required property.
> Would it be an issue here?
>
> Thanks
> Kishon