Unverified Commit 6277a486 authored by Ariel D'Alessandro's avatar Ariel D'Alessandro Committed by Mark Brown
Browse files

regulator: dt-bindings: Convert Dialog DA9211 Regulators to DT schema



Convert the existing text-based DT bindings for Dialog Semiconductor DA9211
Voltage Regulators family to a DT schema. Examples are simplified, as these
are all equal.

Signed-off-by: default avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patch.msgid.link/20251001183648.83379-1-ariel.dalessandro@collabora.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3a866087
Loading
Loading
Loading
Loading
+0 −205
Original line number Diff line number Diff line
* 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>;
			};
		};
	};
+103 −0
Original line number Diff line number Diff line
# 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-9215, DA9223-9225 Voltage Regulators

maintainers:
  - Ariel D'Alessandro <ariel.dalessandro@collabora.com>

properties:
  compatible:
    enum:
      - dlg,da9211
      - dlg,da9212
      - dlg,da9213
      - dlg,da9214
      - dlg,da9215
      - dlg,da9223
      - dlg,da9224
      - dlg,da9225

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  regulators:
    type: object
    additionalProperties: false
    description:
      List of regulators provided by the device

    patternProperties:
      "^BUCK([AB])$":
        type: object
        $ref: regulator.yaml#
        unevaluatedProperties: false
        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

required:
  - compatible
  - reg
  - interrupts
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/regulator/dlg,da9211-regulator.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@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>;
                };
            };
        };
    };

...