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-name: 99 pattern: "^BUCK([1-2])$" 100 description: | 101 BUCK2 present in DA9122, DA9220, DA9131, DA9132 only 102 103 regulator-initial-mode: 104 enum: [ 0, 1, 2, 3 ] 105 description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 106 107 enable-gpios: 108 maxItems: 1 109 description: Specify a valid GPIO for platform control of the regulator 110 111 dlg,ripple-cancel: 112 $ref: /schemas/types.yaml#/definitions/uint32 113 enum: [ 0, 1, 2, 3 ] 114 description: | 115 Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 116 Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132) 117 118 unevaluatedProperties: false 119 120required: 121 - compatible 122 - reg 123 - regulators 124 125additionalProperties: false 126 127examples: 128 - | 129 #include <dt-bindings/gpio/gpio.h> 130 #include <dt-bindings/interrupt-controller/irq.h> 131 #include <dt-bindings/regulator/dlg,da9121-regulator.h> 132 i2c { 133 #address-cells = <1>; 134 #size-cells = <0>; 135 pmic@68 { 136 compatible = "dlg,da9121"; 137 reg = <0x68>; 138 139 interrupt-parent = <&gpio6>; 140 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 141 142 dlg,irq-polling-delay-passive-ms = <2000>; 143 144 regulators { 145 DA9121_BUCK1: buck1 { 146 regulator-name = "BUCK1"; 147 regulator-min-microvolt = <300000>; 148 regulator-max-microvolt = <1900000>; 149 regulator-min-microamp = <7000000>; 150 regulator-max-microamp = <20000000>; 151 regulator-boot-on; 152 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 153 enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; 154 }; 155 }; 156 }; 157 }; 158 159 - | 160 #include <dt-bindings/gpio/gpio.h> 161 #include <dt-bindings/interrupt-controller/irq.h> 162 #include <dt-bindings/regulator/dlg,da9121-regulator.h> 163 i2c { 164 #address-cells = <1>; 165 #size-cells = <0>; 166 pmic@68 { 167 compatible = "dlg,da9122"; 168 reg = <0x68>; 169 170 interrupt-parent = <&gpio6>; 171 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 172 173 dlg,irq-polling-delay-passive-ms = <2000>; 174 175 regulators { 176 DA9122_BUCK1: buck1 { 177 regulator-name = "BUCK1"; 178 regulator-min-microvolt = <300000>; 179 regulator-max-microvolt = <1900000>; 180 regulator-min-microamp = <3500000>; 181 regulator-max-microamp = <10000000>; 182 regulator-boot-on; 183 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 184 enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; 185 dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 186 }; 187 DA9122_BUCK2: buck2 { 188 regulator-name = "BUCK2"; 189 regulator-min-microvolt = <300000>; 190 regulator-max-microvolt = <1900000>; 191 regulator-min-microamp = <3500000>; 192 regulator-max-microamp = <10000000>; 193 regulator-boot-on; 194 regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 195 enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; 196 dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 197 }; 198 }; 199 }; 200 }; 201... 202