Convert the existing text-based DT bindings for Dialog Semiconductor DA9211
Voltage Regulators family to a YAML schema. Examples are simplified, as
these are all equal.
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
---
.../devicetree/bindings/regulator/da9211.txt | 205 ------------------
.../bindings/regulator/dlg,da9211.yaml | 104 +++++++++
2 files changed, 104 insertions(+), 205 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/da9211.txt
create mode 100644 Documentation/devicetree/bindings/regulator/dlg,da9211.yaml
diff --git a/Documentation/devicetree/bindings/regulator/da9211.txt b/Documentation/devicetree/bindings/regulator/da9211.txt
deleted file mode 100644
index eb871447d5082..0000000000000
--- a/Documentation/devicetree/bindings/regulator/da9211.txt
+++ /dev/null
@@ -1,205 +0,0 @@
-* Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225
- Voltage Regulator
-
-Required properties:
-- compatible: "dlg,da9211" or "dlg,da9212" or "dlg,da9213" or "dlg,da9223"
- or "dlg,da9214" or "dlg,da9224" or "dlg,da9215" or "dlg,da9225"
-- reg: I2C slave address, usually 0x68.
-- interrupts: the interrupt outputs of the controller
-- regulators: A node that houses a sub-node for each regulator within the
- device. Each sub-node is identified using the node's name, with valid
- values listed below. The content of each sub-node is defined by the
- standard binding for regulators; see regulator.txt.
- BUCKA and BUCKB.
-
-Optional properties:
-- enable-gpios: platform gpio for control of BUCKA/BUCKB.
-- Any optional property defined in regulator.txt
- - regulator-initial-mode and regulator-allowed-modes may be specified using
- mode values from dt-bindings/regulator/dlg,da9211-regulator.h
-
-Example 1) DA9211
- pmic: da9211@68 {
- compatible = "dlg,da9211";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <2000000>;
- regulator-max-microamp = <5000000>;
- enable-gpios = <&gpio 27 0>;
- regulator-allowed-modes = <DA9211_BUCK_MODE_SYNC
- DA9211_BUCK_MODE_AUTO>;
- };
- };
- };
-
-Example 2) DA9212
- pmic: da9212@68 {
- compatible = "dlg,da9212";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <2000000>;
- regulator-max-microamp = <5000000>;
- enable-gpios = <&gpio 27 0>;
- };
- BUCKB {
- regulator-name = "VBUCKB";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <2000000>;
- regulator-max-microamp = <5000000>;
- enable-gpios = <&gpio 17 0>;
- };
- };
- };
-
-Example 3) DA9213
- pmic: da9213@68 {
- compatible = "dlg,da9213";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 27 0>;
- };
- };
- };
-
-Example 4) DA9223
- pmic: da9223@68 {
- compatible = "dlg,da9223";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 27 0>;
- };
- };
- };
-
-Example 5) DA9214
- pmic: da9214@68 {
- compatible = "dlg,da9214";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 27 0>;
- };
- BUCKB {
- regulator-name = "VBUCKB";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 17 0>;
- };
- };
- };
-
-Example 6) DA9224
- pmic: da9224@68 {
- compatible = "dlg,da9224";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 27 0>;
- };
- BUCKB {
- regulator-name = "VBUCKB";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <3000000>;
- regulator-max-microamp = <6000000>;
- enable-gpios = <&gpio 17 0>;
- };
- };
- };
-
-Example 7) DA9215
- pmic: da9215@68 {
- compatible = "dlg,da9215";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <4000000>;
- regulator-max-microamp = <7000000>;
- enable-gpios = <&gpio 27 0>;
- };
- BUCKB {
- regulator-name = "VBUCKB";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <4000000>;
- regulator-max-microamp = <7000000>;
- enable-gpios = <&gpio 17 0>;
- };
- };
- };
-
-Example 8) DA9225
- pmic: da9225@68 {
- compatible = "dlg,da9225";
- reg = <0x68>;
- interrupts = <3 27>;
-
- regulators {
- BUCKA {
- regulator-name = "VBUCKA";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <4000000>;
- regulator-max-microamp = <7000000>;
- enable-gpios = <&gpio 27 0>;
- };
- BUCKB {
- regulator-name = "VBUCKB";
- regulator-min-microvolt = < 300000>;
- regulator-max-microvolt = <1570000>;
- regulator-min-microamp = <4000000>;
- regulator-max-microamp = <7000000>;
- enable-gpios = <&gpio 17 0>;
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/regulator/dlg,da9211.yaml b/Documentation/devicetree/bindings/regulator/dlg,da9211.yaml
new file mode 100644
index 0000000000000..d4c5b354497f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/dlg,da9211.yaml
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/dlg,da9211.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: |
+ Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225
+ Voltage Regulator
+
+maintainers:
+ - Ariel D'Alessandro <ariel.dalessandro@collabora.com>
+
+properties:
+ compatible:
+ enum:
+ - "dlg,da9211"
+ - "dlg,da9212"
+ - "dlg,da9213"
+ - "dlg,da9223"
+ - "dlg,da9214"
+ - "dlg,da9224"
+ - "dlg,da9215"
+ - "dlg,da9225"
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ regulators:
+ type: object
+ additionalProperties: false
+ description: |
+ List of regulators provided by the device
+
+ patternProperties:
+ "^BUCK([A-B])$":
+ type: object
+ $ref: regulator.yaml#
+ description: |
+ Properties for a single BUCK regulator
+
+ properties:
+ regulator-initial-mode:
+ items:
+ enum: [ 1, 2, 3 ]
+ description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h
+
+ regulator-allowed-modes:
+ items:
+ enum: [ 1, 2, 3 ]
+ description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h
+
+ enable-gpios:
+ maxItems: 1
+ description: Specify a valid GPIO for platform control of the regulator
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/regulator/dlg,da9211-regulator.h>
+
+ i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ da9212: da9212@68 {
+ compatible = "dlg,da9212";
+ reg = <0x68>;
+ interrupts = <3 27>;
+
+ regulators {
+ BUCKA {
+ regulator-name = "VBUCKA";
+ regulator-min-microvolt = < 300000>;
+ regulator-max-microvolt = <1570000>;
+ regulator-min-microamp = <2000000>;
+ regulator-max-microamp = <5000000>;
+ enable-gpios = <&gpio 27 0>;
+ };
+ BUCKB {
+ regulator-name = "VBUCKB";
+ regulator-min-microvolt = < 300000>;
+ regulator-max-microvolt = <1570000>;
+ regulator-min-microamp = <2000000>;
+ regulator-max-microamp = <5000000>;
+ enable-gpios = <&gpio 17 0>;
+ };
+ };
+ };
+ };
+
+...
--
2.50.1
On Wed, Aug 20, 2025 at 02:12:58PM -0300, Ariel D'Alessandro wrote: > Convert the existing text-based DT bindings for Dialog Semiconductor DA9211 > Voltage Regulators family to a YAML schema. Examples are simplified, as > these are all equal. Also not wrapped... fix your editor to recognize how commits are written. > > Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> > --- ... > +--- > +$id: http://devicetree.org/schemas/regulator/dlg,da9211.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: | Drop | > + Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 > + Voltage Regulator > + > +maintainers: > + - Ariel D'Alessandro <ariel.dalessandro@collabora.com> > + > +properties: > + compatible: > + enum: > + - "dlg,da9211" > + - "dlg,da9212" > + - "dlg,da9213" > + - "dlg,da9223" > + - "dlg,da9214" > + - "dlg,da9224" > + - "dlg,da9215" > + - "dlg,da9225" No quotes. I don't think this was ever tested. Also, keep it properly ordered > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + regulators: > + type: object > + additionalProperties: false > + description: | Drop | > + List of regulators provided by the device > + > + patternProperties: > + "^BUCK([A-B])$": [AB] > + type: object > + $ref: regulator.yaml# > + description: | > + Properties for a single BUCK regulator > + > + properties: > + regulator-initial-mode: > + items: > + enum: [ 1, 2, 3 ] > + description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h > + > + regulator-allowed-modes: > + items: > + enum: [ 1, 2, 3 ] > + description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h > + > + enable-gpios: > + maxItems: 1 > + description: Specify a valid GPIO for platform control of the regulator Drop description, obvious. > + > + unevaluatedProperties: false For nested blocks this goes after $ref: regulator. > + > +required: > + - compatible > + - reg > + - interrupts > + - regulators > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/regulator/dlg,da9211-regulator.h> > + > + i2c1 { i2c > + #address-cells = <1>; > + #size-cells = <0>; > + > + da9212: da9212@68 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation Best regards, Krzysztof
Krzysztof, On 8/21/25 3:53 AM, Krzysztof Kozlowski wrote: > On Wed, Aug 20, 2025 at 02:12:58PM -0300, Ariel D'Alessandro wrote: >> Convert the existing text-based DT bindings for Dialog Semiconductor DA9211 >> Voltage Regulators family to a YAML schema. Examples are simplified, as >> these are all equal. > > Also not wrapped... fix your editor to recognize how commits are > written. Ack. > >> >> Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> >> --- > > ... > >> +--- >> +$id: http://devicetree.org/schemas/regulator/dlg,da9211.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: | > > Drop | Ack. > >> + Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 >> + Voltage Regulator >> + >> +maintainers: >> + - Ariel D'Alessandro <ariel.dalessandro@collabora.com> >> + >> +properties: >> + compatible: >> + enum: >> + - "dlg,da9211" >> + - "dlg,da9212" >> + - "dlg,da9213" >> + - "dlg,da9223" >> + - "dlg,da9214" >> + - "dlg,da9224" >> + - "dlg,da9215" >> + - "dlg,da9225" > > No quotes. I don't think this was ever tested. Ack. > > Also, keep it properly ordered Good catch, thanks. > > >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + regulators: >> + type: object >> + additionalProperties: false >> + description: | > > Drop | Ack. > >> + List of regulators provided by the device >> + >> + patternProperties: >> + "^BUCK([A-B])$": > > [AB] Ack. > >> + type: object >> + $ref: regulator.yaml# >> + description: | >> + Properties for a single BUCK regulator >> + >> + properties: >> + regulator-initial-mode: >> + items: >> + enum: [ 1, 2, 3 ] >> + description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h >> + >> + regulator-allowed-modes: >> + items: >> + enum: [ 1, 2, 3 ] >> + description: Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h >> + >> + enable-gpios: >> + maxItems: 1 >> + description: Specify a valid GPIO for platform control of the regulator > > Drop description, obvious. Ack. > >> + >> + unevaluatedProperties: false > > For nested blocks this goes after $ref: regulator. Ack. > >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + - regulators >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/regulator/dlg,da9211-regulator.h> >> + >> + i2c1 { > > i2c Ack. > >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + da9212: da9212@68 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation Ack, thanks a lot for your help. Regards, -- Ariel D'Alessandro Software Engineer Collabora Ltd. Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK Registered in England & Wales, no. 5513718
© 2016 - 2025 Red Hat, Inc.