1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/active-semi,act8945a.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Active-semi ACT8945a regulator 8 9maintainers: 10 - Paul Cercueil <paul@crapouillou.net> 11 12properties: 13 compatible: 14 const: active-semi,act8945a 15 16 reg: 17 maxItems: 1 18 19 system-power-controller: 20 description: 21 Indicates that the ACT8945a is responsible for powering OFF 22 the system. 23 type: boolean 24 25 active-semi,vsel-high: 26 description: 27 Indicates the VSEL pin is high. If this property is missing, 28 the VSEL pin is assumed to be low. 29 type: boolean 30 31 regulators: 32 type: object 33 additionalProperties: false 34 35 properties: 36 REG_DCDC1: 37 type: object 38 $ref: /schemas/regulator/regulator.yaml# 39 unevaluatedProperties: false 40 41 properties: 42 vp1-supply: 43 description: Handle to the VP1 input supply 44 45 REG_DCDC2: 46 type: object 47 $ref: /schemas/regulator/regulator.yaml# 48 unevaluatedProperties: false 49 50 properties: 51 vp2-supply: 52 description: Handle to the VP2 input supply 53 54 REG_DCDC3: 55 type: object 56 $ref: /schemas/regulator/regulator.yaml# 57 unevaluatedProperties: false 58 59 properties: 60 vp3-supply: 61 description: Handle to the VP3 input supply 62 63 patternProperties: 64 "^REG_LDO[1-2]$": 65 type: object 66 $ref: /schemas/regulator/regulator.yaml# 67 unevaluatedProperties: false 68 69 properties: 70 inl45-supply: 71 description: Handle to the INL45 input supply 72 73 "^REG_LDO[3-4]$": 74 type: object 75 $ref: /schemas/regulator/regulator.yaml# 76 unevaluatedProperties: false 77 78 properties: 79 inl67-supply: 80 description: Handle to the INL67 input supply 81 82 charger: 83 type: object 84 additionalProperties: false 85 86 properties: 87 compatible: 88 const: active-semi,act8945a-charger 89 90 interrupts: 91 maxItems: 1 92 93 active-semi,chglev-gpios: 94 description: CGHLEV GPIO 95 maxItems: 1 96 97 active-semi,lbo-gpios: 98 description: LBO GPIO 99 maxItems: 1 100 101 active-semi,input-voltage-threshold-microvolt: 102 description: Input voltage threshold 103 maxItems: 1 104 105 active-semi,precondition-timeout: 106 description: Precondition timeout 107 $ref: /schemas/types.yaml#/definitions/uint32 108 109 active-semi,total-timeout: 110 description: Total timeout 111 $ref: /schemas/types.yaml#/definitions/uint32 112 113 required: 114 - compatible 115 - interrupts 116 117additionalProperties: false 118 119required: 120 - reg 121 - compatible 122 - regulators 123 124examples: 125 - | 126 #include <dt-bindings/gpio/gpio.h> 127 #include <dt-bindings/interrupt-controller/irq.h> 128 #include <dt-bindings/mfd/atmel-flexcom.h> 129 #include <dt-bindings/regulator/active-semi,8945a-regulator.h> 130 131 i2c { 132 #address-cells = <1>; 133 #size-cells = <0>; 134 135 pmic@5b { 136 compatible = "active-semi,act8945a"; 137 reg = <0x5b>; 138 active-semi,vsel-high; 139 140 regulators { 141 REG_DCDC1 { 142 regulator-name = "VDD_1V35"; 143 regulator-min-microvolt = <1350000>; 144 regulator-max-microvolt = <1350000>; 145 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 146 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 147 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 148 regulator-always-on; 149 150 regulator-state-mem { 151 regulator-on-in-suspend; 152 regulator-suspend-min-microvolt = <1400000>; 153 regulator-suspend-max-microvolt = <1400000>; 154 regulator-changeable-in-suspend; 155 regulator-mode = <ACT8945A_REGULATOR_MODE_LOWPOWER>; 156 }; 157 }; 158 159 REG_DCDC2 { 160 regulator-name = "VDD_1V2"; 161 regulator-min-microvolt = <1100000>; 162 regulator-max-microvolt = <1300000>; 163 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 164 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 165 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 166 regulator-always-on; 167 168 regulator-state-mem { 169 regulator-off-in-suspend; 170 }; 171 }; 172 173 REG_DCDC3 { 174 regulator-name = "VDD_3V3"; 175 regulator-min-microvolt = <3300000>; 176 regulator-max-microvolt = <3300000>; 177 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 178 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 179 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 180 regulator-always-on; 181 182 regulator-state-mem { 183 regulator-off-in-suspend; 184 }; 185 }; 186 187 REG_LDO1 { 188 regulator-name = "VDD_FUSE"; 189 regulator-min-microvolt = <2500000>; 190 regulator-max-microvolt = <2500000>; 191 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 192 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 193 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 194 regulator-always-on; 195 196 regulator-state-mem { 197 regulator-off-in-suspend; 198 }; 199 }; 200 201 REG_LDO2 { 202 regulator-name = "VDD_3V3_LP"; 203 regulator-min-microvolt = <3300000>; 204 regulator-max-microvolt = <3300000>; 205 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 206 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 207 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 208 regulator-always-on; 209 210 regulator-state-mem { 211 regulator-off-in-suspend; 212 }; 213 }; 214 215 REG_LDO3 { 216 regulator-name = "VDD_LED"; 217 regulator-min-microvolt = <3300000>; 218 regulator-max-microvolt = <3300000>; 219 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 220 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 221 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 222 regulator-always-on; 223 224 regulator-state-mem { 225 regulator-off-in-suspend; 226 }; 227 }; 228 229 REG_LDO4 { 230 regulator-name = "VDD_SDHC_1V8"; 231 regulator-min-microvolt = <1800000>; 232 regulator-max-microvolt = <1800000>; 233 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 234 <ACT8945A_REGULATOR_MODE_LOWPOWER>; 235 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 236 regulator-always-on; 237 238 regulator-state-mem { 239 regulator-off-in-suspend; 240 }; 241 }; 242 }; 243 244 charger { 245 compatible = "active-semi,act8945a-charger"; 246 pinctrl-names = "default"; 247 pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>; 248 interrupt-parent = <&pioA>; 249 interrupts = <45 IRQ_TYPE_EDGE_RISING>; 250 251 active-semi,chglev-gpios = <&pioA 12 GPIO_ACTIVE_HIGH>; 252 active-semi,lbo-gpios = <&pioA 72 GPIO_ACTIVE_LOW>; 253 active-semi,input-voltage-threshold-microvolt = <6600>; 254 active-semi,precondition-timeout = <40>; 255 active-semi,total-timeout = <3>; 256 }; 257 }; 258 }; 259