On 15/06/2022 03:49, Patrick Rudolph wrote: > Added device tree binding documentation for > Cypress CY8C95x0 I2C pin-controller. > > Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> The subject is still wrong. You need subsystem prefix (pinctrl) and you can skip final "binding" word, as it is implied by dt-bindings. > --- > .../bindings/pinctrl/cypress,cy8c95x0.yaml | 131 ++++++++++++++++++ > 1 file changed, 131 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.yaml b/Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.yaml > new file mode 100644 > index 000000000000..765e8834d9dd > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.yaml > @@ -0,0 +1,131 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/cypress,cy8c95x0.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cypress CY8C95X0 I2C GPIO expander > + > +maintainers: > + - Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> > + > +description: | > + This supports the 20/40/60 pin Cypress CYC95x0 GPIO I2C expanders. > + Pin function configuration is performed on a per-pin basis. > + > +properties: > + compatible: > + enum: > + - cypress,cy8c9520 > + - cypress,cy8c9540 > + - cypress,cy8c9560 > + > + reg: > + maxItems: 1 > + > + gpio-controller: true > + > + '#gpio-cells': > + description: > + The first cell is the GPIO number and the second cell specifies GPIO > + flags, as defined in <dt-bindings/gpio/gpio.h>. > + const: 2 > + > + interrupts: > + maxItems: 1 > + > + interrupt-controller: true > + > + '#interrupt-cells': > + const: 2 > + > + gpio-line-names: true > + > + gpio-ranges: > + maxItems: 1 > + > + gpio-reserved-ranges: > + maxItems: 1 > + > + vdd-supply: > + description: > + Optional power supply. > + > +patternProperties: > + '-pins$': > + type: object > + description: > + Pinctrl node's client devices use subnodes for desired pin configuration. > + Client device subnodes use below standard properties. > + $ref: "/schemas/pinctrl/pincfg-node.yaml" Skip quotes. > + > + properties: > + pins: > + description: > + List of gpio pins affected by the properties specified in this > + subnode. > + items: > + - pattern: "^gp([0-7][0-7])$" Use the same type of quotes everywhere - either ' or ". Does it actually work? It looks like you allow here only one pin but the description suggests it is a list of pins. I think you wanted here just "pattern: ..." without leading minus. Then you need also min and maxItems. Why blank line here disappeared? My comment was in different place. > + function: > + description: > + Specify the alternative function to be configured for the specified > + pins. > + enum: [ gpio, pwm ] > + > + bias-pull-down: true > + > + bias-pull-up: true > + > + bias-disable: true > + > + output-high: true > + > + output-low: true > + > + drive-push-pull: true > + > + drive-open-drain: true > + > + drive-open-source: true > + > + required: > + - pins > + - function > + > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - '#interrupt-cells' > + - gpio-controller > + - '#gpio-cells' > + > +additionalProperties: false > + > +allOf: > + - $ref: "pinctrl.yaml#" > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + > + i2c0 { Just "i2c". > + #address-cells = <1>; > + #size-cells = <0>; > + > + pinctrl@20 { > + compatible = "cypress,cy8c9520"; > + reg = <0x20>; > + gpio-controller; > + #gpio-cells = <2>; > + #interrupt-cells = <2>; > + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-controller; > + vdd-supply = <&p3v3>; > + gpio-reserved-ranges = <5 1>; > + }; > + }; Best regards, Krzysztof