From: Rob Herring <robh@kernel.org>
To: Benjamin Gaignard <benjamin.gaignard@st.com>
Cc: lee.jones@linaro.org, mark.rutland@arm.co,
alexandre.torgue@st.com, linus.walleij@linaro.org,
amelie.delaunay@st.com, devicetree@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org
Subject: Re: [PATCH v2] dt-bindings: mfd: Convert stmfx bindings to json-schema
Date: Wed, 19 Feb 2020 09:16:17 -0600 [thread overview]
Message-ID: <20200219151617.GA22892@bogus> (raw)
In-Reply-To: <20200207145712.24898-1-benjamin.gaignard@st.com>
On Fri, Feb 07, 2020 at 03:57:12PM +0100, Benjamin Gaignard wrote:
> Convert stmfx bindings to json-schema
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
> version 2:
> - fix description indentation
> - change pin controller node name to pinctrl
> - document pinctrl subnode properties
> - add pinctrl subnode example
>
> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
> Documentation/devicetree/bindings/mfd/stmfx.yaml | 120 +++++++++++++++++++++
> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 --------------------
> 3 files changed, 120 insertions(+), 144 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> create mode 100644 Documentation/devicetree/bindings/mfd/stmfx.yaml
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/stmfx.txt b/Documentation/devicetree/bindings/mfd/stmfx.txt
> deleted file mode 100644
> index f0c2f7fcf5c7..000000000000
> --- a/Documentation/devicetree/bindings/mfd/stmfx.txt
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -STMicroelectonics Multi-Function eXpander (STMFX) Core bindings
> -
> -ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
> -communication with the main MCU. Its main features are GPIO expansion, main
> -MCU IDD measurement (IDD is the amount of current that flows through VDD) and
> -resistive touchscreen controller.
> -
> -Required properties:
> -- compatible: should be "st,stmfx-0300".
> -- reg: I2C slave address of the device.
> -- interrupts: interrupt specifier triggered by MFX_IRQ_OUT signal.
> - Please refer to ../interrupt-controller/interrupt.txt
> -
> -Optional properties:
> -- drive-open-drain: configure MFX_IRQ_OUT as open drain.
> -- vdd-supply: phandle of the regulator supplying STMFX.
> -
> -Example:
> -
> - stmfx: stmfx@42 {
> - compatible = "st,stmfx-0300";
> - reg = <0x42>;
> - interrupts = <8 IRQ_TYPE_EDGE_RISING>;
> - interrupt-parent = <&gpioi>;
> - vdd-supply = <&v3v3>;
> - };
> -
> -Please refer to ../pinctrl/pinctrl-stmfx.txt for STMFX GPIO expander function bindings.
> diff --git a/Documentation/devicetree/bindings/mfd/stmfx.yaml b/Documentation/devicetree/bindings/mfd/stmfx.yaml
> new file mode 100644
> index 000000000000..1af906fb876f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/stmfx.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/stmfx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectonics Multi-Function eXpander (STMFX) bindings
> +
> +description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
> + communication with the main MCU. Its main features are GPIO expansion,
> + main MCU IDD measurement (IDD is the amount of current that flows
> + through VDD) and resistive touchscreen controller.
> +
> +maintainers:
> + - Amelie Delaunay <amelie.delaunay@st.com>
> +
> +properties:
> + compatible:
> + const: st,stmfx-0300
> +
> + reg:
> + enum: [ 0x42, 0x43 ]
> +
> + interrupts:
> + maxItems: 1
> +
> + drive-open-drain: true
> +
> + vdd-supply:
> + maxItems: 1
> +
> + pinctrl:
> + type: object
> +
> + $ref: ../pinctrl/pincfg-node.yaml
allOf needed here.
However, this is not in the right spot.
> +
> + properties:
> + compatible:
> + const: st,stmfx-0300-pinctrl
> +
> + "#gpio-cells":
> + const: 2
> +
> + "#interrupt-cells":
> + const: 2
> +
> + gpio-controller: true
> +
> + interrupt-controller: true
> +
> + gpio-ranges:
> + description: if all STMFX pins[24:0] are available (no other STMFX function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> + if agpio[3:0] are not available (STMFX Touchscreen function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
> + if agpio[7:4] are not available (STMFX IDD function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
> + maxItems: 1
> +
> + patternProperties:
> + "^[a-zA-Z][a-zA-Z0-9_]+$":
I'm surprised this works because it is going to match on most of the
other properties in this node. You really need a node name pattern you
can match on like '-pins$'. Otherwise, you have to do:
if:
type: object
then:
...
I'd rather see the dts files fixed.
> + type: object
> + $ref: ../pinctrl/pinmux-node.yaml
Actually, this is why it doesn't error. With no 'allOf', 'type: object'
is ignored.
> +
> + properties:
> + pins: true
> + bias-disable: true
> + bias-pull-up: true
> + bias-pull-pin-default: true
> + bias-pull-down: true
> + drive-open-drain: true
> + drive-push-pull: true
> + output-high: true
> + output-low: true
'additionalProperties: false' needed here.
> +
> + required:
> + - compatible
> + - "#gpio-cells"
> + - "#interrupt-cells"
> + - gpio-controller
> + - interrupt-controller
> + - gpio-ranges
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + stmfx@42 {
> + compatible = "st,stmfx-0300";
> + reg = <0x42>;
> + interrupts = <8 IRQ_TYPE_EDGE_RISING>;
> + interrupt-parent = <&gpioi>;
> + vdd-supply = <&v3v3>;
> +
> + stmfx_pinctrl: pinctrl {
> + compatible = "st,stmfx-0300-pinctrl";
> + #gpio-cells = <2>;
> + #interrupt-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> +
> + joystick_pins: joystick {
> + pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
> + drive-push-pull;
> + bias-pull-up;
> + };
> + };
> + };
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
> deleted file mode 100644
> index c1b4c1819b84..000000000000
> --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
> +++ /dev/null
> @@ -1,116 +0,0 @@
> -STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings
> -
> -ST Multi-Function eXpander (STMFX) offers up to 24 GPIOs expansion.
> -Please refer to ../mfd/stmfx.txt for STMFX Core bindings.
> -
> -Required properties:
> -- compatible: should be "st,stmfx-0300-pinctrl".
> -- #gpio-cells: should be <2>, the first cell is the GPIO number and the second
> - cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>.
> -- gpio-controller: marks the device as a GPIO controller.
> -- #interrupt-cells: should be <2>, the first cell is the GPIO number and the
> - second cell is the interrupt flags in accordance with
> - <dt-bindings/interrupt-controller/irq.h>.
> -- interrupt-controller: marks the device as an interrupt controller.
> -- gpio-ranges: specifies the mapping between gpio controller and pin
> - controller pins. Check "Concerning gpio-ranges property" below.
> -Please refer to ../gpio/gpio.txt.
> -
> -Please refer to pinctrl-bindings.txt for pin configuration.
> -
> -Required properties for pin configuration sub-nodes:
> -- pins: list of pins to which the configuration applies.
> -
> -Optional properties for pin configuration sub-nodes (pinconf-generic ones):
> -- bias-disable: disable any bias on the pin.
> -- bias-pull-up: the pin will be pulled up.
> -- bias-pull-pin-default: use the pin-default pull state.
> -- bias-pull-down: the pin will be pulled down.
> -- drive-open-drain: the pin will be driven with open drain.
> -- drive-push-pull: the pin will be driven actively high and low.
> -- output-high: the pin will be configured as an output driving high level.
> -- output-low: the pin will be configured as an output driving low level.
> -
> -Note that STMFX pins[15:0] are called "gpio[15:0]", and STMFX pins[23:16] are
> -called "agpio[7:0]". Example, to refer to pin 18 of STMFX, use "agpio2".
> -
> -Concerning gpio-ranges property:
> -- if all STMFX pins[24:0] are available (no other STMFX function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> -- if agpio[3:0] are not available (STMFX Touchscreen function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
> -- if agpio[7:4] are not available (STMFX IDD function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
> -
> -
> -Example:
> -
> - stmfx: stmfx@42 {
> - ...
> -
> - stmfx_pinctrl: stmfx-pin-controller {
> - compatible = "st,stmfx-0300-pinctrl";
> - #gpio-cells = <2>;
> - #interrupt-cells = <2>;
> - gpio-controller;
> - interrupt-controller;
> - gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> -
> - joystick_pins: joystick {
> - pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
> - drive-push-pull;
> - bias-pull-up;
> - };
> - };
> - };
> -
> -Example of STMFX GPIO consumers:
> -
> - joystick {
> - compatible = "gpio-keys";
> - #address-cells = <1>;
> - #size-cells = <0>;
> - pinctrl-0 = <&joystick_pins>;
> - pinctrl-names = "default";
> - button-0 {
> - label = "JoySel";
> - linux,code = <KEY_ENTER>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <0 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-1 {
> - label = "JoyDown";
> - linux,code = <KEY_DOWN>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <1 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-2 {
> - label = "JoyLeft";
> - linux,code = <KEY_LEFT>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <2 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-3 {
> - label = "JoyRight";
> - linux,code = <KEY_RIGHT>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <3 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-4 {
> - label = "JoyUp";
> - linux,code = <KEY_UP>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <4 IRQ_TYPE_EDGE_RISING>;
> - };
> - };
> -
> - leds {
> - compatible = "gpio-leds";
> - orange {
> - gpios = <&stmfx_pinctrl 17 1>;
> - };
> -
> - blue {
> - gpios = <&stmfx_pinctrl 19 1>;
> - };
> - }
> --
> 2.15.0
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Benjamin Gaignard <benjamin.gaignard@st.com>
Cc: mark.rutland@arm.co, devicetree@vger.kernel.org,
amelie.delaunay@st.com, alexandre.torgue@st.com,
linus.walleij@linaro.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org, lee.jones@linaro.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2] dt-bindings: mfd: Convert stmfx bindings to json-schema
Date: Wed, 19 Feb 2020 09:16:17 -0600 [thread overview]
Message-ID: <20200219151617.GA22892@bogus> (raw)
In-Reply-To: <20200207145712.24898-1-benjamin.gaignard@st.com>
On Fri, Feb 07, 2020 at 03:57:12PM +0100, Benjamin Gaignard wrote:
> Convert stmfx bindings to json-schema
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
> version 2:
> - fix description indentation
> - change pin controller node name to pinctrl
> - document pinctrl subnode properties
> - add pinctrl subnode example
>
> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
> Documentation/devicetree/bindings/mfd/stmfx.yaml | 120 +++++++++++++++++++++
> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 --------------------
> 3 files changed, 120 insertions(+), 144 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> create mode 100644 Documentation/devicetree/bindings/mfd/stmfx.yaml
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/stmfx.txt b/Documentation/devicetree/bindings/mfd/stmfx.txt
> deleted file mode 100644
> index f0c2f7fcf5c7..000000000000
> --- a/Documentation/devicetree/bindings/mfd/stmfx.txt
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -STMicroelectonics Multi-Function eXpander (STMFX) Core bindings
> -
> -ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
> -communication with the main MCU. Its main features are GPIO expansion, main
> -MCU IDD measurement (IDD is the amount of current that flows through VDD) and
> -resistive touchscreen controller.
> -
> -Required properties:
> -- compatible: should be "st,stmfx-0300".
> -- reg: I2C slave address of the device.
> -- interrupts: interrupt specifier triggered by MFX_IRQ_OUT signal.
> - Please refer to ../interrupt-controller/interrupt.txt
> -
> -Optional properties:
> -- drive-open-drain: configure MFX_IRQ_OUT as open drain.
> -- vdd-supply: phandle of the regulator supplying STMFX.
> -
> -Example:
> -
> - stmfx: stmfx@42 {
> - compatible = "st,stmfx-0300";
> - reg = <0x42>;
> - interrupts = <8 IRQ_TYPE_EDGE_RISING>;
> - interrupt-parent = <&gpioi>;
> - vdd-supply = <&v3v3>;
> - };
> -
> -Please refer to ../pinctrl/pinctrl-stmfx.txt for STMFX GPIO expander function bindings.
> diff --git a/Documentation/devicetree/bindings/mfd/stmfx.yaml b/Documentation/devicetree/bindings/mfd/stmfx.yaml
> new file mode 100644
> index 000000000000..1af906fb876f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/stmfx.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/stmfx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectonics Multi-Function eXpander (STMFX) bindings
> +
> +description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
> + communication with the main MCU. Its main features are GPIO expansion,
> + main MCU IDD measurement (IDD is the amount of current that flows
> + through VDD) and resistive touchscreen controller.
> +
> +maintainers:
> + - Amelie Delaunay <amelie.delaunay@st.com>
> +
> +properties:
> + compatible:
> + const: st,stmfx-0300
> +
> + reg:
> + enum: [ 0x42, 0x43 ]
> +
> + interrupts:
> + maxItems: 1
> +
> + drive-open-drain: true
> +
> + vdd-supply:
> + maxItems: 1
> +
> + pinctrl:
> + type: object
> +
> + $ref: ../pinctrl/pincfg-node.yaml
allOf needed here.
However, this is not in the right spot.
> +
> + properties:
> + compatible:
> + const: st,stmfx-0300-pinctrl
> +
> + "#gpio-cells":
> + const: 2
> +
> + "#interrupt-cells":
> + const: 2
> +
> + gpio-controller: true
> +
> + interrupt-controller: true
> +
> + gpio-ranges:
> + description: if all STMFX pins[24:0] are available (no other STMFX function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> + if agpio[3:0] are not available (STMFX Touchscreen function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
> + if agpio[7:4] are not available (STMFX IDD function in use),
> + you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
> + maxItems: 1
> +
> + patternProperties:
> + "^[a-zA-Z][a-zA-Z0-9_]+$":
I'm surprised this works because it is going to match on most of the
other properties in this node. You really need a node name pattern you
can match on like '-pins$'. Otherwise, you have to do:
if:
type: object
then:
...
I'd rather see the dts files fixed.
> + type: object
> + $ref: ../pinctrl/pinmux-node.yaml
Actually, this is why it doesn't error. With no 'allOf', 'type: object'
is ignored.
> +
> + properties:
> + pins: true
> + bias-disable: true
> + bias-pull-up: true
> + bias-pull-pin-default: true
> + bias-pull-down: true
> + drive-open-drain: true
> + drive-push-pull: true
> + output-high: true
> + output-low: true
'additionalProperties: false' needed here.
> +
> + required:
> + - compatible
> + - "#gpio-cells"
> + - "#interrupt-cells"
> + - gpio-controller
> + - interrupt-controller
> + - gpio-ranges
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + stmfx@42 {
> + compatible = "st,stmfx-0300";
> + reg = <0x42>;
> + interrupts = <8 IRQ_TYPE_EDGE_RISING>;
> + interrupt-parent = <&gpioi>;
> + vdd-supply = <&v3v3>;
> +
> + stmfx_pinctrl: pinctrl {
> + compatible = "st,stmfx-0300-pinctrl";
> + #gpio-cells = <2>;
> + #interrupt-cells = <2>;
> + gpio-controller;
> + interrupt-controller;
> + gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> +
> + joystick_pins: joystick {
> + pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
> + drive-push-pull;
> + bias-pull-up;
> + };
> + };
> + };
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
> deleted file mode 100644
> index c1b4c1819b84..000000000000
> --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
> +++ /dev/null
> @@ -1,116 +0,0 @@
> -STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings
> -
> -ST Multi-Function eXpander (STMFX) offers up to 24 GPIOs expansion.
> -Please refer to ../mfd/stmfx.txt for STMFX Core bindings.
> -
> -Required properties:
> -- compatible: should be "st,stmfx-0300-pinctrl".
> -- #gpio-cells: should be <2>, the first cell is the GPIO number and the second
> - cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>.
> -- gpio-controller: marks the device as a GPIO controller.
> -- #interrupt-cells: should be <2>, the first cell is the GPIO number and the
> - second cell is the interrupt flags in accordance with
> - <dt-bindings/interrupt-controller/irq.h>.
> -- interrupt-controller: marks the device as an interrupt controller.
> -- gpio-ranges: specifies the mapping between gpio controller and pin
> - controller pins. Check "Concerning gpio-ranges property" below.
> -Please refer to ../gpio/gpio.txt.
> -
> -Please refer to pinctrl-bindings.txt for pin configuration.
> -
> -Required properties for pin configuration sub-nodes:
> -- pins: list of pins to which the configuration applies.
> -
> -Optional properties for pin configuration sub-nodes (pinconf-generic ones):
> -- bias-disable: disable any bias on the pin.
> -- bias-pull-up: the pin will be pulled up.
> -- bias-pull-pin-default: use the pin-default pull state.
> -- bias-pull-down: the pin will be pulled down.
> -- drive-open-drain: the pin will be driven with open drain.
> -- drive-push-pull: the pin will be driven actively high and low.
> -- output-high: the pin will be configured as an output driving high level.
> -- output-low: the pin will be configured as an output driving low level.
> -
> -Note that STMFX pins[15:0] are called "gpio[15:0]", and STMFX pins[23:16] are
> -called "agpio[7:0]". Example, to refer to pin 18 of STMFX, use "agpio2".
> -
> -Concerning gpio-ranges property:
> -- if all STMFX pins[24:0] are available (no other STMFX function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> -- if agpio[3:0] are not available (STMFX Touchscreen function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
> -- if agpio[7:4] are not available (STMFX IDD function in use), you
> - should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
> -
> -
> -Example:
> -
> - stmfx: stmfx@42 {
> - ...
> -
> - stmfx_pinctrl: stmfx-pin-controller {
> - compatible = "st,stmfx-0300-pinctrl";
> - #gpio-cells = <2>;
> - #interrupt-cells = <2>;
> - gpio-controller;
> - interrupt-controller;
> - gpio-ranges = <&stmfx_pinctrl 0 0 24>;
> -
> - joystick_pins: joystick {
> - pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
> - drive-push-pull;
> - bias-pull-up;
> - };
> - };
> - };
> -
> -Example of STMFX GPIO consumers:
> -
> - joystick {
> - compatible = "gpio-keys";
> - #address-cells = <1>;
> - #size-cells = <0>;
> - pinctrl-0 = <&joystick_pins>;
> - pinctrl-names = "default";
> - button-0 {
> - label = "JoySel";
> - linux,code = <KEY_ENTER>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <0 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-1 {
> - label = "JoyDown";
> - linux,code = <KEY_DOWN>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <1 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-2 {
> - label = "JoyLeft";
> - linux,code = <KEY_LEFT>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <2 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-3 {
> - label = "JoyRight";
> - linux,code = <KEY_RIGHT>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <3 IRQ_TYPE_EDGE_RISING>;
> - };
> - button-4 {
> - label = "JoyUp";
> - linux,code = <KEY_UP>;
> - interrupt-parent = <&stmfx_pinctrl>;
> - interrupts = <4 IRQ_TYPE_EDGE_RISING>;
> - };
> - };
> -
> - leds {
> - compatible = "gpio-leds";
> - orange {
> - gpios = <&stmfx_pinctrl 17 1>;
> - };
> -
> - blue {
> - gpios = <&stmfx_pinctrl 19 1>;
> - };
> - }
> --
> 2.15.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-02-19 15:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-07 14:57 [PATCH v2] dt-bindings: mfd: Convert stmfx bindings to json-schema Benjamin Gaignard
2020-02-07 14:57 ` Benjamin Gaignard
2020-02-19 15:16 ` Rob Herring [this message]
2020-02-19 15:16 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200219151617.GA22892@bogus \
--to=robh@kernel.org \
--cc=alexandre.torgue@st.com \
--cc=amelie.delaunay@st.com \
--cc=benjamin.gaignard@st.com \
--cc=devicetree@vger.kernel.org \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mark.rutland@arm.co \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.