On Fri, Aug 16, 2024 at 4:04 PM Frank Li <Frank.li@xxxxxxx> 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@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 +- 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@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. > > 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 >