1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Dialog Semiconductor DA9121 voltage regulator 8 9maintainers: 10 - Adam Ward <Adam.Ward.opensource@diasemi.com> 11 12description: | 13 Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter 14 Dialog Semiconductor DA9122 Double-channel 5A single-phase buck converter 15 Dialog Semiconductor DA9220 Double-channel 3A single-phase buck converter 16 Dialog Semiconductor DA9217 Single-channel 6A double-phase buck converter 17 Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter 18 Dialog Semiconductor DA9131 Double-channel 5A single-phase buck converter 19 Dialog Semiconductor DA9132 Double-channel 3A single-phase buck converter 20 Dialog Semiconductor DA9141 Single-channel 40A quad-phase buck converter 21 Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter 22 23 Device parameter ranges 24 25 The current limits can be set to at/near double the rated current per channel 26 to allow for transient peaks. 27 Current limit changes when the output is enabled are not supported, as a 28 precaution against undefined behaviour. 29 30 |----------------------------------------------| 31 | | range & reset default value | 32 | Device |------------------------------| 33 | | microvolt | microamp | 34 |----------------------------------------------| 35 | DA9121/DA9130 | Min: 300000 | Min: 7000000 | 36 | | Max: 1900000 | Max: 20000000 | 37 |----------------------------------------------| 38 | DA9121/DA9131 | Min: 300000 | Min: 3500000 | 39 | | Max: 1900000 | Max: 10000000 | 40 |----------------------------------------------| 41 | DA9121/DA9131 | Min: 300000 | Min: 3500000 | 42 | | Max: 1900000 | Max: 6000000 | 43 |----------------------------------------------| 44 | DA9217 | Min: 300000 | Min: 7000000 | 45 | | Max: 1900000 | Max: 12000000 | 46 |----------------------------------------------| 47 | DA9141 | Min: 300000 | Min: 26000000 | 48 | | Max: 1300000 | Max: 78000000 | 49 |----------------------------------------------| 50 | DA9142 | Min: 300000 | Min: 13000000 | 51 | | Max: 1300000 | Max: 39000000 | 52 |----------------------------------------------| 53 54properties: 55 $nodename: 56 pattern: "pmic@[0-9a-f]{1,2}" 57 compatible: 58 enum: 59 - dlg,da9121 60 - dlg,da9122 61 - dlg,da9220 62 - dlg,da9217 63 - dlg,da9130 64 - dlg,da9131 65 - dlg,da9132 66 - dlg,da9141 67 - dlg,da9142 68 69 reg: 70 maxItems: 1 71 description: Specifies the I2C slave address. 72 73 interrupts: 74 maxItems: 1 75 description: IRQ line information. 76 77 dlg,irq-polling-delay-passive-ms: 78 minimum: 1000 79 maximum: 10000 80 description: | 81 Specify the polling period, measured in milliseconds, between interrupt status 82 update checks. Range 1000-10000 ms. 83 84 regulators: 85 type: object 86 additionalProperties: false 87 description: | 88 List of regulators provided by the device 89 90 patternProperties: 91 "^buck([1-2])$": 92 type: object 93 $ref: regulator.yaml# 94 description: | 95 Properties for a single BUCK regulator 96 97 properties: 98 regulator-initial-mode: 99 enum: [ 0, 1, 2, 3 ] 100 description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 101 102 enable-gpios: 103 maxItems: 1 104 description: Specify a valid GPIO for platform control of the regulator 105 106 dlg,ripple-cancel: 107 $ref: /schemas/types.yaml#/definitions/uint32 108 enum: [ 0, 1, 2, 3 ] 109 description: | 110 Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 111 Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132) 112 113 unevaluatedProperties: false 114 115required: 116 - compatible 117 - reg 118 - regulators 119 120allOf: 121 - if: 122 properties: 123 compatible: 124 not: 125 contains: 126 enum: 127 - dlg,da9122 128 - dlg,da9131 129 - dlg,da9132 130 - dlg,da9220 131 then: 132 properties: 133 regulators: 134 properties: 135 buck2: false 136 137additionalProperties: false 138 139examples: 140 - | 141 #include <dt-bindings/gpio/gpio.h> 142 #include <dt-bindings/interrupt-controller/irq.h> 143 #include <dt-bindings/regulator/dlg,da9121-regulator.h> 144 i2c { 145 #address-cells = <1>; 146 #size-cells = <0>; 147 pmic@68 { 148 compatible = "dlg,da9121"; 149 reg = <0x68>; 150 151 interrupt-parent = <&gpio6>; 152 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 153 154 dlg,irq-polling-delay-passive-ms = <2000>; 155 156 regulators { 157 DA9121_BUCK1: buck1 { 158 regulator-name = "BUCK1"; 159 regulator-min-microvolt = <300000>; 160 regulator-max-microvolt = <1900000>; 161 regulator-min-microamp = <7000000>; 162 regulator-max-microamp = <20000000>; 163 regulator-boot-on; 164 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 165 enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; 166 }; 167 }; 168 }; 169 }; 170 171 - | 172 #include <dt-bindings/gpio/gpio.h> 173 #include <dt-bindings/interrupt-controller/irq.h> 174 #include <dt-bindings/regulator/dlg,da9121-regulator.h> 175 i2c { 176 #address-cells = <1>; 177 #size-cells = <0>; 178 pmic@68 { 179 compatible = "dlg,da9122"; 180 reg = <0x68>; 181 182 interrupt-parent = <&gpio6>; 183 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 184 185 dlg,irq-polling-delay-passive-ms = <2000>; 186 187 regulators { 188 DA9122_BUCK1: buck1 { 189 regulator-name = "BUCK1"; 190 regulator-min-microvolt = <300000>; 191 regulator-max-microvolt = <1900000>; 192 regulator-min-microamp = <3500000>; 193 regulator-max-microamp = <10000000>; 194 regulator-boot-on; 195 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 196 enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; 197 dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 198 }; 199 DA9122_BUCK2: buck2 { 200 regulator-name = "BUCK2"; 201 regulator-min-microvolt = <300000>; 202 regulator-max-microvolt = <1900000>; 203 regulator-min-microamp = <3500000>; 204 regulator-max-microamp = <10000000>; 205 regulator-boot-on; 206 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 207 enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; 208 dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 209 }; 210 }; 211 }; 212 }; 213... 214