On Sun, Jan 26, 2025 at 07:59:04PM +0100, J. Neuschäfer wrote: > Convert the Freescale localbus controller bindings from text form to > YAML. The list of compatible strings reflects current usage. simple-bus and 20 other compatibles you used were not present in the original binding. Does above "list of compatible strings" mean you just added them? > > Changes compared to the txt version: > - removed the board-control (fsl,mpc8272ads-bcsr) node because it only > appears in this example and nowhere else > - added a new example with NAND flash > > Remaining issues: > - The localbus is not really a simple-bus: Unit addresses are not simply > addresses on a memory bus. Instead, they have a format: The first cell > is a chip select number, the remaining one or two cells are bus > addresses. > > Signed-off-by: J. Neuschäfer <j.ne@xxxxxxxxxx> > --- > .../devicetree/bindings/mtd/fsl,elbc-fcm-nand.yaml | 61 +++++++++ > .../bindings/powerpc/fsl/fsl,elbc-gpcm-uio.yaml | 55 ++++++++ Please split the conversion from adding new bindings. For example above file and its compatible fsl,elbc-gpcm-uio was not documented in original TXT. ... > diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fsl,elbc.yaml b/Documentation/devicetree/bindings/powerpc/fsl/fsl,elbc.yaml > new file mode 100644 > index 0000000000000000000000000000000000000000..6bbceb82c77826499abe85879e9189b18d396eea > --- /dev/null > +++ b/Documentation/devicetree/bindings/powerpc/fsl/fsl,elbc.yaml > @@ -0,0 +1,150 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/powerpc/fsl/fsl,elbc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale Enhanced Local Bus Controller What sort of bus is it? Memory bus? Then place it with others, see memory directory. > + > +maintainers: > + - J. Neuschäfer <j.ne@xxxxxxxxxx> > + > +properties: > + $nodename: > + pattern: "^localbus@[0-9a-f]+$" > + > + compatible: > + oneOf: > + - items: > + - enum: > + - fsl,mpc8313-elbc > + - fsl,mpc8315-elbc > + - fsl,mpc8377-elbc > + - fsl,mpc8378-elbc > + - fsl,mpc8379-elbc > + - fsl,mpc8536-elbc > + - fsl,mpc8569-elbc > + - fsl,mpc8572-elbc > + - fsl,p1020-elbc > + - fsl,p1021-elbc > + - fsl,p1023-elbc > + - fsl,p2020-elbc > + - fsl,p2041-elbc > + - fsl,p3041-elbc > + - fsl,p4080-elbc > + - fsl,p5020-elbc > + - fsl,p5040-elbc > + - const: fsl,elbc > + - const: simple-bus > + > + - items: > + - const: fsl,mpc8272-localbus > + - const: fsl,pq2-localbus > + > + - items: > + - enum: > + - fsl,mpc8247-localbus > + - fsl,mpc8248-localbus > + - fsl,mpc8360-localbus > + - const: fsl,pq2pro-localbus > + - const: simple-bus > + > + - items: > + - enum: > + - fsl,mpc8540-localbus > + - fsl,mpc8544-lbc > + - fsl,mpc8544-localbus > + - fsl,mpc8548-lbc > + - fsl,mpc8548-localbus > + - fsl,mpc8560-localbus > + - fsl,mpc8568-localbus > + - const: fsl,pq3-localbus > + - const: simple-bus > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + "#address-cells": > + enum: [2, 3] > + description: | > + The first cell is the chipselect number, and the remaining cells are the > + offset into the chipselect. > + > + "#size-cells": > + enum: [1, 2] > + description: | > + Either one or two, depending on how large each chipselect can be. > + > + ranges: > + description: | > + Each range corresponds to a single chipselect, and covers the entire > + access window as configured. > + > +patternProperties: > + "^.*@.*$": > + type: object And probably you need > + > +additionalProperties: false > + > +examples: > + - | > + localbus@f0010100 { > + compatible = "fsl,mpc8272-localbus", > + "fsl,pq2-localbus"; > + #address-cells = <2>; > + #size-cells = <1>; > + reg = <0xf0010100 0x40>; compatible, then reg - see DTS coding style. > + > + ranges = <0x0 0x0 0xfe000000 0x02000000 > + 0x1 0x0 0xf4500000 0x00008000 > + 0x2 0x0 0xfd810000 0x00010000>; > + > + flash@0,0 { > + compatible = "jedec-flash"; > + reg = <0x0 0x0 0x2000000>; Well, here it is correct > + bank-width = <4>; > + device-width = <1>; > + }; > + > + simple-periph@2,0 { > + compatible = "fsl,elbc-gpcm-uio"; > + reg = <0x2 0x0 0x10000>; > + elbc-gpcm-br = <0xfd810800>; > + elbc-gpcm-or = <0xffff09f7>; > + }; > + }; > + > + - | > + localbus@e0005000 { compatible, reg > + #address-cells = <2>; > + #size-cells = <1>; > + compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus"; > + reg = <0xe0005000 0x1000>; > + interrupts = <77 0x8>; > + interrupt-parent = <&ipic>; > + > + ranges = <0x0 0x0 0xfe000000 0x00800000 > + 0x1 0x0 0xe0600000 0x00002000 > + 0x2 0x0 0xf0000000 0x00020000 > + 0x3 0x0 0xfa000000 0x00008000>; > + > + flash@0,0 { compatible, reg > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "cfi-flash"; > + reg = <0x0 0x0 0x800000>; > + bank-width = <2>; > + device-width = <1>; > + }; > + > + nand@1,0 { compatible, reg > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "fsl,mpc8315-fcm-nand", > + "fsl,elbc-fcm-nand"; > + reg = <0x1 0x0 0x2000>; > + }; Best regards, Krzysztof