2020-02-20 16:27:03

by Benjamin GAIGNARD

[permalink] [raw]
Subject: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

Convert stmfx bindings to json-schema

Signed-off-by: Benjamin Gaignard <[email protected]>
---
.../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
.../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
3 files changed, 124 insertions(+), 144 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt

diff --git a/Documentation/devicetree/bindings/mfd/st,stmfx.yaml b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml
new file mode 100644
index 000000000000..0ce56a0da553
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml
@@ -0,0 +1,124 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/st,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 <[email protected]>
+
+properties:
+ compatible:
+ const: st,stmfx-0300
+
+ reg:
+ enum: [ 0x42, 0x43 ]
+
+ interrupts:
+ maxItems: 1
+
+ drive-open-drain: true
+
+ vdd-supply:
+ maxItems: 1
+
+ pinctrl:
+ type: object
+
+ 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]*-pins$":
+ type: object
+
+ allOf:
+ - $ref: ../pinctrl/pinmux-node.yaml
+
+ 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
+
+ additionalProperties: false
+
+ 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 {
+ pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
+ drive-push-pull;
+ bias-pull-up;
+ };
+ };
+ };
+ };
+...
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/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


2020-02-26 16:22:03

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

On Thu, 20 Feb 2020 17:22:46 +0100, Benjamin Gaignard wrote:
> Convert stmfx bindings to json-schema
>
> Signed-off-by: Benjamin Gaignard <[email protected]>
> ---
> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
> 3 files changed, 124 insertions(+), 144 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
>

Reviewed-by: Rob Herring <[email protected]>

2020-05-14 07:44:04

by Benjamin GAIGNARD

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema



On 2/26/20 5:21 PM, Rob Herring wrote:
> On Thu, 20 Feb 2020 17:22:46 +0100, Benjamin Gaignard wrote:
>> Convert stmfx bindings to json-schema
>>
>> Signed-off-by: Benjamin Gaignard <[email protected]>
>> ---
>> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
>> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
>> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
>> 3 files changed, 124 insertions(+), 144 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
>> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
>> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
>>
Hi Lee, Rob,

I haven't been able to found this patch in -next branches, can one of
you merge it ?

Thanks,
Benjamin
> Reviewed-by: Rob Herring <[email protected]>

2020-05-14 09:03:14

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

On Thu, 14 May 2020, Benjamin GAIGNARD wrote:

>
>
> On 2/26/20 5:21 PM, Rob Herring wrote:
> > On Thu, 20 Feb 2020 17:22:46 +0100, Benjamin Gaignard wrote:
> >> Convert stmfx bindings to json-schema
> >>
> >> Signed-off-by: Benjamin Gaignard <[email protected]>
> >> ---
> >> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
> >> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
> >> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
> >> 3 files changed, 124 insertions(+), 144 deletions(-)
> >> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
> >> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> >> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
> >>
> Hi Lee, Rob,
>
> I haven't been able to found this patch in -next branches, can one of
> you merge it ?
>
> Thanks,
> Benjamin
> > Reviewed-by: Rob Herring <[email protected]>

Rob,

We should agree on a process going forward. Do you take DT document
changes or should I? Up until we moved to YAML formatting, I took
them but responsibly seems to have migrated over to you since then.

I don't mind either way.

--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2020-05-20 08:53:58

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

On Thu, 20 Feb 2020, Benjamin Gaignard wrote:

> Convert stmfx bindings to json-schema
>
> Signed-off-by: Benjamin Gaignard <[email protected]>
> ---
> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----

> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------

Linus, anything from you?

> 3 files changed, 124 insertions(+), 144 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt

--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2020-06-16 13:39:23

by Benjamin GAIGNARD

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema



On 5/14/20 11:00 AM, Lee Jones wrote:
> On Thu, 14 May 2020, Benjamin GAIGNARD wrote:
>
>>
>> On 2/26/20 5:21 PM, Rob Herring wrote:
>>> On Thu, 20 Feb 2020 17:22:46 +0100, Benjamin Gaignard wrote:
>>>> Convert stmfx bindings to json-schema
>>>>
>>>> Signed-off-by: Benjamin Gaignard <[email protected]>
>>>> ---
>>>> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
>>>> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
>>>> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
>>>> 3 files changed, 124 insertions(+), 144 deletions(-)
>>>> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
>>>> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
>>>> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt
>>>>
>> Hi Lee, Rob,
>>
>> I haven't been able to found this patch in -next branches, can one of
>> you merge it ?
>>
>> Thanks,
>> Benjamin
>>> Reviewed-by: Rob Herring <[email protected]>
> Rob,
>
> We should agree on a process going forward. Do you take DT document
> changes or should I? Up until we moved to YAML formatting, I took
> them but responsibly seems to have migrated over to you since then.
>
> I don't mind either way.
Hi,

Any news on this yaml conversion ?

Benjamin
>

2020-06-20 21:36:20

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

On Wed, May 20, 2020 at 10:51 AM Lee Jones <[email protected]> wrote:
> On Thu, 20 Feb 2020, Benjamin Gaignard wrote:
>
> > Convert stmfx bindings to json-schema
> >
> > Signed-off-by: Benjamin Gaignard <[email protected]>
> > ---
> > .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
> > Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
>
> > .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
>
> Linus, anything from you?

Looks good:
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2020-06-22 10:32:41

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: mfd: Convert stmfx bindings to json-schema

On Thu, 20 Feb 2020, Benjamin Gaignard wrote:

> Convert stmfx bindings to json-schema
>
> Signed-off-by: Benjamin Gaignard <[email protected]>
> ---
> .../devicetree/bindings/mfd/st,stmfx.yaml | 124 +++++++++++++++++++++
> Documentation/devicetree/bindings/mfd/stmfx.txt | 28 -----
> .../devicetree/bindings/pinctrl/pinctrl-stmfx.txt | 116 -------------------
> 3 files changed, 124 insertions(+), 144 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/st,stmfx.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/stmfx.txt
> delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-stmfx.txt

Applied, thanks.

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog