On 08/12/2022 16:30, Bernhard Rosenkränzer wrote: > Add devicetree bindings for Mediatek MT8365 pinctrl driver. > > Signed-off-by: Bernhard Rosenkränzer <bero@xxxxxxxxxxxx> > --- > .../pinctrl/mediatek,mt8365-pinctrl.yaml | 197 ++++++++++++++++++ > 1 file changed, 197 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt8365-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt8365-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt8365-pinctrl.yaml > new file mode 100644 > index 0000000000000..9560e1d2898d0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt8365-pinctrl.yaml > @@ -0,0 +1,197 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt8365-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek MT8365 Pin Controller > + > +maintainers: > + - Zhiyong Tao <zhiyong.tao@xxxxxxxxxxxx> > + - Bernhard Rosenkränzer <bero@xxxxxxxxxxxx> > + > +description: |+ > + The MediaTek's MT8365 Pin controller is used to control SoC pins. > + > +properties: > + compatible: > + const: mediatek,mt8365-pinctrl > + > + reg: > + maxItems: 1 > + > + mediatek,pctl-regmap: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + items: > + maxItems: 1 > + minItems: 1 > + maxItems: 2 > + description: | > + Should be phandles of the syscfg node. > + > + gpio-controller: true > + > + "#gpio-cells": > + const: 2 > + description: | > + Number of cells in GPIO specifier. Since the generic GPIO > + binding is used, the amount of cells must be specified as 2. See the below > + mentioned gpio binding representation for description of particular cells. > + > + interrupt-controller: true > + > + interrupts: > + maxItems: 1 > + > + "#interrupt-cells": Use consistent quotes - ' or " > + const: 2 > + > +patternProperties: > + '-pins$': > + type: object (...) > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/pinctrl/mt8365-pinfunc.h> > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + pio: pinctrl@1000b000 { > + compatible = "mediatek,mt8365-pinctrl"; > + reg = <0 0x1000b000 0 0x1000>; > + mediatek,pctl-regmap = <&syscfg_pctl>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; > + > + pio-pins { > + pins { > + pinmux = <MT8365_PIN_59_SDA1__FUNC_SDA1_0>, <MT8365_PIN_60_SCL1__FUNC_SCL1_0>; > + mediatek,pull-up-adv = <3>; > + mediatek,drive-strength-adv = <00>; > + bias-pull-up; > + }; > + }; > + }; > + }; > + > +required: > + - compatible > + - reg > + - gpio-controller > + - "#gpio-cells" > + > +allOf: > + - $ref: pinctrl.yaml# The order of your top-level entries is mixed up. required and allOf are never after the example. Please open example-schema and align the order. Best regards, Krzysztof