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@xxxxxxx> > --- > 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@xxxxxxx> > + > +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@xxxxxxx> > + > +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@xxxxxxx> > + > +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