diff mbox series

[v2,1/1] dt-bindings: board: convert fsl-board.txt to yaml

Message ID 20240813163638.3889778-1-Frank.Li@nxp.com (mailing list archive)
State In Next, archived
Headers show
Series [v2,1/1] dt-bindings: board: convert fsl-board.txt to yaml | expand

Commit Message

Frank Li Aug. 13, 2024, 4:36 p.m. UTC
Convert binding doc fsl-board.txt to yaml format. split to 3 part
fsl,bcsr.yaml, fsl,fpga-qixis.yaml, fsl,fpga-qixis-i2c.yaml

Additional change for fsl,fpga-qixis.yaml
- Add childnode mdio-mux-emi*
- Add compatible string fsl,ls1043aqds-fpga, fsl,ls1043ardb-fpga,
fsl,ls1046aqds-fpga, fsl,ls1046ardb-fpga, fsl,ls208xaqds-fpga,
fsl,ls1043ardb-cpld, fsl,ls1046ardb-cpld, fsl,ls1088aqds-fpga,
fsl,ls1088ardb-fpga, fsl,ls2080aqds-fpga, fsl,ls2080ardb-fpga.
- Change address to 32bit in example.

Additional change for fsl,fpga-qixis-i2c.yaml
- Add mux-controller
- Add compatible string fsl,ls1028aqds-fpga, fsl,lx2160aqds-fpga

Fix below warning:

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb: /soc/i2c@2000000/fpga@66: failed to match any schema with compatible: ['fsl,ls1028aqds-fpga', 'fsl,fpga-qixis-i2c', 'simple-mfd']

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Change from v1 to v2
- drop description in fsl,bcsr.yaml
- bsc9132qds is too old, their dts have not simple-mfd.
- split qixis-i2c compatible to two group, one with simple-mfd and the
other one without simple-mfd.
- Add new full example for ls1028
- Remove [0-9], keep @ for mdio-mux-emi. Dts need be update to avoid
warning
- fix typo dt-binding in subject
---
 .../devicetree/bindings/board/fsl,bcsr.yaml   | 32 ++++++++
 .../bindings/board/fsl,fpga-qixis-i2c.yaml    | 70 ++++++++++++++++
 .../bindings/board/fsl,fpga-qixis.yaml        | 81 +++++++++++++++++++
 .../devicetree/bindings/board/fsl-board.txt   | 81 -------------------
 .../boot/dts/freescale/fsl-ls1043a-qds.dts    |  2 +-
 5 files changed, 184 insertions(+), 82 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/board/fsl,bcsr.yaml
 create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
 create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
 delete mode 100644 Documentation/devicetree/bindings/board/fsl-board.txt

Comments

Rob Herring (Arm) Aug. 16, 2024, 9:27 p.m. UTC | #1
On Tue, Aug 13, 2024 at 12:36:29PM -0400, Frank Li wrote:
> Convert binding doc fsl-board.txt to yaml format. split to 3 part
> fsl,bcsr.yaml, fsl,fpga-qixis.yaml, fsl,fpga-qixis-i2c.yaml
> 
> Additional change for fsl,fpga-qixis.yaml
> - Add childnode mdio-mux-emi*
> - Add compatible string fsl,ls1043aqds-fpga, fsl,ls1043ardb-fpga,
> fsl,ls1046aqds-fpga, fsl,ls1046ardb-fpga, fsl,ls208xaqds-fpga,
> fsl,ls1043ardb-cpld, fsl,ls1046ardb-cpld, fsl,ls1088aqds-fpga,
> fsl,ls1088ardb-fpga, fsl,ls2080aqds-fpga, fsl,ls2080ardb-fpga.
> - Change address to 32bit in example.
> 
> Additional change for fsl,fpga-qixis-i2c.yaml
> - Add mux-controller
> - Add compatible string fsl,ls1028aqds-fpga, fsl,lx2160aqds-fpga
> 
> Fix below warning:
> 
> arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb: /soc/i2c@2000000/fpga@66: failed to match any schema with compatible: ['fsl,ls1028aqds-fpga', 'fsl,fpga-qixis-i2c', 'simple-mfd']
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> Change from v1 to v2
> - drop description in fsl,bcsr.yaml
> - bsc9132qds is too old, their dts have not simple-mfd.
> - split qixis-i2c compatible to two group, one with simple-mfd and the
> other one without simple-mfd.
> - Add new full example for ls1028
> - Remove [0-9], keep @ for mdio-mux-emi. Dts need be update to avoid
> warning
> - fix typo dt-binding in subject
> ---
>  .../devicetree/bindings/board/fsl,bcsr.yaml   | 32 ++++++++
>  .../bindings/board/fsl,fpga-qixis-i2c.yaml    | 70 ++++++++++++++++
>  .../bindings/board/fsl,fpga-qixis.yaml        | 81 +++++++++++++++++++
>  .../devicetree/bindings/board/fsl-board.txt   | 81 -------------------
>  .../boot/dts/freescale/fsl-ls1043a-qds.dts    |  2 +-
>  5 files changed, 184 insertions(+), 82 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,bcsr.yaml
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
>  delete mode 100644 Documentation/devicetree/bindings/board/fsl-board.txt
> 
> diff --git a/Documentation/devicetree/bindings/board/fsl,bcsr.yaml b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> new file mode 100644
> index 0000000000000..df3dd8399671f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> @@ -0,0 +1,32 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/board/fsl,bcsr.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Board Control and Status
> +
> +maintainers:
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - fsl,mpc8360mds-bcsr
> +
> +  reg:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    board@f8000000 {
> +        compatible = "fsl,mpc8360mds-bcsr";
> +        reg = <0xf8000000 0x8000>;
> +    };
> +
> diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> new file mode 100644
> index 0000000000000..28b37772fb656
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale on-board FPGA connected on I2C bus
> +
> +maintainers:
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - enum:
> +              - fsl,bsc9132qds-fpga
> +          - const: fsl,fpga-qixis-i2c
> +      - items:
> +          - enum:
> +              - fsl,ls1028aqds-fpga
> +              - fsl,lx2160aqds-fpga
> +          - const: fsl,fpga-qixis-i2c
> +          - const: simple-mfd
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  reg:
> +    maxItems: 1
> +
> +  mux-controller:
> +    $ref: /schemas/mux/reg-mux.yaml
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        board-control@66 {
> +            compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
> +            reg = <0x66>;
> +        };
> +    };
> +
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        board-control@66 {
> +            compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
> +                         "simple-mfd";
> +            reg = <0x66>;
> +
> +            mux-controller {
> +                compatible = "reg-mux";
> +                #mux-control-cells = <1>;
> +                mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
> +            };
> +        };
> +    };
> +
> diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> new file mode 100644
> index 0000000000000..4d4eb45ce64cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale on-board FPGA/CPLD
> +
> +maintainers:
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: fsl,p1022ds-fpga
> +          - const: fsl,fpga-ngpixis
> +      - items:
> +          - enum:
> +              - fsl,ls1088aqds-fpga
> +              - fsl,ls1088ardb-fpga
> +              - fsl,ls2080aqds-fpga
> +              - fsl,ls2080ardb-fpga
> +          - const: fsl,fpga-qixis
> +      - items:
> +          - enum:
> +              - fsl,ls1043aqds-fpga
> +              - fsl,ls1043ardb-fpga
> +              - fsl,ls1046aqds-fpga
> +              - fsl,ls1046ardb-fpga
> +              - fsl,ls208xaqds-fpga
> +          - const: fsl,fpga-qixis
> +          - const: simple-mfd
> +      - enum:
> +          - fsl,ls1043ardb-cpld
> +          - fsl,ls1046ardb-cpld
> +          - fsl,t1040rdb-cpld
> +          - fsl,t1042rdb-cpld
> +          - fsl,t1042rdb_pi-cpld
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 1
> +
> +  ranges:
> +    maxItems: 1
> +
> +patternProperties:
> +  '^mdio-mux-emi@[a-f0-9]+$':

If we're going to update the dts file, this should be 'mdio-mux@'. I'll 
fix this when applying. The rest looks good.

Note that p5040ds.dts has 2 nodes at the same reg address, but different 
bit offsets. The way we handle that is adding the register starting bit 
offset to the unit-address like this:

mdio-mux@9,1 (mux-mask 0x6)
mdio-mux@9,3 (mux-mask 0x78)

Rob
Rob Herring (Arm) Aug. 16, 2024, 9:27 p.m. UTC | #2
On Tue, 13 Aug 2024 12:36:29 -0400, Frank Li wrote:
> Convert binding doc fsl-board.txt to yaml format. split to 3 part
> fsl,bcsr.yaml, fsl,fpga-qixis.yaml, fsl,fpga-qixis-i2c.yaml
> 
> Additional change for fsl,fpga-qixis.yaml
> - Add childnode mdio-mux-emi*
> - Add compatible string fsl,ls1043aqds-fpga, fsl,ls1043ardb-fpga,
> fsl,ls1046aqds-fpga, fsl,ls1046ardb-fpga, fsl,ls208xaqds-fpga,
> fsl,ls1043ardb-cpld, fsl,ls1046ardb-cpld, fsl,ls1088aqds-fpga,
> fsl,ls1088ardb-fpga, fsl,ls2080aqds-fpga, fsl,ls2080ardb-fpga.
> - Change address to 32bit in example.
> 
> Additional change for fsl,fpga-qixis-i2c.yaml
> - Add mux-controller
> - Add compatible string fsl,ls1028aqds-fpga, fsl,lx2160aqds-fpga
> 
> Fix below warning:
> 
> arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb: /soc/i2c@2000000/fpga@66: failed to match any schema with compatible: ['fsl,ls1028aqds-fpga', 'fsl,fpga-qixis-i2c', 'simple-mfd']
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> Change from v1 to v2
> - drop description in fsl,bcsr.yaml
> - bsc9132qds is too old, their dts have not simple-mfd.
> - split qixis-i2c compatible to two group, one with simple-mfd and the
> other one without simple-mfd.
> - Add new full example for ls1028
> - Remove [0-9], keep @ for mdio-mux-emi. Dts need be update to avoid
> warning
> - fix typo dt-binding in subject
> ---
>  .../devicetree/bindings/board/fsl,bcsr.yaml   | 32 ++++++++
>  .../bindings/board/fsl,fpga-qixis-i2c.yaml    | 70 ++++++++++++++++
>  .../bindings/board/fsl,fpga-qixis.yaml        | 81 +++++++++++++++++++
>  .../devicetree/bindings/board/fsl-board.txt   | 81 -------------------
>  .../boot/dts/freescale/fsl-ls1043a-qds.dts    |  2 +-
>  5 files changed, 184 insertions(+), 82 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,bcsr.yaml
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
>  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
>  delete mode 100644 Documentation/devicetree/bindings/board/fsl-board.txt
> 

Applied, thanks!
Frank Li Aug. 16, 2024, 10:04 p.m. UTC | #3
On Fri, Aug 16, 2024 at 03:27:41PM -0600, Rob Herring wrote:
> On Tue, Aug 13, 2024 at 12:36:29PM -0400, Frank Li wrote:
> > Convert binding doc fsl-board.txt to yaml format. split to 3 part
> > fsl,bcsr.yaml, fsl,fpga-qixis.yaml, fsl,fpga-qixis-i2c.yaml
> >
> > Additional change for fsl,fpga-qixis.yaml
> > - Add childnode mdio-mux-emi*
> > - Add compatible string fsl,ls1043aqds-fpga, fsl,ls1043ardb-fpga,
> > fsl,ls1046aqds-fpga, fsl,ls1046ardb-fpga, fsl,ls208xaqds-fpga,
> > fsl,ls1043ardb-cpld, fsl,ls1046ardb-cpld, fsl,ls1088aqds-fpga,
> > fsl,ls1088ardb-fpga, fsl,ls2080aqds-fpga, fsl,ls2080ardb-fpga.
> > - Change address to 32bit in example.
> >
> > Additional change for fsl,fpga-qixis-i2c.yaml
> > - Add mux-controller
> > - Add compatible string fsl,ls1028aqds-fpga, fsl,lx2160aqds-fpga
> >
> > Fix below warning:
> >
> > arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb: /soc/i2c@2000000/fpga@66: failed to match any schema with compatible: ['fsl,ls1028aqds-fpga', 'fsl,fpga-qixis-i2c', 'simple-mfd']
> >
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> > Change from v1 to v2
> > - drop description in fsl,bcsr.yaml
> > - bsc9132qds is too old, their dts have not simple-mfd.
> > - split qixis-i2c compatible to two group, one with simple-mfd and the
> > other one without simple-mfd.
> > - Add new full example for ls1028
> > - Remove [0-9], keep @ for mdio-mux-emi. Dts need be update to avoid
> > warning
> > - fix typo dt-binding in subject
> > ---
> >  .../devicetree/bindings/board/fsl,bcsr.yaml   | 32 ++++++++
> >  .../bindings/board/fsl,fpga-qixis-i2c.yaml    | 70 ++++++++++++++++
> >  .../bindings/board/fsl,fpga-qixis.yaml        | 81 +++++++++++++++++++
> >  .../devicetree/bindings/board/fsl-board.txt   | 81 -------------------
> >  .../boot/dts/freescale/fsl-ls1043a-qds.dts    |  2 +-
> >  5 files changed, 184 insertions(+), 82 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> >  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> >  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/board/fsl-board.txt
> >
> > diff --git a/Documentation/devicetree/bindings/board/fsl,bcsr.yaml b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> > new file mode 100644
> > index 0000000000000..df3dd8399671f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> > @@ -0,0 +1,32 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/board/fsl,bcsr.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Board Control and Status
> > +
> > +maintainers:
> > +  - Frank Li <Frank.Li@nxp.com>
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - fsl,mpc8360mds-bcsr
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    board@f8000000 {
> > +        compatible = "fsl,mpc8360mds-bcsr";
> > +        reg = <0xf8000000 0x8000>;
> > +    };
> > +
> > diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > new file mode 100644
> > index 0000000000000..28b37772fb656
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > @@ -0,0 +1,70 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale on-board FPGA connected on I2C bus
> > +
> > +maintainers:
> > +  - Frank Li <Frank.Li@nxp.com>
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - enum:
> > +              - fsl,bsc9132qds-fpga
> > +          - const: fsl,fpga-qixis-i2c
> > +      - items:
> > +          - enum:
> > +              - fsl,ls1028aqds-fpga
> > +              - fsl,lx2160aqds-fpga
> > +          - const: fsl,fpga-qixis-i2c
> > +          - const: simple-mfd
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  mux-controller:
> > +    $ref: /schemas/mux/reg-mux.yaml
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    i2c {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        board-control@66 {
> > +            compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
> > +            reg = <0x66>;
> > +        };
> > +    };
> > +
> > +  - |
> > +    i2c {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        board-control@66 {
> > +            compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
> > +                         "simple-mfd";
> > +            reg = <0x66>;
> > +
> > +            mux-controller {
> > +                compatible = "reg-mux";
> > +                #mux-control-cells = <1>;
> > +                mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
> > +            };
> > +        };
> > +    };
> > +
> > diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> > new file mode 100644
> > index 0000000000000..4d4eb45ce64cd
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> > @@ -0,0 +1,81 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale on-board FPGA/CPLD
> > +
> > +maintainers:
> > +  - Frank Li <Frank.Li@nxp.com>
> > +
> > +properties:
> > +  compatible:
> > +    oneOf:
> > +      - items:
> > +          - const: fsl,p1022ds-fpga
> > +          - const: fsl,fpga-ngpixis
> > +      - items:
> > +          - enum:
> > +              - fsl,ls1088aqds-fpga
> > +              - fsl,ls1088ardb-fpga
> > +              - fsl,ls2080aqds-fpga
> > +              - fsl,ls2080ardb-fpga
> > +          - const: fsl,fpga-qixis
> > +      - items:
> > +          - enum:
> > +              - fsl,ls1043aqds-fpga
> > +              - fsl,ls1043ardb-fpga
> > +              - fsl,ls1046aqds-fpga
> > +              - fsl,ls1046ardb-fpga
> > +              - fsl,ls208xaqds-fpga
> > +          - const: fsl,fpga-qixis
> > +          - const: simple-mfd
> > +      - enum:
> > +          - fsl,ls1043ardb-cpld
> > +          - fsl,ls1046ardb-cpld
> > +          - fsl,t1040rdb-cpld
> > +          - fsl,t1042rdb-cpld
> > +          - fsl,t1042rdb_pi-cpld
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  "#address-cells":
> > +    const: 1
> > +
> > +  "#size-cells":
> > +    const: 1
> > +
> > +  ranges:
> > +    maxItems: 1
> > +
> > +patternProperties:
> > +  '^mdio-mux-emi@[a-f0-9]+$':
>
> If we're going to update the dts file, this should be 'mdio-mux@'. I'll
> fix this when applying. The rest looks good.

Thanks, I will fix dts in v2 3nrd clean up patchset.

Frank

>
> Note that p5040ds.dts has 2 nodes at the same reg address, but different
> bit offsets. The way we handle that is adding the register starting bit
> offset to the unit-address like this:
>
> mdio-mux@9,1 (mux-mask 0x6)
> mdio-mux@9,3 (mux-mask 0x78)
>
> Rob
Rob Herring (Arm) Aug. 16, 2024, 10:09 p.m. UTC | #4
On Fri, Aug 16, 2024 at 4:04 PM Frank Li <Frank.li@nxp.com> wrote:
>
> On Fri, Aug 16, 2024 at 03:27:41PM -0600, Rob Herring wrote:
> > On Tue, Aug 13, 2024 at 12:36:29PM -0400, Frank Li wrote:
> > > Convert binding doc fsl-board.txt to yaml format. split to 3 part
> > > fsl,bcsr.yaml, fsl,fpga-qixis.yaml, fsl,fpga-qixis-i2c.yaml
> > >
> > > Additional change for fsl,fpga-qixis.yaml
> > > - Add childnode mdio-mux-emi*
> > > - Add compatible string fsl,ls1043aqds-fpga, fsl,ls1043ardb-fpga,
> > > fsl,ls1046aqds-fpga, fsl,ls1046ardb-fpga, fsl,ls208xaqds-fpga,
> > > fsl,ls1043ardb-cpld, fsl,ls1046ardb-cpld, fsl,ls1088aqds-fpga,
> > > fsl,ls1088ardb-fpga, fsl,ls2080aqds-fpga, fsl,ls2080ardb-fpga.
> > > - Change address to 32bit in example.
> > >
> > > Additional change for fsl,fpga-qixis-i2c.yaml
> > > - Add mux-controller
> > > - Add compatible string fsl,ls1028aqds-fpga, fsl,lx2160aqds-fpga
> > >
> > > Fix below warning:
> > >
> > > arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb: /soc/i2c@2000000/fpga@66: failed to match any schema with compatible: ['fsl,ls1028aqds-fpga', 'fsl,fpga-qixis-i2c', 'simple-mfd']
> > >
> > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > ---
> > > Change from v1 to v2
> > > - drop description in fsl,bcsr.yaml
> > > - bsc9132qds is too old, their dts have not simple-mfd.
> > > - split qixis-i2c compatible to two group, one with simple-mfd and the
> > > other one without simple-mfd.
> > > - Add new full example for ls1028
> > > - Remove [0-9], keep @ for mdio-mux-emi. Dts need be update to avoid
> > > warning
> > > - fix typo dt-binding in subject
> > > ---
> > >  .../devicetree/bindings/board/fsl,bcsr.yaml   | 32 ++++++++
> > >  .../bindings/board/fsl,fpga-qixis-i2c.yaml    | 70 ++++++++++++++++
> > >  .../bindings/board/fsl,fpga-qixis.yaml        | 81 +++++++++++++++++++
> > >  .../devicetree/bindings/board/fsl-board.txt   | 81 -------------------
> > >  .../boot/dts/freescale/fsl-ls1043a-qds.dts    |  2 +-

Add this part to your clean-up patch.

> > >  5 files changed, 184 insertions(+), 82 deletions(-)
> > >  create mode 100644 Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> > >  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > >  create mode 100644 Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> > >  delete mode 100644 Documentation/devicetree/bindings/board/fsl-board.txt
> > >
> > > diff --git a/Documentation/devicetree/bindings/board/fsl,bcsr.yaml b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> > > new file mode 100644
> > > index 0000000000000..df3dd8399671f
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
> > > @@ -0,0 +1,32 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/board/fsl,bcsr.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Board Control and Status
> > > +
> > > +maintainers:
> > > +  - Frank Li <Frank.Li@nxp.com>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - fsl,mpc8360mds-bcsr
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    board@f8000000 {
> > > +        compatible = "fsl,mpc8360mds-bcsr";
> > > +        reg = <0xf8000000 0x8000>;
> > > +    };
> > > +
> > > diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > > new file mode 100644
> > > index 0000000000000..28b37772fb656
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
> > > @@ -0,0 +1,70 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Freescale on-board FPGA connected on I2C bus
> > > +
> > > +maintainers:
> > > +  - Frank Li <Frank.Li@nxp.com>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    oneOf:
> > > +      - items:
> > > +          - enum:
> > > +              - fsl,bsc9132qds-fpga
> > > +          - const: fsl,fpga-qixis-i2c
> > > +      - items:
> > > +          - enum:
> > > +              - fsl,ls1028aqds-fpga
> > > +              - fsl,lx2160aqds-fpga
> > > +          - const: fsl,fpga-qixis-i2c
> > > +          - const: simple-mfd
> > > +
> > > +  interrupts:
> > > +    maxItems: 1
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  mux-controller:
> > > +    $ref: /schemas/mux/reg-mux.yaml
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    i2c {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        board-control@66 {
> > > +            compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
> > > +            reg = <0x66>;
> > > +        };
> > > +    };
> > > +
> > > +  - |
> > > +    i2c {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        board-control@66 {
> > > +            compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
> > > +                         "simple-mfd";
> > > +            reg = <0x66>;
> > > +
> > > +            mux-controller {
> > > +                compatible = "reg-mux";
> > > +                #mux-control-cells = <1>;
> > > +                mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
> > > +            };
> > > +        };
> > > +    };
> > > +
> > > diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> > > new file mode 100644
> > > index 0000000000000..4d4eb45ce64cd
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
> > > @@ -0,0 +1,81 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Freescale on-board FPGA/CPLD
> > > +
> > > +maintainers:
> > > +  - Frank Li <Frank.Li@nxp.com>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    oneOf:
> > > +      - items:
> > > +          - const: fsl,p1022ds-fpga
> > > +          - const: fsl,fpga-ngpixis
> > > +      - items:
> > > +          - enum:
> > > +              - fsl,ls1088aqds-fpga
> > > +              - fsl,ls1088ardb-fpga
> > > +              - fsl,ls2080aqds-fpga
> > > +              - fsl,ls2080ardb-fpga
> > > +          - const: fsl,fpga-qixis
> > > +      - items:
> > > +          - enum:
> > > +              - fsl,ls1043aqds-fpga
> > > +              - fsl,ls1043ardb-fpga
> > > +              - fsl,ls1046aqds-fpga
> > > +              - fsl,ls1046ardb-fpga
> > > +              - fsl,ls208xaqds-fpga
> > > +          - const: fsl,fpga-qixis
> > > +          - const: simple-mfd
> > > +      - enum:
> > > +          - fsl,ls1043ardb-cpld
> > > +          - fsl,ls1046ardb-cpld
> > > +          - fsl,t1040rdb-cpld
> > > +          - fsl,t1042rdb-cpld
> > > +          - fsl,t1042rdb_pi-cpld
> > > +
> > > +  interrupts:
> > > +    maxItems: 1
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  "#address-cells":
> > > +    const: 1
> > > +
> > > +  "#size-cells":
> > > +    const: 1
> > > +
> > > +  ranges:
> > > +    maxItems: 1
> > > +
> > > +patternProperties:
> > > +  '^mdio-mux-emi@[a-f0-9]+$':
> >
> > If we're going to update the dts file, this should be 'mdio-mux@'. I'll
> > fix this when applying. The rest looks good.
>
> Thanks, I will fix dts in v2 3nrd clean up patchset.
>
> Frank
>
> >
> > Note that p5040ds.dts has 2 nodes at the same reg address, but different
> > bit offsets. The way we handle that is adding the register starting bit
> > offset to the unit-address like this:
> >
> > mdio-mux@9,1 (mux-mask 0x6)
> > mdio-mux@9,3 (mux-mask 0x78)
> >
> > Rob
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/board/fsl,bcsr.yaml b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
new file mode 100644
index 0000000000000..df3dd8399671f
--- /dev/null
+++ b/Documentation/devicetree/bindings/board/fsl,bcsr.yaml
@@ -0,0 +1,32 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/board/fsl,bcsr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Board Control and Status
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+properties:
+  compatible:
+    enum:
+      - fsl,mpc8360mds-bcsr
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    board@f8000000 {
+        compatible = "fsl,mpc8360mds-bcsr";
+        reg = <0xf8000000 0x8000>;
+    };
+
diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
new file mode 100644
index 0000000000000..28b37772fb656
--- /dev/null
+++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
@@ -0,0 +1,70 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale on-board FPGA connected on I2C bus
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - fsl,bsc9132qds-fpga
+          - const: fsl,fpga-qixis-i2c
+      - items:
+          - enum:
+              - fsl,ls1028aqds-fpga
+              - fsl,lx2160aqds-fpga
+          - const: fsl,fpga-qixis-i2c
+          - const: simple-mfd
+
+  interrupts:
+    maxItems: 1
+
+  reg:
+    maxItems: 1
+
+  mux-controller:
+    $ref: /schemas/mux/reg-mux.yaml
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        board-control@66 {
+            compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
+            reg = <0x66>;
+        };
+    };
+
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        board-control@66 {
+            compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
+                         "simple-mfd";
+            reg = <0x66>;
+
+            mux-controller {
+                compatible = "reg-mux";
+                #mux-control-cells = <1>;
+                mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
+            };
+        };
+    };
+
diff --git a/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
new file mode 100644
index 0000000000000..4d4eb45ce64cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
@@ -0,0 +1,81 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale on-board FPGA/CPLD
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: fsl,p1022ds-fpga
+          - const: fsl,fpga-ngpixis
+      - items:
+          - enum:
+              - fsl,ls1088aqds-fpga
+              - fsl,ls1088ardb-fpga
+              - fsl,ls2080aqds-fpga
+              - fsl,ls2080ardb-fpga
+          - const: fsl,fpga-qixis
+      - items:
+          - enum:
+              - fsl,ls1043aqds-fpga
+              - fsl,ls1043ardb-fpga
+              - fsl,ls1046aqds-fpga
+              - fsl,ls1046ardb-fpga
+              - fsl,ls208xaqds-fpga
+          - const: fsl,fpga-qixis
+          - const: simple-mfd
+      - enum:
+          - fsl,ls1043ardb-cpld
+          - fsl,ls1046ardb-cpld
+          - fsl,t1040rdb-cpld
+          - fsl,t1042rdb-cpld
+          - fsl,t1042rdb_pi-cpld
+
+  interrupts:
+    maxItems: 1
+
+  reg:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges:
+    maxItems: 1
+
+patternProperties:
+  '^mdio-mux-emi@[a-f0-9]+$':
+    $ref: /schemas/net/mdio-mux-mmioreg.yaml
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    board-control@3 {
+        compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
+        reg = <3 0x30>;
+        interrupt-parent = <&mpic>;
+        interrupts = <8 IRQ_TYPE_LEVEL_LOW 0 0>;
+    };
+
+  - |
+    board-control@3 {
+        compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis";
+        reg = <0x3 0x10000>;
+    };
+
diff --git a/Documentation/devicetree/bindings/board/fsl-board.txt b/Documentation/devicetree/bindings/board/fsl-board.txt
deleted file mode 100644
index 9cde570159219..0000000000000
--- a/Documentation/devicetree/bindings/board/fsl-board.txt
+++ /dev/null
@@ -1,81 +0,0 @@ 
-Freescale Reference Board Bindings
-
-This document describes device tree bindings for various devices that
-exist on some Freescale reference boards.
-
-* Board Control and Status (BCSR)
-
-Required properties:
-
- - compatible : Should be "fsl,<board>-bcsr"
- - reg : Offset and length of the register set for the device
-
-Example:
-
-	bcsr@f8000000 {
-		compatible = "fsl,mpc8360mds-bcsr";
-		reg = <f8000000 8000>;
-	};
-
-* Freescale on-board FPGA
-
-This is the memory-mapped registers for on board FPGA.
-
-Required properties:
-- compatible: should be a board-specific string followed by a string
-  indicating the type of FPGA.  Example:
-	"fsl,<board>-fpga", "fsl,fpga-pixis", or
-	"fsl,<board>-fpga", "fsl,fpga-qixis"
-- reg: should contain the address and the length of the FPGA register set.
-
-Optional properties:
-- interrupts: should specify event (wakeup) IRQ.
-
-Example (P1022DS):
-
-	 board-control@3,0 {
-		 compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
-		 reg = <3 0 0x30>;
-		 interrupt-parent = <&mpic>;
-		 interrupts = <8 8 0 0>;
-	 };
-
-Example (LS2080A-RDB):
-
-        cpld@3,0 {
-                compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis";
-                reg = <0x3 0 0x10000>;
-        };
-
-* Freescale on-board FPGA connected on I2C bus
-
-Some Freescale boards like BSC9132QDS have on board FPGA connected on
-the i2c bus.
-
-Required properties:
-- compatible: Should be a board-specific string followed by a string
-  indicating the type of FPGA.  Example:
-	"fsl,<board>-fpga", "fsl,fpga-qixis-i2c"
-- reg: Should contain the address of the FPGA
-
-Example:
-	fpga: fpga@66 {
-		compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c";
-		reg = <0x66>;
-	};
-
-* Freescale on-board CPLD
-
-Some Freescale boards like T1040RDB have an on board CPLD connected.
-
-Required properties:
-- compatible: Should be a board-specific string like "fsl,<board>-cpld"
-  Example:
-	"fsl,t1040rdb-cpld", "fsl,t1042rdb-cpld", "fsl,t1042rdb_pi-cpld"
-- reg: should describe CPLD registers
-
-Example:
-	cpld@3,0 {
-		compatible = "fsl,t1040rdb-cpld";
-		reg = <3 0 0x300>;
-	};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
index 11b1356e95d5b..697c5b3beea9d 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
@@ -211,7 +211,7 @@  ethernet@f0000 { /* DTSEC9/10GEC1 */
 };
 
 &fpga {
-	mdio-mux-emi1@54 {
+	mdio-mux-emi@54 {
 		compatible = "mdio-mux-mmioreg", "mdio-mux";
 		mdio-parent-bus = <&mdio0>;
 		#address-cells = <1>;