[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3857e97d-2505-6a93-03cd-c36562035445@somainline.org>
Date: Wed, 13 Jan 2021 13:30:50 +0100
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@...ainline.org>
To: Rob Herring <robh@...nel.org>
Cc: linus.walleij@...aro.org, linux-kernel@...r.kernel.org,
konrad.dybcio@...ainline.org, marijn.suijten@...ainline.org,
martin.botka@...ainline.org, phone-devel@...r.kernel.org,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v2 2/2] dt-bindings: pinctrl: Add bindings for Awinic
AW9523/AW9523B
Il 13/01/21 03:41, Rob Herring ha scritto:
> On Mon, Jan 11, 2021 at 07:29:28PM +0100, AngeloGioacchino Del Regno wrote:
>> Add bindings for the Awinic AW9523/AW9523B I2C GPIO Expander driver.
>>
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...ainline.org>
>> ---
>> .../pinctrl/awinic,aw9523-pinctrl.yaml | 112 ++++++++++++++++++
>> 1 file changed, 112 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/pinctrl/awinic,aw9523-pinctrl.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/awinic,aw9523-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/awinic,aw9523-pinctrl.yaml
>> new file mode 100644
>> index 000000000000..a705c05bb5a2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/awinic,aw9523-pinctrl.yaml
>> @@ -0,0 +1,112 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pinctrl/awinic,aw9523-pinctrl.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Awinic AW9523/AW9523B I2C GPIO Expander
>> +
>> +maintainers:
>> + - AngeloGioacchino Del Regno <angelogioacchino.delregno@...ainline.org>
>> +
>> +description: |
>> + The Awinic AW9523/AW9523B I2C GPIO Expander featuring 16 multi-function
>> + I/O, 256 steps PWM mode and interrupt support.
>> +
>> +properties:
>> + compatible:
>> + const: awinic,aw9523-pinctrl
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + '#gpio-cells':
>> + description: |
>> + Specifying the pin number and flags, as defined in
>> + include/dt-bindings/gpio/gpio.h
>> + const: 2
>> +
>> + gpio-controller: true
>> +
>> + gpio-ranges:
>> + maxItems: 1
>> +
>> + interrupt-controller: true
>> +
>> + interrupts:
>> + maxItems: 1
>> + description: Specifies the INTN pin IRQ.
>> +
>> + '#interrupt-cells':
>> + description:
>> + Specifies the PIN numbers and Flags, as defined in defined in
>> + include/dt-bindings/interrupt-controller/irq.h
>> + const: 2
>> +
>> +#PIN CONFIGURATION NODES
>> +patternProperties:
>> + '^.*$':
>> + if:
>> + type: object
>> + $ref: "/schemas/pinctrl/pincfg-node.yaml"
>> + then:
>
> I wish people would stop copying this if/then hack...
>
> For new bindings, just name your nodes something sensible you can match
> on like '-pins$'.
>
I always check the newest available yaml that I can find in the same
folder before writing mine... in this case, it was sm8250-pinctrl.yaml
and I thought that this was the accepted way, since.. that's.. the
newest one.
By the way, I've fixed it now. I'll send V4 in the evening!
Thank you!
>> + properties:
>> + pins:
>> + description:
>> + List of gpio pins affected by the properties specified in
>> + this subnode.
>> + items:
>> + pattern: "^gpio([0-9]|1[0-5])$"
>> + minItems: 1
>> + maxItems: 16
>> +
>> + function:
>> + description:
>> + Specify the alternative function to be configured for the
>> + specified pins.
>> +
>> + enum: [ gpio, pwm ]
>> +
>> + bias-disable: true
>> + bias-pull-down: true
>> + bias-pull-up: true
>> + drive-open-drain: true
>> + drive-push-pull: true
>> + input-enable: true
>> + output-high: true
>> + output-low: true
>> +
>> + required:
>> + - pins
>> + - function
>> +
>> + additionalProperties: false
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - gpio-controller
>> + - '#gpio-cells'
>> + - gpio-ranges
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> +
>> + i2c_node {
>> + gpio-expander@58 {
>> + compatible = "awinic,aw9523-pinctrl";
>> + reg = <0x58>;
>> + interrupt-parent = <&tlmm>;
>> + interrupts = <50 IRQ_TYPE_EDGE_FALLING>;
>> + gpio-controller;
>> + #gpio-cells = <2>;
>> + gpio-ranges = <&tlmm 0 0 16>;
>> + interrupt-controller;
>> + #interrupt-cells = <2>;
>> + reset-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
>> + };
>> + };
>> --
>> 2.29.2
>>
Powered by blists - more mailing lists