Message ID | 20250412-ppcyaml-elbc-v5-4-03f0e577139f@posteo.net (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Freescale Enhanced Local Bus Controller (eLBC) binding YAML conversion | expand |
On Sat, 12 Apr 2025 15:16:05 +0200, J. Neuschäfer wrote: > Convert the Freescale localbus controller bindings from text form to > YAML. Compared to the .txt version, the YAML binding contains a new > usage example with FCM NAND flash, and a full list of compatible strings > based on current usage in arch/powerpc/boot/dts/. > > Note that the both the compatible strings and the unit address format > are kept as-is, for compatibility with existing kernels and device > trees, as well as unit address readability. This results in dts > validation warnings: > > Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0: > simple-bus unit address format error, expected "100000000" > > Signed-off-by: J. Neuschäfer <j.ne@posteo.net> > --- > > V5: > - fix reference to fsl/lbc.txt in > Documentation/devicetree/bindings/display/ssd1289fb.txt > > V4: > - no changes > > V3: > - move this patch after the GPCM/FCM patches to dtschema/dtc warnings > due to missing bindings for fsl,elbc-gpcm-uio and fsl,elbc-fcm-nand > - add "simple-bus" again, for compatibility with existing DTs/drivers > based on discussion with Crystal Wood and Rob Herring > - fix fsl,pq2-localbus compatible properties based on mgcoge.dts / ep8248e.dts > (was missing "simple-bus") > - add board-control (bcsr) example again, now using the compatible > string listed in Documentation/devicetree/bindings/board/fsl,bcsr.yaml > - remove interrupt-parent property from example > - rework the commit message > > V2: > - fix order of properties in examples, according to dts coding style > - move to Documentation/devicetree/bindings/memory-controllers > - clarify the commit message a tiny bit > - remove unnecessary multiline markers (|) > - define address format in patternProperties > - trim subject line (remove "binding") > - remove use of "simple-bus", because it's technically incorrect > --- > .../devicetree/bindings/display/ssd1289fb.txt | 2 +- > .../bindings/memory-controllers/fsl,elbc.yaml | 158 +++++++++++++++++++++ > .../devicetree/bindings/powerpc/fsl/lbc.txt | 43 ------ > 3 files changed, 159 insertions(+), 44 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:29.23-34.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/flash@0,0: simple-bus unit address format error, expected "0" Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:36.31-39.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/board-control@1,0: simple-bus unit address format error, expected "100000000" Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:41.31-46.15: Warning (simple_bus_reg): /example-0/localbus@f0010100/simple-periph@2,0: simple-bus unit address format error, expected "200000000" Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:82.23-89.15: Warning (simple_bus_reg): /example-1/localbus@e0005000/flash@0,0: simple-bus unit address format error, expected "0" Documentation/devicetree/bindings/memory-controllers/fsl,elbc.example.dts:91.22-97.15: Warning (simple_bus_reg): /example-1/localbus@e0005000/nand@1,0: simple-bus unit address format error, expected "100000000" doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250412-ppcyaml-elbc-v5-4-03f0e577139f@posteo.net The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
diff --git a/Documentation/devicetree/bindings/display/ssd1289fb.txt b/Documentation/devicetree/bindings/display/ssd1289fb.txt index 4fcd5e68cb6e005927f87c0c36d843de640de525..8cb59359352c6834aff73771ba2e12d0e4563ded 100644 --- a/Documentation/devicetree/bindings/display/ssd1289fb.txt +++ b/Documentation/devicetree/bindings/display/ssd1289fb.txt @@ -4,7 +4,7 @@ Required properties: - compatible: Should be "solomon,ssd1289fb". The only supported bus for now is lbc. - reg: Should contain address of the controller on the LBC bus. The detail - was described in Documentation/devicetree/bindings/powerpc/fsl/lbc.txt + was described in Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml Examples: display@2,0 { diff --git a/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..620d7e7c62df35c754a01498391d35ede03cdf87 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/fsl,elbc.yaml @@ -0,0 +1,158 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/memory-controllers/fsl,elbc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale Enhanced Local Bus Controller + +maintainers: + - J. Neuschäfer <j.ne@posteo.net> + +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: + - enum: + - fsl,mpc8247-localbus + - fsl,mpc8248-localbus + - fsl,mpc8272-localbus + - const: fsl,pq2-localbus + - const: simple-bus + + - 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: + # format: name@chipselect,address + "^.*@[0-9a-f]+,[0-9a-f]+$": + type: object + +additionalProperties: false + +examples: + - | + localbus@f0010100 { + compatible = "fsl,mpc8272-localbus", + "fsl,pq2-localbus", + "simple-bus"; + reg = <0xf0010100 0x40>; + ranges = <0x0 0x0 0xfe000000 0x02000000 + 0x1 0x0 0xf4500000 0x00008000 + 0x2 0x0 0xfd810000 0x00010000>; + #address-cells = <2>; + #size-cells = <1>; + + flash@0,0 { + compatible = "jedec-flash"; + reg = <0x0 0x0 0x2000000>; + bank-width = <4>; + device-width = <1>; + }; + + board-control@1,0 { + reg = <0x1 0x0 0x20>; + compatible = "fsl,mpc8360mds-bcsr"; + }; + + simple-periph@2,0 { + compatible = "fsl,elbc-gpcm-uio"; + reg = <0x2 0x0 0x10000>; + elbc-gpcm-br = <0xfd810800>; + elbc-gpcm-or = <0xffff09f7>; + }; + }; + + - | + localbus@e0005000 { + compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus"; + reg = <0xe0005000 0x1000>; + ranges = <0x0 0x0 0xfe000000 0x00800000 + 0x1 0x0 0xe0600000 0x00002000 + 0x2 0x0 0xf0000000 0x00020000 + 0x3 0x0 0xfa000000 0x00008000>; + #address-cells = <2>; + #size-cells = <1>; + interrupts = <77 0x8>; + + flash@0,0 { + compatible = "cfi-flash"; + reg = <0x0 0x0 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + bank-width = <2>; + device-width = <1>; + }; + + nand@1,0 { + compatible = "fsl,mpc8315-fcm-nand", + "fsl,elbc-fcm-nand"; + reg = <0x1 0x0 0x2000>; + #address-cells = <1>; + #size-cells = <1>; + }; + }; diff --git a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt b/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt deleted file mode 100644 index 1c80fcedebb52049721fbd61c4dd4c57133bd47c..0000000000000000000000000000000000000000 --- a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt +++ /dev/null @@ -1,43 +0,0 @@ -* Chipselect/Local Bus - -Properties: -- name : Should be localbus -- #address-cells : Should be either two or three. The first cell is the - chipselect number, and the remaining cells are the - offset into the chipselect. -- #size-cells : Either one or two, depending on how large each chipselect - can be. -- ranges : Each range corresponds to a single chipselect, and cover - the entire access window as configured. - -Example: - localbus@f0010100 { - compatible = "fsl,mpc8272-localbus", - "fsl,pq2-localbus"; - #address-cells = <2>; - #size-cells = <1>; - reg = <0xf0010100 0x40>; - - ranges = <0x0 0x0 0xfe000000 0x02000000 - 0x1 0x0 0xf4500000 0x00008000 - 0x2 0x0 0xfd810000 0x00010000>; - - flash@0,0 { - compatible = "jedec-flash"; - reg = <0x0 0x0 0x2000000>; - bank-width = <4>; - device-width = <1>; - }; - - board-control@1,0 { - reg = <0x1 0x0 0x20>; - compatible = "fsl,mpc8272ads-bcsr"; - }; - - simple-periph@2,0 { - compatible = "fsl,elbc-gpcm-uio"; - reg = <0x2 0x0 0x10000>; - elbc-gpcm-br = <0xfd810800>; - elbc-gpcm-or = <0xffff09f7>; - }; - };