Message ID | 1586770849-15693-1-git-send-email-Anson.Huang@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: gpio: Convert i.MX to json-schema | expand |
On Mon, Apr 13, 2020 at 05:40:49PM +0800, Anson Huang wrote: > Convert the i.MX GPIO binding to DT schema format using json-schema. > > Signed-off-by: Anson Huang <Anson.Huang@nxp.com> > --- > .../devicetree/bindings/gpio/fsl-imx-gpio.txt | 35 ----------- > .../devicetree/bindings/gpio/fsl-imx-gpio.yaml | 72 ++++++++++++++++++++++ > 2 files changed, 72 insertions(+), 35 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt > create mode 100644 Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml > > diff --git a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt > deleted file mode 100644 > index b4cd9f90..0000000 > --- a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt > +++ /dev/null > @@ -1,35 +0,0 @@ > -* Freescale i.MX/MXC GPIO controller > - > -Required properties: > -- compatible : Should be "fsl,<soc>-gpio" > -- reg : Address and length of the register set for the device > -- interrupts : Should be the port interrupt shared by all 32 pins, if > - one number. If two numbers, the first one is the interrupt shared > - by low 16 pins and the second one is for high 16 pins. > -- gpio-controller : Marks the device node as a gpio controller. > -- #gpio-cells : Should be two. The first cell is the pin number and > - the second cell is used to specify the gpio polarity: > - 0 = active high > - 1 = active low > -- interrupt-controller: Marks the device node as an interrupt controller. > -- #interrupt-cells : Should be 2. The first cell is the GPIO number. > - The second cell bits[3:0] is used to specify 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. > - > -Optional properties: > -- clocks: the clock for clocking the GPIO silicon > - > -Example: > - > -gpio0: gpio@73f84000 { > - compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; > - reg = <0x73f84000 0x4000>; > - interrupts = <50 51>; > - gpio-controller; > - #gpio-cells = <2>; > - interrupt-controller; > - #interrupt-cells = <2>; > -}; > diff --git a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml > new file mode 100644 > index 0000000..465104c > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml > @@ -0,0 +1,72 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/fsl-imx-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale i.MX/MXC GPIO controller > + > +maintainers: > + - Anson Huang <Anson.Huang@nxp.com> > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - fsl,imx1-gpio > + - fsl,imx21-gpio > + - fsl,imx31-gpio > + - fsl,imx35-gpio > + - fsl,imx7d-gpio compatible: enum: - fsl,imx1-gpio - fsl,imx21-gpio - fsl,imx31-gpio - fsl,imx35-gpio - fsl,imx7d-gpio > + > + reg: > + maxItems: 1 > + > + interrupts: > + description: | > + Should be the port interrupt shared by all 32 pins, if one number. > + If two numbers, the first one is the interrupt shared by low 16 pins > + and the second one is for high 16 pins. > + minItems: 1 > + maxItems: 2 > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + > + clocks: > + description: | > + The clock for clocking the GPIO silicon. Can drop. > + maxItems: 1 > + > + "#gpio-cells": > + const: 2 > + > + gpio-controller: true > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - "#interrupt-cells" > + - "#gpio-cells" > + - gpio-controller > + > +additionalProperties: false > + > +examples: > + - | > + gpio0: gpio@73f84000 { > + compatible = "fsl,imx35-gpio"; > + reg = <0x73f84000 0x4000>; > + interrupts = <50 51>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > +... > -- > 2.7.4 >
diff --git a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt deleted file mode 100644 index b4cd9f90..0000000 --- a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt +++ /dev/null @@ -1,35 +0,0 @@ -* Freescale i.MX/MXC GPIO controller - -Required properties: -- compatible : Should be "fsl,<soc>-gpio" -- reg : Address and length of the register set for the device -- interrupts : Should be the port interrupt shared by all 32 pins, if - one number. If two numbers, the first one is the interrupt shared - by low 16 pins and the second one is for high 16 pins. -- gpio-controller : Marks the device node as a gpio controller. -- #gpio-cells : Should be two. The first cell is the pin number and - the second cell is used to specify the gpio polarity: - 0 = active high - 1 = active low -- interrupt-controller: Marks the device node as an interrupt controller. -- #interrupt-cells : Should be 2. The first cell is the GPIO number. - The second cell bits[3:0] is used to specify 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. - -Optional properties: -- clocks: the clock for clocking the GPIO silicon - -Example: - -gpio0: gpio@73f84000 { - compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; - reg = <0x73f84000 0x4000>; - interrupts = <50 51>; - gpio-controller; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; -}; diff --git a/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml new file mode 100644 index 0000000..465104c --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/fsl-imx-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX/MXC GPIO controller + +maintainers: + - Anson Huang <Anson.Huang@nxp.com> + +properties: + compatible: + oneOf: + - items: + - enum: + - fsl,imx1-gpio + - fsl,imx21-gpio + - fsl,imx31-gpio + - fsl,imx35-gpio + - fsl,imx7d-gpio + + reg: + maxItems: 1 + + interrupts: + description: | + Should be the port interrupt shared by all 32 pins, if one number. + If two numbers, the first one is the interrupt shared by low 16 pins + and the second one is for high 16 pins. + minItems: 1 + maxItems: 2 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + clocks: + description: | + The clock for clocking the GPIO silicon. + maxItems: 1 + + "#gpio-cells": + const: 2 + + gpio-controller: true + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - "#interrupt-cells" + - "#gpio-cells" + - gpio-controller + +additionalProperties: false + +examples: + - | + gpio0: gpio@73f84000 { + compatible = "fsl,imx35-gpio"; + reg = <0x73f84000 0x4000>; + interrupts = <50 51>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + +...
Convert the i.MX GPIO binding to DT schema format using json-schema. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> --- .../devicetree/bindings/gpio/fsl-imx-gpio.txt | 35 ----------- .../devicetree/bindings/gpio/fsl-imx-gpio.yaml | 72 ++++++++++++++++++++++ 2 files changed, 72 insertions(+), 35 deletions(-) delete mode 100644 Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt create mode 100644 Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml