On Wed, Dec 08, 2021 at 06:30:42PM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Convert the NVIDIA Tegra GPIO controller device tree bindings from > free-form text format to json-schema. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > Changes in v3: > - replace unevaluatedProperties with additionalProperties > > Changes in v2: > - move GPIO hog definitions into unevaluatedProperties subschema > - remove redundant description of standard properties > > .../bindings/gpio/nvidia,tegra20-gpio.txt | 40 ------- > .../bindings/gpio/nvidia,tegra20-gpio.yaml | 111 ++++++++++++++++++ > 2 files changed, 111 insertions(+), 40 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt > create mode 100644 Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.yaml > > diff --git a/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt b/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt > deleted file mode 100644 > index 023c9526e5f8..000000000000 > --- a/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt > +++ /dev/null > @@ -1,40 +0,0 @@ > -NVIDIA Tegra GPIO controller > - > -Required properties: > -- compatible : "nvidia,tegra<chip>-gpio" > -- reg : Physical base address and length of the controller's registers. > -- interrupts : The interrupt outputs from the controller. For Tegra20, > - there should be 7 interrupts specified, and for Tegra30, there should > - be 8 interrupts specified. > -- #gpio-cells : Should be two. The first cell is the pin number and the > - second cell is used to specify optional parameters: > - - bit 0 specifies polarity (0 for normal, 1 for inverted) > -- gpio-controller : Marks the device node as a GPIO controller. > -- #interrupt-cells : Should be 2. > - The first cell is the GPIO number. > - The second cell is used to specify flags: > - bits[3:0] trigger type and level flags: > - 1 = low-to-high edge triggered. > - 2 = high-to-low edge triggered. > - 4 = active high level-sensitive. > - 8 = active low level-sensitive. > - Valid combinations are 1, 2, 3, 4, 8. > -- interrupt-controller : Marks the device node as an interrupt controller. > - > -Example: > - > -gpio: gpio@6000d000 { > - compatible = "nvidia,tegra20-gpio"; > - reg = < 0x6000d000 0x1000 >; > - interrupts = < 0 32 0x04 > - 0 33 0x04 > - 0 34 0x04 > - 0 35 0x04 > - 0 55 0x04 > - 0 87 0x04 > - 0 89 0x04 >; > - #gpio-cells = <2>; > - gpio-controller; > - #interrupt-cells = <2>; > - interrupt-controller; > -}; > diff --git a/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.yaml b/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.yaml > new file mode 100644 > index 000000000000..dd5d29add699 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.yaml > @@ -0,0 +1,111 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/nvidia,tegra20-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NVIDIA Tegra GPIO Controller (Tegra20 - Tegra210) > + > +maintainers: > + - Thierry Reding <thierry.reding@xxxxxxxxx> > + - Jon Hunter <jonathanh@xxxxxxxxxx> > + > +properties: > + compatible: > + oneOf: > + - enum: > + - nvidia,tegra20-gpio > + - nvidia,tegra30-gpio > + > + - items: > + - enum: > + - nvidia,tegra114-gpio > + - nvidia,tegra124-gpio > + - nvidia,tegra210-gpio > + - const: nvidia,tegra30-gpio > + > + reg: > + maxItems: 1 > + > + interrupts: > + description: The interrupt outputs from the controller. For Tegra20, > + there should be 7 interrupts specified, and for Tegra30, there should > + be 8 interrupts specified. > + > + "#gpio-cells": > + description: The first cell is the pin number and the second cell is used > + to specify the GPIO polarity (0 = active high, 1 = active low). > + $ref: "/schemas/types.yaml#/definitions/uint32" Don't need a type here. With that, Reviewed-by: Rob Herring <robh@xxxxxxxxxx>