Message ID | 69188960-9d88-4163-8a87-1820fb673eb9@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | soc: amlogic: switch bindings to yaml and adjust some dtbs's | expand |
On Mon, 23 Jan 2023 22:30:44 +0100, Heiner Kallweit wrote: > Add Amlogic Meson pinctrl binding. > Tested with make targets dt_binding_check and dtbs_check. > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > --- > .../pinctrl/amlogic,meson-pinctrl.yaml | 121 ++++++++++++++++++ > .../bindings/pinctrl/meson,pinctrl.txt | 94 -------------- > 2 files changed, 121 insertions(+), 94 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml > delete mode 100644 Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/69188960-9d88-4163-8a87-1820fb673eb9@gmail.com pinctrl@84: #address-cells:0:0: 2 was expected arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb pinctrl@84: compatible: ['amlogic,meson8m2-aobus-pinctrl', 'amlogic,meson8-aobus-pinctrl'] is too long arch/arm/boot/dts/meson8m2-mxiii-plus.dtb pinctrl@84: reg: 'anyOf' conditional failed, one must be fixed: arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb pinctrl@84: #size-cells:0:0: 2 was expected arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb pinctrl@9880: #address-cells:0:0: 2 was expected arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb pinctrl@9880: compatible: ['amlogic,meson8m2-cbus-pinctrl', 'amlogic,meson8-cbus-pinctrl'] is too long arch/arm/boot/dts/meson8m2-mxiii-plus.dtb pinctrl@9880: reg: 'anyOf' conditional failed, one must be fixed: arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb pinctrl@9880: #size-cells:0:0: 2 was expected arch/arm/boot/dts/meson8b-ec100.dtb arch/arm/boot/dts/meson8b-mxq.dtb arch/arm/boot/dts/meson8b-odroidc1.dtb arch/arm/boot/dts/meson8m2-mxiii-plus.dtb arch/arm/boot/dts/meson8-minix-neo-x8.dtb
On 24.01.2023 02:22, Rob Herring wrote: > > On Mon, 23 Jan 2023 22:30:44 +0100, Heiner Kallweit wrote: >> Add Amlogic Meson pinctrl binding. >> Tested with make targets dt_binding_check and dtbs_check. >> >> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> >> --- >> .../pinctrl/amlogic,meson-pinctrl.yaml | 121 ++++++++++++++++++ >> .../bindings/pinctrl/meson,pinctrl.txt | 94 -------------- >> 2 files changed, 121 insertions(+), 94 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml >> delete mode 100644 Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt >> > Thanks, I didn't catch these warnings because Meson8 support isn't enabled on my system. Will look into it. > Running 'make dtbs_check' with the schema in this patch gives the > following warnings. Consider if they are expected or the schema is > incorrect. These may not be new warnings. > > Note that it is not yet a requirement to have 0 warnings for dtbs_check. > This will change in the future. > > Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/69188960-9d88-4163-8a87-1820fb673eb9@gmail.com > > > pinctrl@84: #address-cells:0:0: 2 was expected > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb > > pinctrl@84: compatible: ['amlogic,meson8m2-aobus-pinctrl', 'amlogic,meson8-aobus-pinctrl'] is too long > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > > pinctrl@84: reg: 'anyOf' conditional failed, one must be fixed: > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb > > pinctrl@84: #size-cells:0:0: 2 was expected > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb > > pinctrl@9880: #address-cells:0:0: 2 was expected > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb > > pinctrl@9880: compatible: ['amlogic,meson8m2-cbus-pinctrl', 'amlogic,meson8-cbus-pinctrl'] is too long > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > > pinctrl@9880: reg: 'anyOf' conditional failed, one must be fixed: > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb > > pinctrl@9880: #size-cells:0:0: 2 was expected > arch/arm/boot/dts/meson8b-ec100.dtb > arch/arm/boot/dts/meson8b-mxq.dtb > arch/arm/boot/dts/meson8b-odroidc1.dtb > arch/arm/boot/dts/meson8m2-mxiii-plus.dtb > arch/arm/boot/dts/meson8-minix-neo-x8.dtb >
diff --git a/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml new file mode 100644 index 000000000..afdf4dade --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml @@ -0,0 +1,121 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Amlogic Meson pinmux controller + +maintainers: + - Neil Armstrong <neil.armstrong@linaro.org> + +allOf: + - $ref: pinctrl.yaml# + +properties: + compatible: + enum: + - amlogic,meson8-cbus-pinctrl + - amlogic,meson8b-cbus-pinctrl + - amlogic,meson8m2-cbus-pinctrl + - amlogic,meson8-aobus-pinctrl + - amlogic,meson8b-aobus-pinctrl + - amlogic,meson8m2-aobus-pinctrl + - amlogic,meson-gxbb-periphs-pinctrl + - amlogic,meson-gxbb-aobus-pinctrl + - amlogic,meson-gxl-periphs-pinctrl + - amlogic,meson-gxl-aobus-pinctrl + - amlogic,meson-axg-periphs-pinctrl + - amlogic,meson-axg-aobus-pinctrl + - amlogic,meson-g12a-periphs-pinctrl + - amlogic,meson-g12a-aobus-pinctrl + - amlogic,meson-a1-periphs-pinctrl + - amlogic,meson-s4-periphs-pinctrl + + ranges: true + + "#address-cells": + const: 2 + + "#size-cells": + const: 2 + +required: + - compatible + - ranges + - "#address-cells" + - "#size-cells" + +additionalProperties: + anyOf: + - type: object + allOf: + - $ref: pincfg-node.yaml# + - $ref: pinmux-node.yaml# + +patternProperties: + "^bank@[0-9]$": + type: object + properties: + reg: + minItems: 5 + maxItems: 5 + + reg-names: + items: + - const: gpio + - const: pull + - const: pull-enable + - const: mux + - const: ds + + gpio-controller: true + + "#gpio-cells": + const: 2 + + gpio-ranges: + $ref: /schemas/types.yaml#/definitions/phandle + + required: + - reg + - reg-names + - gpio-controller + - "#gpio-cells" + - gpio-ranges + +examples: + - | + bus@34400 { + reg = <0x0 0x34400 0x0 0x400>; + #address-cells = <2>; + #size-cells = <2>; + + pinctrl@40 { + compatible = "amlogic,meson-g12a-periphs-pinctrl"; + #address-cells = <2>; + #size-cells = <2>; + /* avoid "unit has no reg or ranges property" warning */ + ranges = <0x0 0x0 0x0 0x34400 0x0 0x100>; + + bank@40 { + reg = <0x0 0x40 0x0 0x4c>, + <0x0 0xe8 0x0 0x18>, + <0x0 0x120 0x0 0x18>, + <0x0 0x2c0 0x0 0x40>, + <0x0 0x340 0x0 0x1c>; + reg-names = "gpio", "pull", "pull-enable", "mux", "ds"; + gpio-controller; + #gpio-cells = <2>; + gpio-ranges = <&periphs_pinctrl 0 0 86>; + }; + + cec_ao_a_h_pins: cec_ao_a_h { + mux { + groups = "cec_ao_a_h"; + function = "cec_ao_a_h"; + bias-disable; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt deleted file mode 100644 index 8146193bd..000000000 --- a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt +++ /dev/null @@ -1,94 +0,0 @@ -== Amlogic Meson pinmux controller == - -Required properties for the root node: - - compatible: one of "amlogic,meson8-cbus-pinctrl" - "amlogic,meson8b-cbus-pinctrl" - "amlogic,meson8m2-cbus-pinctrl" - "amlogic,meson8-aobus-pinctrl" - "amlogic,meson8b-aobus-pinctrl" - "amlogic,meson8m2-aobus-pinctrl" - "amlogic,meson-gxbb-periphs-pinctrl" - "amlogic,meson-gxbb-aobus-pinctrl" - "amlogic,meson-gxl-periphs-pinctrl" - "amlogic,meson-gxl-aobus-pinctrl" - "amlogic,meson-axg-periphs-pinctrl" - "amlogic,meson-axg-aobus-pinctrl" - "amlogic,meson-g12a-periphs-pinctrl" - "amlogic,meson-g12a-aobus-pinctrl" - "amlogic,meson-a1-periphs-pinctrl" - "amlogic,meson-s4-periphs-pinctrl" - - reg: address and size of registers controlling irq functionality - -=== GPIO sub-nodes === - -The GPIO bank for the controller is represented as a sub-node and it acts as a -GPIO controller. - -Required properties for sub-nodes are: - - reg: should contain a list of address and size, one tuple for each entry - in reg-names. - - reg-names: an array of strings describing the "reg" entries. - Must contain "mux" and "gpio". - May contain "pull", "pull-enable" and "ds" when appropriate. - - gpio-controller: identifies the node as a gpio controller - - #gpio-cells: must be 2 - -=== Other sub-nodes === - -Child nodes without the "gpio-controller" represent some desired -configuration for a pin or a group. Those nodes can be pinmux nodes or -configuration nodes. - -Required properties for pinmux nodes are: - - groups: a list of pinmux groups. The list of all available groups - depends on the SoC and can be found in driver sources. - - function: the name of a function to activate for the specified set - of groups. The list of all available functions depends on the SoC - and can be found in driver sources. - -Required properties for configuration nodes: - - pins: a list of pin names - -Configuration nodes support the following generic properties, as -described in file pinctrl-bindings.txt: - - "bias-disable" - - "bias-pull-up" - - "bias-pull-down" - - "output-enable" - - "output-disable" - - "output-low" - - "output-high" - -Optional properties : - - drive-strength-microamp: Drive strength for the specified pins in uA. - This property is only valid for G12A and newer. - -=== Example === - - pinctrl: pinctrl@c1109880 { - compatible = "amlogic,meson8-cbus-pinctrl"; - reg = <0xc1109880 0x10>; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - gpio: banks@c11080b0 { - reg = <0xc11080b0 0x28>, - <0xc11080e8 0x18>, - <0xc1108120 0x18>, - <0xc1108030 0x30>; - reg-names = "mux", "pull", "pull-enable", "gpio"; - gpio-controller; - #gpio-cells = <2>; - }; - - nand { - mux { - groups = "nand_io", "nand_io_ce0", "nand_io_ce1", - "nand_io_rb0", "nand_ale", "nand_cle", - "nand_wen_clk", "nand_ren_clk", "nand_dqs", - "nand_ce2", "nand_ce3"; - function = "nand"; - }; - }; - };
Add Amlogic Meson pinctrl binding. Tested with make targets dt_binding_check and dtbs_check. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- .../pinctrl/amlogic,meson-pinctrl.yaml | 121 ++++++++++++++++++ .../bindings/pinctrl/meson,pinctrl.txt | 94 -------------- 2 files changed, 121 insertions(+), 94 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl.yaml delete mode 100644 Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt