Message ID | 20220318124121.26117-3-liang.yang@amlogic.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | refine the NFC clock framework | expand |
Hi, On 18/03/2022 13:41, Liang Yang wrote: > convert txt to yaml and refine the meson NFC clock document. > > Signed-off-by: Liang Yang <liang.yang@amlogic.com> > --- > .../bindings/mtd/amlogic,meson-nand.txt | 60 ---------------- > .../bindings/mtd/amlogic,meson-nand.yaml | 71 +++++++++++++++++++ > 2 files changed, 71 insertions(+), 60 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt > create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml > > diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt > deleted file mode 100644 > index 5794ab1147c1..000000000000 > --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt > +++ /dev/null > @@ -1,60 +0,0 @@ > -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs > - > -This file documents the properties in addition to those available in > -the MTD NAND bindings. > - > -Required properties: > -- compatible : contains one of: > - - "amlogic,meson-gxl-nfc" > - - "amlogic,meson-axg-nfc" > -- clocks : > - A list of phandle + clock-specifier pairs for the clocks listed > - in clock-names. > - > -- clock-names: Should contain the following: > - "core" - NFC module gate clock > - "device" - device clock from eMMC sub clock controller > - "rx" - rx clock phase > - "tx" - tx clock phase > - > -- amlogic,mmc-syscon : Required for NAND clocks, it's shared with SD/eMMC > - controller port C > - > -Optional children nodes: > -Children nodes represent the available nand chips. > - > -Other properties: > -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings. > - > -Example demonstrate on AXG SoC: > - > - sd_emmc_c_clkc: mmc@7000 { > - compatible = "amlogic,meson-axg-mmc-clkc", "syscon"; > - reg = <0x0 0x7000 0x0 0x800>; > - }; > - > - nand-controller@7800 { > - compatible = "amlogic,meson-axg-nfc"; > - reg = <0x0 0x7800 0x0 0x100>; > - #address-cells = <1>; > - #size-cells = <0>; > - interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; > - > - clocks = <&clkc CLKID_SD_EMMC_C>, > - <&sd_emmc_c_clkc CLKID_MMC_DIV>, > - <&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>, > - <&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>; > - clock-names = "core", "device", "rx", "tx"; > - amlogic,mmc-syscon = <&sd_emmc_c_clkc>; > - > - pinctrl-names = "default"; > - pinctrl-0 = <&nand_pins>; > - > - nand@0 { > - reg = <0>; > - #address-cells = <1>; > - #size-cells = <1>; > - > - nand-on-flash-bbt; > - }; > - }; > diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml > new file mode 100644 > index 000000000000..4de4962a40b7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/amlogic,mmc-clkc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs > + > +maintainers: > + - liang.yang@amlogic.com > + > +properties: > + compatible: > + enum: > + - "amlogic,meson-gxl-nfc" > + - "amlogic,meson-axg-nfc" > + > + reg: > + maxItems: 2 reg-names: items: - const: nfc - const: mmc Is missing to conform to the example > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 2 > + > + clock-names: > + items: > + - const: "core", "device" This should be: clock-names: items: - const: core - const: device > + > + "#clock-cells": > + const: 1 > + > +required: > + - compatible > + - reg + reg-names > + - interrupts > + - clocks > + - clock-names > + - "#clock-cells" > + > +additionalProperties: false > + > +examples: > + - | > + nand-controller@7800 { > + compatible = "amlogic,meson-axg-nfc"; > + reg = <0x0 0x7800 0x0 0x100>, > + <0x0 0x7000 0x0 0x800>; > + reg-names = "nfc", "emmc"; > + #address-cells = <1>; > + #size-cells = <0>; > + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; > + > + clocks = <&clkc CLKID_SD_EMMC_C>, > + <&clkc CLKID_FCLK_DIV2>; > + clock-names = "core", "device"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&nand_pins>; > + > + nand@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + nand-on-flash-bbt; > + }; > + }; > + > +... Don't forgot to run : make ARCH=-arm64 dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml after installing the DT schema validator: pip3 install git+https://github.com/devicetree-org/dt-schema.git@master as documented at https://www.kernel.org/doc/html/v5.9/devicetree/writing-schema.html Thanks ! Neil
Hi Neil, On 2022/3/18 21:59, Neil Armstrong wrote: > [ EXTERNAL EMAIL ] > > Hi, > > On 18/03/2022 13:41, Liang Yang wrote: >> convert txt to yaml and refine the meson NFC clock document. >> >> Signed-off-by: Liang Yang <liang.yang@amlogic.com> >> --- >> .../bindings/mtd/amlogic,meson-nand.txt | 60 ---------------- >> .../bindings/mtd/amlogic,meson-nand.yaml | 71 +++++++++++++++++++ >> 2 files changed, 71 insertions(+), 60 deletions(-) >> delete mode 100644 >> Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt >> create mode 100644 >> Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml >> >> diff --git >> a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt >> b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt >> deleted file mode 100644 >> index 5794ab1147c1..000000000000 >> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt >> +++ /dev/null >> @@ -1,60 +0,0 @@ >> -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs >> - >> -This file documents the properties in addition to those available in >> -the MTD NAND bindings. >> - >> -Required properties: >> -- compatible : contains one of: >> - - "amlogic,meson-gxl-nfc" >> - - "amlogic,meson-axg-nfc" >> -- clocks : >> - A list of phandle + clock-specifier pairs for the clocks listed >> - in clock-names. >> - >> -- clock-names: Should contain the following: >> - "core" - NFC module gate clock >> - "device" - device clock from eMMC sub clock controller >> - "rx" - rx clock phase >> - "tx" - tx clock phase >> - >> -- amlogic,mmc-syscon : Required for NAND clocks, it's shared with >> SD/eMMC >> - controller port C >> - >> -Optional children nodes: >> -Children nodes represent the available nand chips. >> - >> -Other properties: >> -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for >> generic bindings. >> - >> -Example demonstrate on AXG SoC: >> - >> - sd_emmc_c_clkc: mmc@7000 { >> - compatible = "amlogic,meson-axg-mmc-clkc", "syscon"; >> - reg = <0x0 0x7000 0x0 0x800>; >> - }; >> - >> - nand-controller@7800 { >> - compatible = "amlogic,meson-axg-nfc"; >> - reg = <0x0 0x7800 0x0 0x100>; >> - #address-cells = <1>; >> - #size-cells = <0>; >> - interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; >> - >> - clocks = <&clkc CLKID_SD_EMMC_C>, >> - <&sd_emmc_c_clkc CLKID_MMC_DIV>, >> - <&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>, >> - <&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>; >> - clock-names = "core", "device", "rx", "tx"; >> - amlogic,mmc-syscon = <&sd_emmc_c_clkc>; >> - >> - pinctrl-names = "default"; >> - pinctrl-0 = <&nand_pins>; >> - >> - nand@0 { >> - reg = <0>; >> - #address-cells = <1>; >> - #size-cells = <1>; >> - >> - nand-on-flash-bbt; >> - }; >> - }; >> diff --git >> a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml >> b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml >> new file mode 100644 >> index 000000000000..4de4962a40b7 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml >> @@ -0,0 +1,71 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/clock/amlogic,mmc-clkc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs >> + >> +maintainers: >> + - liang.yang@amlogic.com >> + >> +properties: >> + compatible: >> + enum: >> + - "amlogic,meson-gxl-nfc" >> + - "amlogic,meson-axg-nfc" >> + >> + reg: >> + maxItems: 2 > > reg-names: > items: > - const: nfc > - const: mmc > > Is missing to conform to the example ok, i will add it. > >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 2 >> + >> + clock-names: >> + items: >> + - const: "core", "device" > > This should be: > clock-names: > items: > - const: core > - const: device ok, i will fix it. > >> + >> + "#clock-cells": >> + const: 1 >> + >> +required: >> + - compatible >> + - reg > > + reg-names ok > >> + - interrupts >> + - clocks >> + - clock-names >> + - "#clock-cells" >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + nand-controller@7800 { >> + compatible = "amlogic,meson-axg-nfc"; >> + reg = <0x0 0x7800 0x0 0x100>, >> + <0x0 0x7000 0x0 0x800>; >> + reg-names = "nfc", "emmc"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; >> + >> + clocks = <&clkc CLKID_SD_EMMC_C>, >> + <&clkc CLKID_FCLK_DIV2>; >> + clock-names = "core", "device"; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&nand_pins>; >> + >> + nand@0 { >> + reg = <0>; >> + #address-cells = <1>; >> + #size-cells = <1>; >> + >> + nand-on-flash-bbt; >> + }; >> + }; >> + >> +... > > Don't forgot to run : > make ARCH=-arm64 dt_binding_check > DT_SCHEMA_FILES=Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml > > > after installing the DT schema validator: > pip3 install git+https://github.com/devicetree-org/dt-schema.git@master > > as documented at > https://www.kernel.org/doc/html/v5.9/devicetree/writing-schema.html ok > > Thanks ! > Neil > > .
diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt deleted file mode 100644 index 5794ab1147c1..000000000000 --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt +++ /dev/null @@ -1,60 +0,0 @@ -Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs - -This file documents the properties in addition to those available in -the MTD NAND bindings. - -Required properties: -- compatible : contains one of: - - "amlogic,meson-gxl-nfc" - - "amlogic,meson-axg-nfc" -- clocks : - A list of phandle + clock-specifier pairs for the clocks listed - in clock-names. - -- clock-names: Should contain the following: - "core" - NFC module gate clock - "device" - device clock from eMMC sub clock controller - "rx" - rx clock phase - "tx" - tx clock phase - -- amlogic,mmc-syscon : Required for NAND clocks, it's shared with SD/eMMC - controller port C - -Optional children nodes: -Children nodes represent the available nand chips. - -Other properties: -see Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings. - -Example demonstrate on AXG SoC: - - sd_emmc_c_clkc: mmc@7000 { - compatible = "amlogic,meson-axg-mmc-clkc", "syscon"; - reg = <0x0 0x7000 0x0 0x800>; - }; - - nand-controller@7800 { - compatible = "amlogic,meson-axg-nfc"; - reg = <0x0 0x7800 0x0 0x100>; - #address-cells = <1>; - #size-cells = <0>; - interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; - - clocks = <&clkc CLKID_SD_EMMC_C>, - <&sd_emmc_c_clkc CLKID_MMC_DIV>, - <&sd_emmc_c_clkc CLKID_MMC_PHASE_RX>, - <&sd_emmc_c_clkc CLKID_MMC_PHASE_TX>; - clock-names = "core", "device", "rx", "tx"; - amlogic,mmc-syscon = <&sd_emmc_c_clkc>; - - pinctrl-names = "default"; - pinctrl-0 = <&nand_pins>; - - nand@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <1>; - - nand-on-flash-bbt; - }; - }; diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml new file mode 100644 index 000000000000..4de4962a40b7 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/amlogic,mmc-clkc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs + +maintainers: + - liang.yang@amlogic.com + +properties: + compatible: + enum: + - "amlogic,meson-gxl-nfc" + - "amlogic,meson-axg-nfc" + + reg: + maxItems: 2 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 2 + + clock-names: + items: + - const: "core", "device" + + "#clock-cells": + const: 1 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - "#clock-cells" + +additionalProperties: false + +examples: + - | + nand-controller@7800 { + compatible = "amlogic,meson-axg-nfc"; + reg = <0x0 0x7800 0x0 0x100>, + <0x0 0x7000 0x0 0x800>; + reg-names = "nfc", "emmc"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>; + + clocks = <&clkc CLKID_SD_EMMC_C>, + <&clkc CLKID_FCLK_DIV2>; + clock-names = "core", "device"; + + pinctrl-names = "default"; + pinctrl-0 = <&nand_pins>; + + nand@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + nand-on-flash-bbt; + }; + }; + +...
convert txt to yaml and refine the meson NFC clock document. Signed-off-by: Liang Yang <liang.yang@amlogic.com> --- .../bindings/mtd/amlogic,meson-nand.txt | 60 ---------------- .../bindings/mtd/amlogic,meson-nand.yaml | 71 +++++++++++++++++++ 2 files changed, 71 insertions(+), 60 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.txt create mode 100644 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml