Message ID | 20191015162300.22024-2-brgl@bgdev.pl (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | dt-bindings: max77650: convert the device-tree bindings to yaml | expand |
On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Convert the binding document for MAX77650 core MFD module to YAML. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > 2 files changed, 84 insertions(+), 46 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > index b529d8d19335..080871686b3b 100644 > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > @@ -1,46 +1 @@ > -MAX77650 ultra low-power PMIC from Maxim Integrated. > - > -Required properties: > -------------------- > -- compatible: Must be "maxim,max77650" > -- reg: I2C device address. > -- interrupts: The interrupt on the parent the controller is > - connected to. > -- interrupt-controller: Marks the device node as an interrupt controller. > -- #interrupt-cells: Must be <2>. > - > -- gpio-controller: Marks the device node as a gpio controller. > -- #gpio-cells: Must be <2>. The first cell is the pin number and > - the second cell is used to specify the gpio active > - state. > - > -Optional properties: > --------------------- > -gpio-line-names: Single string containing the name of the GPIO line. > - > -The GPIO-controller module is represented as part of the top-level PMIC > -node. The device exposes a single GPIO line. > - > -For device-tree bindings of other sub-modules (regulator, power supply, > -LEDs and onkey) refer to the binding documents under the respective > -sub-system directories. > - > -For more details on GPIO bindings, please refer to the generic GPIO DT > -binding document <devicetree/bindings/gpio/gpio.txt>. > - > -Example: > --------- > - > - pmic@48 { > - compatible = "maxim,max77650"; > - reg = <0x48>; > - > - interrupt-controller; > - interrupt-parent = <&gpio2>; > - #interrupt-cells = <2>; > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > - > - gpio-controller; > - #gpio-cells = <2>; > - gpio-line-names = "max77650-charger"; > - }; > +This file has been moved to max77650.yaml. We do this for common files with lots of references. I don't think that applies here. > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > new file mode 100644 > index 000000000000..5186ad287ec7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > + > +maintainers: > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > + > +description: | > + This document describes the DT properties of the core MFD controller. > + > + The GPIO-controller module is represented as part of the top-level PMIC > + node. The device exposes a single GPIO line. > + > + For device-tree bindings of other sub-modules (regulator, power supply, > + LEDs and onkey) refer to the binding documents under the respective > + sub-system directories. > + > + For more details on GPIO bindings, please refer to the generic GPIO DT > + binding document <devicetree/bindings/gpio/gpio.txt>. > + > +properties: > + compatible: > + const: maxim,max77650 > + > + reg: > + description: > + I2C device address. > + maxItems: 1 > + > + interrupts: > + description: > + The interrupt on the parent the controller is connected to. No need for 'description' if there's only one entry and you have nothing specific about this device. > + maxItems: 1 > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + description: > + The first cell is the IRQ number, the second cell is the trigger type. > + > + gpio-controller: true > + > + "#gpio-cells": > + const: 2 > + description: > + The first cell is the pin number and the second cell is used to specify > + the gpio active state. > + > + gpio-line-names: > + $ref: '/schemas/types.yaml#/definitions/string-array' *-names already has a type, so you can drop this. > + maxItems: 1 > + description: > + Single string containing the name of the GPIO line. You need to link all the child node schemas into here. Something like this: onkey: $ref: ../input/max77650-onkey.yaml > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - "#interrupt-cells" > + - gpio-controller > + - "#gpio-cells" > + > +examples: > + - | > + pmic@48 { > + compatible = "maxim,max77650"; > + reg = <0x48>; > + > + interrupt-controller; > + interrupt-parent = <&gpio2>; > + #interrupt-cells = <2>; > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > + > + gpio-controller; > + #gpio-cells = <2>; > + gpio-line-names = "max77650-charger"; I'd prefer to see a complete example here rather than piecemeal examples scattered. Rob > + }; > -- > 2.23.0 >
On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Convert the binding document for MAX77650 core MFD module to YAML. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > 2 files changed, 84 insertions(+), 46 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > index b529d8d19335..080871686b3b 100644 > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > @@ -1,46 +1 @@ > -MAX77650 ultra low-power PMIC from Maxim Integrated. > - > -Required properties: > -------------------- > -- compatible: Must be "maxim,max77650" > -- reg: I2C device address. > -- interrupts: The interrupt on the parent the controller is > - connected to. > -- interrupt-controller: Marks the device node as an interrupt controller. > -- #interrupt-cells: Must be <2>. > - > -- gpio-controller: Marks the device node as a gpio controller. > -- #gpio-cells: Must be <2>. The first cell is the pin number and > - the second cell is used to specify the gpio active > - state. > - > -Optional properties: > --------------------- > -gpio-line-names: Single string containing the name of the GPIO line. > - > -The GPIO-controller module is represented as part of the top-level PMIC > -node. The device exposes a single GPIO line. > - > -For device-tree bindings of other sub-modules (regulator, power supply, > -LEDs and onkey) refer to the binding documents under the respective > -sub-system directories. > - > -For more details on GPIO bindings, please refer to the generic GPIO DT > -binding document <devicetree/bindings/gpio/gpio.txt>. > - > -Example: > --------- > - > - pmic@48 { > - compatible = "maxim,max77650"; > - reg = <0x48>; > - > - interrupt-controller; > - interrupt-parent = <&gpio2>; > - #interrupt-cells = <2>; > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > - > - gpio-controller; > - #gpio-cells = <2>; > - gpio-line-names = "max77650-charger"; > - }; > +This file has been moved to max77650.yaml. > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > new file mode 100644 > index 000000000000..5186ad287ec7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > + > +maintainers: > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > + > +description: | > + This document describes the DT properties of the core MFD controller. > + > + The GPIO-controller module is represented as part of the top-level PMIC > + node. The device exposes a single GPIO line. > + > + For device-tree bindings of other sub-modules (regulator, power supply, > + LEDs and onkey) refer to the binding documents under the respective > + sub-system directories. > + > + For more details on GPIO bindings, please refer to the generic GPIO DT > + binding document <devicetree/bindings/gpio/gpio.txt>. > + > +properties: > + compatible: > + const: maxim,max77650 > + > + reg: > + description: > + I2C device address. > + maxItems: 1 > + > + interrupts: > + description: > + The interrupt on the parent the controller is connected to. > + maxItems: 1 > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + description: > + The first cell is the IRQ number, the second cell is the trigger type. > + > + gpio-controller: true > + > + "#gpio-cells": > + const: 2 > + description: > + The first cell is the pin number and the second cell is used to specify > + the gpio active state. > + > + gpio-line-names: > + $ref: '/schemas/types.yaml#/definitions/string-array' > + maxItems: 1 > + description: > + Single string containing the name of the GPIO line. > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - "#interrupt-cells" > + - gpio-controller > + - "#gpio-cells" > + > +examples: > + - | > + pmic@48 { > + compatible = "maxim,max77650"; > + reg = <0x48>; > + > + interrupt-controller; > + interrupt-parent = <&gpio2>; > + #interrupt-cells = <2>; > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; Examples are built now. Run 'make dt_binding_check' on bindings before sending them: Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30 syntax error FATAL ERROR: Unable to parse input tree scripts/Makefile.lib:321: recipe for target 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml' failed make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml] Error 1 You need to include any includes that you use. Rob
wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a): > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > Convert the binding document for MAX77650 core MFD module to YAML. > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > --- > > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > > 2 files changed, 84 insertions(+), 46 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > > index b529d8d19335..080871686b3b 100644 > > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > > @@ -1,46 +1 @@ > > -MAX77650 ultra low-power PMIC from Maxim Integrated. > > - > > -Required properties: > > -------------------- > > -- compatible: Must be "maxim,max77650" > > -- reg: I2C device address. > > -- interrupts: The interrupt on the parent the controller is > > - connected to. > > -- interrupt-controller: Marks the device node as an interrupt controller. > > -- #interrupt-cells: Must be <2>. > > - > > -- gpio-controller: Marks the device node as a gpio controller. > > -- #gpio-cells: Must be <2>. The first cell is the pin number and > > - the second cell is used to specify the gpio active > > - state. > > - > > -Optional properties: > > --------------------- > > -gpio-line-names: Single string containing the name of the GPIO line. > > - > > -The GPIO-controller module is represented as part of the top-level PMIC > > -node. The device exposes a single GPIO line. > > - > > -For device-tree bindings of other sub-modules (regulator, power supply, > > -LEDs and onkey) refer to the binding documents under the respective > > -sub-system directories. > > - > > -For more details on GPIO bindings, please refer to the generic GPIO DT > > -binding document <devicetree/bindings/gpio/gpio.txt>. > > - > > -Example: > > --------- > > - > > - pmic@48 { > > - compatible = "maxim,max77650"; > > - reg = <0x48>; > > - > > - interrupt-controller; > > - interrupt-parent = <&gpio2>; > > - #interrupt-cells = <2>; > > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > - > > - gpio-controller; > > - #gpio-cells = <2>; > > - gpio-line-names = "max77650-charger"; > > - }; > > +This file has been moved to max77650.yaml. > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > > new file mode 100644 > > index 000000000000..5186ad287ec7 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > > @@ -0,0 +1,83 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > > + > > +maintainers: > > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > > + > > +description: | > > + This document describes the DT properties of the core MFD controller. > > + > > + The GPIO-controller module is represented as part of the top-level PMIC > > + node. The device exposes a single GPIO line. > > + > > + For device-tree bindings of other sub-modules (regulator, power supply, > > + LEDs and onkey) refer to the binding documents under the respective > > + sub-system directories. > > + > > + For more details on GPIO bindings, please refer to the generic GPIO DT > > + binding document <devicetree/bindings/gpio/gpio.txt>. > > + > > +properties: > > + compatible: > > + const: maxim,max77650 > > + > > + reg: > > + description: > > + I2C device address. > > + maxItems: 1 > > + > > + interrupts: > > + description: > > + The interrupt on the parent the controller is connected to. > > + maxItems: 1 > > + > > + interrupt-controller: true > > + > > + "#interrupt-cells": > > + const: 2 > > + description: > > + The first cell is the IRQ number, the second cell is the trigger type. > > + > > + gpio-controller: true > > + > > + "#gpio-cells": > > + const: 2 > > + description: > > + The first cell is the pin number and the second cell is used to specify > > + the gpio active state. > > + > > + gpio-line-names: > > + $ref: '/schemas/types.yaml#/definitions/string-array' > > + maxItems: 1 > > + description: > > + Single string containing the name of the GPIO line. > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - interrupt-controller > > + - "#interrupt-cells" > > + - gpio-controller > > + - "#gpio-cells" > > + > > +examples: > > + - | > > + pmic@48 { > > + compatible = "maxim,max77650"; > > + reg = <0x48>; > > + > > + interrupt-controller; > > + interrupt-parent = <&gpio2>; > > + #interrupt-cells = <2>; > > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > Examples are built now. Run 'make dt_binding_check' on bindings before > sending them: > > Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30 > syntax error > FATAL ERROR: Unable to parse input tree > scripts/Makefile.lib:321: recipe for target > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml' > failed > make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml] > Error 1 > > You need to include any includes that you use. > > Rob Hi Rob, thanks for the review. I'm on v5.4-rc3 and when running dt_binding_check, the error I'm getting is this: # make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/max77650.yaml SCHEMA Documentation/devicetree/bindings/processed-schema.yaml CHKDT Documentation/devicetree/bindings/mfd/max77650.yaml make[1]: *** No rule to make target 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml', needed by '__build'. Stop. make: *** [Makefile:1263: dt_binding_check] Error 2 Is this caused by the same issue or am I missing something? Bartosz
On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a): > > > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > > Convert the binding document for MAX77650 core MFD module to YAML. > > > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > --- > > > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > > > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > > > 2 files changed, 84 insertions(+), 46 deletions(-) > > > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > > > index b529d8d19335..080871686b3b 100644 > > > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > > > @@ -1,46 +1 @@ > > > -MAX77650 ultra low-power PMIC from Maxim Integrated. > > > - > > > -Required properties: > > > -------------------- > > > -- compatible: Must be "maxim,max77650" > > > -- reg: I2C device address. > > > -- interrupts: The interrupt on the parent the controller is > > > - connected to. > > > -- interrupt-controller: Marks the device node as an interrupt controller. > > > -- #interrupt-cells: Must be <2>. > > > - > > > -- gpio-controller: Marks the device node as a gpio controller. > > > -- #gpio-cells: Must be <2>. The first cell is the pin number and > > > - the second cell is used to specify the gpio active > > > - state. > > > - > > > -Optional properties: > > > --------------------- > > > -gpio-line-names: Single string containing the name of the GPIO line. > > > - > > > -The GPIO-controller module is represented as part of the top-level PMIC > > > -node. The device exposes a single GPIO line. > > > - > > > -For device-tree bindings of other sub-modules (regulator, power supply, > > > -LEDs and onkey) refer to the binding documents under the respective > > > -sub-system directories. > > > - > > > -For more details on GPIO bindings, please refer to the generic GPIO DT > > > -binding document <devicetree/bindings/gpio/gpio.txt>. > > > - > > > -Example: > > > --------- > > > - > > > - pmic@48 { > > > - compatible = "maxim,max77650"; > > > - reg = <0x48>; > > > - > > > - interrupt-controller; > > > - interrupt-parent = <&gpio2>; > > > - #interrupt-cells = <2>; > > > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > - > > > - gpio-controller; > > > - #gpio-cells = <2>; > > > - gpio-line-names = "max77650-charger"; > > > - }; > > > +This file has been moved to max77650.yaml. > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > new file mode 100644 > > > index 000000000000..5186ad287ec7 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > @@ -0,0 +1,83 @@ > > > +# SPDX-License-Identifier: GPL-2.0 > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > > > + > > > +maintainers: > > > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > + > > > +description: | > > > + This document describes the DT properties of the core MFD controller. > > > + > > > + The GPIO-controller module is represented as part of the top-level PMIC > > > + node. The device exposes a single GPIO line. > > > + > > > + For device-tree bindings of other sub-modules (regulator, power supply, > > > + LEDs and onkey) refer to the binding documents under the respective > > > + sub-system directories. > > > + > > > + For more details on GPIO bindings, please refer to the generic GPIO DT > > > + binding document <devicetree/bindings/gpio/gpio.txt>. > > > + > > > +properties: > > > + compatible: > > > + const: maxim,max77650 > > > + > > > + reg: > > > + description: > > > + I2C device address. > > > + maxItems: 1 > > > + > > > + interrupts: > > > + description: > > > + The interrupt on the parent the controller is connected to. > > > + maxItems: 1 > > > + > > > + interrupt-controller: true > > > + > > > + "#interrupt-cells": > > > + const: 2 > > > + description: > > > + The first cell is the IRQ number, the second cell is the trigger type. > > > + > > > + gpio-controller: true > > > + > > > + "#gpio-cells": > > > + const: 2 > > > + description: > > > + The first cell is the pin number and the second cell is used to specify > > > + the gpio active state. > > > + > > > + gpio-line-names: > > > + $ref: '/schemas/types.yaml#/definitions/string-array' > > > + maxItems: 1 > > > + description: > > > + Single string containing the name of the GPIO line. > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - interrupts > > > + - interrupt-controller > > > + - "#interrupt-cells" > > > + - gpio-controller > > > + - "#gpio-cells" > > > + > > > +examples: > > > + - | > > > + pmic@48 { > > > + compatible = "maxim,max77650"; > > > + reg = <0x48>; > > > + > > > + interrupt-controller; > > > + interrupt-parent = <&gpio2>; > > > + #interrupt-cells = <2>; > > > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > > Examples are built now. Run 'make dt_binding_check' on bindings before > > sending them: > > > > Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30 > > syntax error > > FATAL ERROR: Unable to parse input tree > > scripts/Makefile.lib:321: recipe for target > > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml' > > failed > > make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml] > > Error 1 > > > > You need to include any includes that you use. > > > > Rob > > Hi Rob, > > thanks for the review. > > I'm on v5.4-rc3 and when running dt_binding_check, the error I'm > getting is this: > > # make dt_binding_check > DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/max77650.yaml > SCHEMA Documentation/devicetree/bindings/processed-schema.yaml > CHKDT Documentation/devicetree/bindings/mfd/max77650.yaml > make[1]: *** No rule to make target > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml', > needed by '__build'. Stop. > make: *** [Makefile:1263: dt_binding_check] Error 2 > > Is this caused by the same issue or am I missing something? I believe that's because dtc needs to be built with libyaml support. Rob
śr., 16 paź 2019 o 15:51 Rob Herring <robh+dt@kernel.org> napisał(a): > > On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a): > > > > > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > > > > Convert the binding document for MAX77650 core MFD module to YAML. > > > > > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > --- > > > > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > > > > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > > > > 2 files changed, 84 insertions(+), 46 deletions(-) > > > > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > > > > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > > > > index b529d8d19335..080871686b3b 100644 > > > > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > > > > @@ -1,46 +1 @@ > > > > -MAX77650 ultra low-power PMIC from Maxim Integrated. > > > > - > > > > -Required properties: > > > > -------------------- > > > > -- compatible: Must be "maxim,max77650" > > > > -- reg: I2C device address. > > > > -- interrupts: The interrupt on the parent the controller is > > > > - connected to. > > > > -- interrupt-controller: Marks the device node as an interrupt controller. > > > > -- #interrupt-cells: Must be <2>. > > > > - > > > > -- gpio-controller: Marks the device node as a gpio controller. > > > > -- #gpio-cells: Must be <2>. The first cell is the pin number and > > > > - the second cell is used to specify the gpio active > > > > - state. > > > > - > > > > -Optional properties: > > > > --------------------- > > > > -gpio-line-names: Single string containing the name of the GPIO line. > > > > - > > > > -The GPIO-controller module is represented as part of the top-level PMIC > > > > -node. The device exposes a single GPIO line. > > > > - > > > > -For device-tree bindings of other sub-modules (regulator, power supply, > > > > -LEDs and onkey) refer to the binding documents under the respective > > > > -sub-system directories. > > > > - > > > > -For more details on GPIO bindings, please refer to the generic GPIO DT > > > > -binding document <devicetree/bindings/gpio/gpio.txt>. > > > > - > > > > -Example: > > > > --------- > > > > - > > > > - pmic@48 { > > > > - compatible = "maxim,max77650"; > > > > - reg = <0x48>; > > > > - > > > > - interrupt-controller; > > > > - interrupt-parent = <&gpio2>; > > > > - #interrupt-cells = <2>; > > > > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > > - > > > > - gpio-controller; > > > > - #gpio-cells = <2>; > > > > - gpio-line-names = "max77650-charger"; > > > > - }; > > > > +This file has been moved to max77650.yaml. > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > > new file mode 100644 > > > > index 000000000000..5186ad287ec7 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > > @@ -0,0 +1,83 @@ > > > > +# SPDX-License-Identifier: GPL-2.0 > > > > +%YAML 1.2 > > > > +--- > > > > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > + > > > > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > > > > + > > > > +maintainers: > > > > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > + > > > > +description: | > > > > + This document describes the DT properties of the core MFD controller. > > > > + > > > > + The GPIO-controller module is represented as part of the top-level PMIC > > > > + node. The device exposes a single GPIO line. > > > > + > > > > + For device-tree bindings of other sub-modules (regulator, power supply, > > > > + LEDs and onkey) refer to the binding documents under the respective > > > > + sub-system directories. > > > > + > > > > + For more details on GPIO bindings, please refer to the generic GPIO DT > > > > + binding document <devicetree/bindings/gpio/gpio.txt>. > > > > + > > > > +properties: > > > > + compatible: > > > > + const: maxim,max77650 > > > > + > > > > + reg: > > > > + description: > > > > + I2C device address. > > > > + maxItems: 1 > > > > + > > > > + interrupts: > > > > + description: > > > > + The interrupt on the parent the controller is connected to. > > > > + maxItems: 1 > > > > + > > > > + interrupt-controller: true > > > > + > > > > + "#interrupt-cells": > > > > + const: 2 > > > > + description: > > > > + The first cell is the IRQ number, the second cell is the trigger type. > > > > + > > > > + gpio-controller: true > > > > + > > > > + "#gpio-cells": > > > > + const: 2 > > > > + description: > > > > + The first cell is the pin number and the second cell is used to specify > > > > + the gpio active state. > > > > + > > > > + gpio-line-names: > > > > + $ref: '/schemas/types.yaml#/definitions/string-array' > > > > + maxItems: 1 > > > > + description: > > > > + Single string containing the name of the GPIO line. > > > > + > > > > +required: > > > > + - compatible > > > > + - reg > > > > + - interrupts > > > > + - interrupt-controller > > > > + - "#interrupt-cells" > > > > + - gpio-controller > > > > + - "#gpio-cells" > > > > + > > > > +examples: > > > > + - | > > > > + pmic@48 { > > > > + compatible = "maxim,max77650"; > > > > + reg = <0x48>; > > > > + > > > > + interrupt-controller; > > > > + interrupt-parent = <&gpio2>; > > > > + #interrupt-cells = <2>; > > > > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > > > > Examples are built now. Run 'make dt_binding_check' on bindings before > > > sending them: > > > > > > Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30 > > > syntax error > > > FATAL ERROR: Unable to parse input tree > > > scripts/Makefile.lib:321: recipe for target > > > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml' > > > failed > > > make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml] > > > Error 1 > > > > > > You need to include any includes that you use. > > > > > > Rob > > > > Hi Rob, > > > > thanks for the review. > > > > I'm on v5.4-rc3 and when running dt_binding_check, the error I'm > > getting is this: > > > > # make dt_binding_check > > DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/max77650.yaml > > SCHEMA Documentation/devicetree/bindings/processed-schema.yaml > > CHKDT Documentation/devicetree/bindings/mfd/max77650.yaml > > make[1]: *** No rule to make target > > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml', > > needed by '__build'. Stop. > > make: *** [Makefile:1263: dt_binding_check] Error 2 > > > > Is this caused by the same issue or am I missing something? > > I believe that's because dtc needs to be built with libyaml support. > Indeed, I didn't have the development package installed, but surprisingly I didn't get the warning from scripts/dtc/Makefile about that either. Bart > Rob
On Wed, Oct 16, 2019 at 10:29 AM Bartosz Golaszewski <bgolaszewski@baylibre.com> wrote: > > śr., 16 paź 2019 o 15:51 Rob Herring <robh+dt@kernel.org> napisał(a): > > > > On Wed, Oct 16, 2019 at 7:55 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > wt., 15 paź 2019 o 23:17 Rob Herring <robh+dt@kernel.org> napisał(a): > > > > > > > > On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > > > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > > > > > > Convert the binding document for MAX77650 core MFD module to YAML. > > > > > > > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > --- > > > > > .../devicetree/bindings/mfd/max77650.txt | 47 +---------- > > > > > .../devicetree/bindings/mfd/max77650.yaml | 83 +++++++++++++++++++ > > > > > 2 files changed, 84 insertions(+), 46 deletions(-) > > > > > create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt > > > > > index b529d8d19335..080871686b3b 100644 > > > > > --- a/Documentation/devicetree/bindings/mfd/max77650.txt > > > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.txt > > > > > @@ -1,46 +1 @@ > > > > > -MAX77650 ultra low-power PMIC from Maxim Integrated. > > > > > - > > > > > -Required properties: > > > > > -------------------- > > > > > -- compatible: Must be "maxim,max77650" > > > > > -- reg: I2C device address. > > > > > -- interrupts: The interrupt on the parent the controller is > > > > > - connected to. > > > > > -- interrupt-controller: Marks the device node as an interrupt controller. > > > > > -- #interrupt-cells: Must be <2>. > > > > > - > > > > > -- gpio-controller: Marks the device node as a gpio controller. > > > > > -- #gpio-cells: Must be <2>. The first cell is the pin number and > > > > > - the second cell is used to specify the gpio active > > > > > - state. > > > > > - > > > > > -Optional properties: > > > > > --------------------- > > > > > -gpio-line-names: Single string containing the name of the GPIO line. > > > > > - > > > > > -The GPIO-controller module is represented as part of the top-level PMIC > > > > > -node. The device exposes a single GPIO line. > > > > > - > > > > > -For device-tree bindings of other sub-modules (regulator, power supply, > > > > > -LEDs and onkey) refer to the binding documents under the respective > > > > > -sub-system directories. > > > > > - > > > > > -For more details on GPIO bindings, please refer to the generic GPIO DT > > > > > -binding document <devicetree/bindings/gpio/gpio.txt>. > > > > > - > > > > > -Example: > > > > > --------- > > > > > - > > > > > - pmic@48 { > > > > > - compatible = "maxim,max77650"; > > > > > - reg = <0x48>; > > > > > - > > > > > - interrupt-controller; > > > > > - interrupt-parent = <&gpio2>; > > > > > - #interrupt-cells = <2>; > > > > > - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > > > - > > > > > - gpio-controller; > > > > > - #gpio-cells = <2>; > > > > > - gpio-line-names = "max77650-charger"; > > > > > - }; > > > > > +This file has been moved to max77650.yaml. > > > > > diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > > > new file mode 100644 > > > > > index 000000000000..5186ad287ec7 > > > > > --- /dev/null > > > > > +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml > > > > > @@ -0,0 +1,83 @@ > > > > > +# SPDX-License-Identifier: GPL-2.0 > > > > > +%YAML 1.2 > > > > > +--- > > > > > +$id: http://devicetree.org/schemas/mfd/max77650.yaml# > > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > > + > > > > > +title: MAX77650 ultra low-power PMIC from Maxim Integrated. > > > > > + > > > > > +maintainers: > > > > > + - Bartosz Golaszewski <bgolaszewski@baylibre.com> > > > > > + > > > > > +description: | > > > > > + This document describes the DT properties of the core MFD controller. > > > > > + > > > > > + The GPIO-controller module is represented as part of the top-level PMIC > > > > > + node. The device exposes a single GPIO line. > > > > > + > > > > > + For device-tree bindings of other sub-modules (regulator, power supply, > > > > > + LEDs and onkey) refer to the binding documents under the respective > > > > > + sub-system directories. > > > > > + > > > > > + For more details on GPIO bindings, please refer to the generic GPIO DT > > > > > + binding document <devicetree/bindings/gpio/gpio.txt>. > > > > > + > > > > > +properties: > > > > > + compatible: > > > > > + const: maxim,max77650 > > > > > + > > > > > + reg: > > > > > + description: > > > > > + I2C device address. > > > > > + maxItems: 1 > > > > > + > > > > > + interrupts: > > > > > + description: > > > > > + The interrupt on the parent the controller is connected to. > > > > > + maxItems: 1 > > > > > + > > > > > + interrupt-controller: true > > > > > + > > > > > + "#interrupt-cells": > > > > > + const: 2 > > > > > + description: > > > > > + The first cell is the IRQ number, the second cell is the trigger type. > > > > > + > > > > > + gpio-controller: true > > > > > + > > > > > + "#gpio-cells": > > > > > + const: 2 > > > > > + description: > > > > > + The first cell is the pin number and the second cell is used to specify > > > > > + the gpio active state. > > > > > + > > > > > + gpio-line-names: > > > > > + $ref: '/schemas/types.yaml#/definitions/string-array' > > > > > + maxItems: 1 > > > > > + description: > > > > > + Single string containing the name of the GPIO line. > > > > > + > > > > > +required: > > > > > + - compatible > > > > > + - reg > > > > > + - interrupts > > > > > + - interrupt-controller > > > > > + - "#interrupt-cells" > > > > > + - gpio-controller > > > > > + - "#gpio-cells" > > > > > + > > > > > +examples: > > > > > + - | > > > > > + pmic@48 { > > > > > + compatible = "maxim,max77650"; > > > > > + reg = <0x48>; > > > > > + > > > > > + interrupt-controller; > > > > > + interrupt-parent = <&gpio2>; > > > > > + #interrupt-cells = <2>; > > > > > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > > > > > > > > Examples are built now. Run 'make dt_binding_check' on bindings before > > > > sending them: > > > > > > > > Error: Documentation/devicetree/bindings/mfd/max77650.example.dts:24.29-30 > > > > syntax error > > > > FATAL ERROR: Unable to parse input tree > > > > scripts/Makefile.lib:321: recipe for target > > > > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml' > > > > failed > > > > make[1]: *** [Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml] > > > > Error 1 > > > > > > > > You need to include any includes that you use. > > > > > > > > Rob > > > > > > Hi Rob, > > > > > > thanks for the review. > > > > > > I'm on v5.4-rc3 and when running dt_binding_check, the error I'm > > > getting is this: > > > > > > # make dt_binding_check > > > DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/max77650.yaml > > > SCHEMA Documentation/devicetree/bindings/processed-schema.yaml > > > CHKDT Documentation/devicetree/bindings/mfd/max77650.yaml > > > make[1]: *** No rule to make target > > > 'Documentation/devicetree/bindings/mfd/max77650.example.dt.yaml', > > > needed by '__build'. Stop. > > > make: *** [Makefile:1263: dt_binding_check] Error 2 > > > > > > Is this caused by the same issue or am I missing something? > > > > I believe that's because dtc needs to be built with libyaml support. > > > > Indeed, I didn't have the development package installed, but > surprisingly I didn't get the warning from scripts/dtc/Makefile about > that either. That's because CHECK_DTBS only gets set for 'dtbs_check' and not 'dt_binding_check'. I'm testing whether I can add it. The issue is I also want to enable 'dt_binding_check', but not 'dtbs_check' for all{yes,mod}config. I guess I need 2 variables or some other approach. Rob
diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt index b529d8d19335..080871686b3b 100644 --- a/Documentation/devicetree/bindings/mfd/max77650.txt +++ b/Documentation/devicetree/bindings/mfd/max77650.txt @@ -1,46 +1 @@ -MAX77650 ultra low-power PMIC from Maxim Integrated. - -Required properties: -------------------- -- compatible: Must be "maxim,max77650" -- reg: I2C device address. -- interrupts: The interrupt on the parent the controller is - connected to. -- interrupt-controller: Marks the device node as an interrupt controller. -- #interrupt-cells: Must be <2>. - -- gpio-controller: Marks the device node as a gpio controller. -- #gpio-cells: Must be <2>. The first cell is the pin number and - the second cell is used to specify the gpio active - state. - -Optional properties: --------------------- -gpio-line-names: Single string containing the name of the GPIO line. - -The GPIO-controller module is represented as part of the top-level PMIC -node. The device exposes a single GPIO line. - -For device-tree bindings of other sub-modules (regulator, power supply, -LEDs and onkey) refer to the binding documents under the respective -sub-system directories. - -For more details on GPIO bindings, please refer to the generic GPIO DT -binding document <devicetree/bindings/gpio/gpio.txt>. - -Example: --------- - - pmic@48 { - compatible = "maxim,max77650"; - reg = <0x48>; - - interrupt-controller; - interrupt-parent = <&gpio2>; - #interrupt-cells = <2>; - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; - - gpio-controller; - #gpio-cells = <2>; - gpio-line-names = "max77650-charger"; - }; +This file has been moved to max77650.yaml. diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml new file mode 100644 index 000000000000..5186ad287ec7 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/max77650.yaml @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/max77650.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MAX77650 ultra low-power PMIC from Maxim Integrated. + +maintainers: + - Bartosz Golaszewski <bgolaszewski@baylibre.com> + +description: | + This document describes the DT properties of the core MFD controller. + + The GPIO-controller module is represented as part of the top-level PMIC + node. The device exposes a single GPIO line. + + For device-tree bindings of other sub-modules (regulator, power supply, + LEDs and onkey) refer to the binding documents under the respective + sub-system directories. + + For more details on GPIO bindings, please refer to the generic GPIO DT + binding document <devicetree/bindings/gpio/gpio.txt>. + +properties: + compatible: + const: maxim,max77650 + + reg: + description: + I2C device address. + maxItems: 1 + + interrupts: + description: + The interrupt on the parent the controller is connected to. + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + description: + The first cell is the IRQ number, the second cell is the trigger type. + + gpio-controller: true + + "#gpio-cells": + const: 2 + description: + The first cell is the pin number and the second cell is used to specify + the gpio active state. + + gpio-line-names: + $ref: '/schemas/types.yaml#/definitions/string-array' + maxItems: 1 + description: + Single string containing the name of the GPIO line. + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - "#interrupt-cells" + - gpio-controller + - "#gpio-cells" + +examples: + - | + pmic@48 { + compatible = "maxim,max77650"; + reg = <0x48>; + + interrupt-controller; + interrupt-parent = <&gpio2>; + #interrupt-cells = <2>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; + + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = "max77650-charger"; + };