xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/dlg,da9121.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Dialog Semiconductor DA9121 voltage regulator
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Adam Ward <Adam.Ward.opensource@diasemi.com>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotdescription: |
135def4c47SEmmanuel Vadot  Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter
145def4c47SEmmanuel Vadot  Dialog Semiconductor DA9122 Double-channel  5A single-phase buck converter
155def4c47SEmmanuel Vadot  Dialog Semiconductor DA9220 Double-channel  3A single-phase buck converter
165def4c47SEmmanuel Vadot  Dialog Semiconductor DA9217 Single-channel  6A double-phase buck converter
175def4c47SEmmanuel Vadot  Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter
185def4c47SEmmanuel Vadot  Dialog Semiconductor DA9131 Double-channel  5A single-phase buck converter
195def4c47SEmmanuel Vadot  Dialog Semiconductor DA9132 Double-channel  3A single-phase buck converter
20e67e8565SEmmanuel Vadot  Dialog Semiconductor DA9141 Single-channel 40A   quad-phase buck converter
21e67e8565SEmmanuel Vadot  Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter
225def4c47SEmmanuel Vadot
23e67e8565SEmmanuel Vadot  Device parameter ranges
245def4c47SEmmanuel Vadot
25e67e8565SEmmanuel Vadot  The current limits can be set to at/near double the rated current per channel
26e67e8565SEmmanuel Vadot  to allow for transient peaks.
27e67e8565SEmmanuel Vadot  Current limit changes when the output is enabled are not supported, as a
28e67e8565SEmmanuel Vadot  precaution against undefined behaviour.
295def4c47SEmmanuel Vadot
30e67e8565SEmmanuel Vadot  |----------------------------------------------|
31e67e8565SEmmanuel Vadot  |               | range & reset default value  |
32e67e8565SEmmanuel Vadot  | Device        |------------------------------|
33e67e8565SEmmanuel Vadot  |               | microvolt    | microamp      |
34e67e8565SEmmanuel Vadot  |----------------------------------------------|
35e67e8565SEmmanuel Vadot  | DA9121/DA9130 | Min:  300000 | Min:  7000000 |
36e67e8565SEmmanuel Vadot  |               | Max: 1900000 | Max: 20000000 |
37e67e8565SEmmanuel Vadot  |----------------------------------------------|
38e67e8565SEmmanuel Vadot  | DA9121/DA9131 | Min:  300000 | Min:  3500000 |
39e67e8565SEmmanuel Vadot  |               | Max: 1900000 | Max: 10000000 |
40e67e8565SEmmanuel Vadot  |----------------------------------------------|
41e67e8565SEmmanuel Vadot  | DA9121/DA9131 | Min:  300000 | Min:  3500000 |
42e67e8565SEmmanuel Vadot  |               | Max: 1900000 | Max:  6000000 |
43e67e8565SEmmanuel Vadot  |----------------------------------------------|
44e67e8565SEmmanuel Vadot  | DA9217        | Min:  300000 | Min:  7000000 |
45e67e8565SEmmanuel Vadot  |               | Max: 1900000 | Max: 12000000 |
46e67e8565SEmmanuel Vadot  |----------------------------------------------|
47e67e8565SEmmanuel Vadot  | DA9141        | Min:  300000 | Min: 26000000 |
48e67e8565SEmmanuel Vadot  |               | Max: 1300000 | Max: 78000000 |
49e67e8565SEmmanuel Vadot  |----------------------------------------------|
50e67e8565SEmmanuel Vadot  | DA9142        | Min:  300000 | Min: 13000000 |
51e67e8565SEmmanuel Vadot  |               | Max: 1300000 | Max: 39000000 |
52e67e8565SEmmanuel Vadot  |----------------------------------------------|
535def4c47SEmmanuel Vadot
545def4c47SEmmanuel Vadotproperties:
555def4c47SEmmanuel Vadot  $nodename:
565def4c47SEmmanuel Vadot    pattern: "pmic@[0-9a-f]{1,2}"
575def4c47SEmmanuel Vadot  compatible:
585def4c47SEmmanuel Vadot    enum:
595def4c47SEmmanuel Vadot      - dlg,da9121
605def4c47SEmmanuel Vadot      - dlg,da9122
615def4c47SEmmanuel Vadot      - dlg,da9220
625def4c47SEmmanuel Vadot      - dlg,da9217
635def4c47SEmmanuel Vadot      - dlg,da9130
645def4c47SEmmanuel Vadot      - dlg,da9131
655def4c47SEmmanuel Vadot      - dlg,da9132
66e67e8565SEmmanuel Vadot      - dlg,da9141
67e67e8565SEmmanuel Vadot      - dlg,da9142
685def4c47SEmmanuel Vadot
695def4c47SEmmanuel Vadot  reg:
705def4c47SEmmanuel Vadot    maxItems: 1
715def4c47SEmmanuel Vadot    description: Specifies the I2C slave address.
725def4c47SEmmanuel Vadot
735def4c47SEmmanuel Vadot  interrupts:
745def4c47SEmmanuel Vadot    maxItems: 1
755def4c47SEmmanuel Vadot    description: IRQ line information.
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadot  dlg,irq-polling-delay-passive-ms:
785def4c47SEmmanuel Vadot    minimum: 1000
795def4c47SEmmanuel Vadot    maximum: 10000
805def4c47SEmmanuel Vadot    description: |
815def4c47SEmmanuel Vadot      Specify the polling period, measured in milliseconds, between interrupt status
825def4c47SEmmanuel Vadot      update checks. Range 1000-10000 ms.
835def4c47SEmmanuel Vadot
845def4c47SEmmanuel Vadot  regulators:
855def4c47SEmmanuel Vadot    type: object
867ef62cebSEmmanuel Vadot    additionalProperties: false
875def4c47SEmmanuel Vadot    description: |
88e67e8565SEmmanuel Vadot      List of regulators provided by the device
895def4c47SEmmanuel Vadot
905def4c47SEmmanuel Vadot    patternProperties:
915def4c47SEmmanuel Vadot      "^buck([1-2])$":
925def4c47SEmmanuel Vadot        type: object
935def4c47SEmmanuel Vadot        $ref: regulator.yaml#
94e67e8565SEmmanuel Vadot        description: |
95e67e8565SEmmanuel Vadot          Properties for a single BUCK regulator
965def4c47SEmmanuel Vadot
975def4c47SEmmanuel Vadot        properties:
985def4c47SEmmanuel Vadot          regulator-initial-mode:
99e67e8565SEmmanuel Vadot            enum: [ 0, 1, 2, 3 ]
1005def4c47SEmmanuel Vadot            description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
1015def4c47SEmmanuel Vadot
1025def4c47SEmmanuel Vadot          enable-gpios:
1035def4c47SEmmanuel Vadot            maxItems: 1
1045def4c47SEmmanuel Vadot            description: Specify a valid GPIO for platform control of the regulator
1055def4c47SEmmanuel Vadot
1065def4c47SEmmanuel Vadot          dlg,ripple-cancel:
107fac71e4eSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
108e67e8565SEmmanuel Vadot            enum: [ 0, 1, 2, 3 ]
1095def4c47SEmmanuel Vadot            description: |
1105def4c47SEmmanuel Vadot              Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
1115def4c47SEmmanuel Vadot              Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132)
1125def4c47SEmmanuel Vadot
1135def4c47SEmmanuel Vadot        unevaluatedProperties: false
1145def4c47SEmmanuel Vadot
1155def4c47SEmmanuel Vadotrequired:
1165def4c47SEmmanuel Vadot  - compatible
1175def4c47SEmmanuel Vadot  - reg
1185def4c47SEmmanuel Vadot  - regulators
1195def4c47SEmmanuel Vadot
120*aa1a8ff2SEmmanuel VadotallOf:
121*aa1a8ff2SEmmanuel Vadot  - if:
122*aa1a8ff2SEmmanuel Vadot      properties:
123*aa1a8ff2SEmmanuel Vadot        compatible:
124*aa1a8ff2SEmmanuel Vadot          not:
125*aa1a8ff2SEmmanuel Vadot            contains:
126*aa1a8ff2SEmmanuel Vadot              enum:
127*aa1a8ff2SEmmanuel Vadot                - dlg,da9122
128*aa1a8ff2SEmmanuel Vadot                - dlg,da9131
129*aa1a8ff2SEmmanuel Vadot                - dlg,da9132
130*aa1a8ff2SEmmanuel Vadot                - dlg,da9220
131*aa1a8ff2SEmmanuel Vadot    then:
132*aa1a8ff2SEmmanuel Vadot      properties:
133*aa1a8ff2SEmmanuel Vadot        regulators:
134*aa1a8ff2SEmmanuel Vadot          properties:
135*aa1a8ff2SEmmanuel Vadot            buck2: false
136*aa1a8ff2SEmmanuel Vadot
1375def4c47SEmmanuel VadotadditionalProperties: false
1385def4c47SEmmanuel Vadot
1395def4c47SEmmanuel Vadotexamples:
1405def4c47SEmmanuel Vadot  - |
1415def4c47SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1425def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1435def4c47SEmmanuel Vadot    #include <dt-bindings/regulator/dlg,da9121-regulator.h>
1445def4c47SEmmanuel Vadot    i2c {
1455def4c47SEmmanuel Vadot      #address-cells = <1>;
1465def4c47SEmmanuel Vadot      #size-cells = <0>;
1475def4c47SEmmanuel Vadot      pmic@68 {
1485def4c47SEmmanuel Vadot        compatible = "dlg,da9121";
1495def4c47SEmmanuel Vadot        reg = <0x68>;
1505def4c47SEmmanuel Vadot
1515def4c47SEmmanuel Vadot        interrupt-parent = <&gpio6>;
1525def4c47SEmmanuel Vadot        interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
1535def4c47SEmmanuel Vadot
1545def4c47SEmmanuel Vadot        dlg,irq-polling-delay-passive-ms = <2000>;
1555def4c47SEmmanuel Vadot
1565def4c47SEmmanuel Vadot        regulators {
1575def4c47SEmmanuel Vadot          DA9121_BUCK1: buck1 {
1585def4c47SEmmanuel Vadot            regulator-name = "BUCK1";
1595def4c47SEmmanuel Vadot            regulator-min-microvolt = <300000>;
1605def4c47SEmmanuel Vadot            regulator-max-microvolt = <1900000>;
1615def4c47SEmmanuel Vadot            regulator-min-microamp = <7000000>;
1625def4c47SEmmanuel Vadot            regulator-max-microamp = <20000000>;
1635def4c47SEmmanuel Vadot            regulator-boot-on;
1645def4c47SEmmanuel Vadot            regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
1655def4c47SEmmanuel Vadot            enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
1665def4c47SEmmanuel Vadot          };
1675def4c47SEmmanuel Vadot        };
1685def4c47SEmmanuel Vadot      };
1695def4c47SEmmanuel Vadot    };
1705def4c47SEmmanuel Vadot
1715def4c47SEmmanuel Vadot  - |
1725def4c47SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1735def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1745def4c47SEmmanuel Vadot    #include <dt-bindings/regulator/dlg,da9121-regulator.h>
1755def4c47SEmmanuel Vadot    i2c {
1765def4c47SEmmanuel Vadot      #address-cells = <1>;
1775def4c47SEmmanuel Vadot      #size-cells = <0>;
1785def4c47SEmmanuel Vadot      pmic@68 {
1795def4c47SEmmanuel Vadot        compatible = "dlg,da9122";
1805def4c47SEmmanuel Vadot        reg = <0x68>;
1815def4c47SEmmanuel Vadot
1825def4c47SEmmanuel Vadot        interrupt-parent = <&gpio6>;
1835def4c47SEmmanuel Vadot        interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
1845def4c47SEmmanuel Vadot
1855def4c47SEmmanuel Vadot        dlg,irq-polling-delay-passive-ms = <2000>;
1865def4c47SEmmanuel Vadot
1875def4c47SEmmanuel Vadot        regulators {
1885def4c47SEmmanuel Vadot          DA9122_BUCK1: buck1 {
1895def4c47SEmmanuel Vadot            regulator-name = "BUCK1";
1905def4c47SEmmanuel Vadot            regulator-min-microvolt = <300000>;
1915def4c47SEmmanuel Vadot            regulator-max-microvolt = <1900000>;
1925def4c47SEmmanuel Vadot            regulator-min-microamp = <3500000>;
1935def4c47SEmmanuel Vadot            regulator-max-microamp = <10000000>;
1945def4c47SEmmanuel Vadot            regulator-boot-on;
1955def4c47SEmmanuel Vadot            regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
1965def4c47SEmmanuel Vadot            enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
1975def4c47SEmmanuel Vadot            dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
1985def4c47SEmmanuel Vadot          };
1995def4c47SEmmanuel Vadot          DA9122_BUCK2: buck2 {
2005def4c47SEmmanuel Vadot            regulator-name = "BUCK2";
2015def4c47SEmmanuel Vadot            regulator-min-microvolt = <300000>;
2025def4c47SEmmanuel Vadot            regulator-max-microvolt = <1900000>;
2035def4c47SEmmanuel Vadot            regulator-min-microamp = <3500000>;
2045def4c47SEmmanuel Vadot            regulator-max-microamp = <10000000>;
2055def4c47SEmmanuel Vadot            regulator-boot-on;
2065def4c47SEmmanuel Vadot            regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
2075def4c47SEmmanuel Vadot            enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;
2085def4c47SEmmanuel Vadot            dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
2095def4c47SEmmanuel Vadot          };
2105def4c47SEmmanuel Vadot        };
2115def4c47SEmmanuel Vadot      };
2125def4c47SEmmanuel Vadot    };
2135def4c47SEmmanuel Vadot...
214