1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: RK809 Power Management Integrated Circuit 8 9maintainers: 10 - Chris Zhong <zyw@rock-chips.com> 11 - Zhang Qing <zhangqing@rock-chips.com> 12 13description: | 14 Rockchip RK809 series PMIC. This device consists of an i2c controlled MFD 15 that includes regulators, an RTC, and power button. 16 17properties: 18 compatible: 19 enum: 20 - rockchip,rk809 21 22 reg: 23 maxItems: 1 24 25 interrupts: 26 maxItems: 1 27 28 '#clock-cells': 29 description: | 30 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 31 minimum: 0 32 maximum: 1 33 34 clock-output-names: 35 description: 36 From common clock binding to override the default output clock name. 37 38 rockchip,system-power-controller: 39 type: boolean 40 description: 41 Telling whether or not this PMIC is controlling the system power. 42 43 wakeup-source: 44 type: boolean 45 description: 46 Device can be used as a wakeup source. 47 48 vcc1-supply: 49 description: 50 The input supply for DCDC_REG1. 51 52 vcc2-supply: 53 description: 54 The input supply for DCDC_REG2. 55 56 vcc3-supply: 57 description: 58 The input supply for DCDC_REG3. 59 60 vcc4-supply: 61 description: 62 The input supply for DCDC_REG4. 63 64 vcc5-supply: 65 description: 66 The input supply for LDO_REG1, LDO_REG2, and LDO_REG3. 67 68 vcc6-supply: 69 description: 70 The input supply for LDO_REG4, LDO_REG5, and LDO_REG6. 71 72 vcc7-supply: 73 description: 74 The input supply for LDO_REG7, LDO_REG8, and LDO_REG9. 75 76 vcc8-supply: 77 description: 78 The input supply for SWITCH_REG1. 79 80 vcc9-supply: 81 description: 82 The input supply for DCDC_REG5 and SWITCH_REG2. 83 84 regulators: 85 type: object 86 patternProperties: 87 "^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$": 88 type: object 89 $ref: ../regulator/regulator.yaml# 90 unevaluatedProperties: false 91 92allOf: 93 - if: 94 properties: 95 '#clock-cells': 96 const: 0 97 98 then: 99 properties: 100 clock-output-names: 101 maxItems: 1 102 103 else: 104 properties: 105 clock-output-names: 106 maxItems: 2 107 108required: 109 - compatible 110 - reg 111 - interrupts 112 - "#clock-cells" 113 114additionalProperties: false 115 116examples: 117 - | 118 #include <dt-bindings/pinctrl/rockchip.h> 119 #include <dt-bindings/interrupt-controller/irq.h> 120 #include <dt-bindings/gpio/gpio.h> 121 i2c { 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 rk808: pmic@1b { 126 compatible = "rockchip,rk808"; 127 reg = <0x1b>; 128 #clock-cells = <1>; 129 clock-output-names = "xin32k", "rk808-clkout2"; 130 interrupt-parent = <&gpio3>; 131 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 132 pinctrl-names = "default"; 133 pinctrl-0 = <&pmic_int_l_pin>; 134 rockchip,system-power-controller; 135 wakeup-source; 136 137 vcc1-supply = <&vcc_sysin>; 138 vcc2-supply = <&vcc_sysin>; 139 vcc3-supply = <&vcc_sysin>; 140 vcc4-supply = <&vcc_sysin>; 141 vcc6-supply = <&vcc_sysin>; 142 vcc7-supply = <&vcc_sysin>; 143 vcc8-supply = <&vcc3v3_sys>; 144 vcc9-supply = <&vcc_sysin>; 145 vcc10-supply = <&vcc_sysin>; 146 vcc11-supply = <&vcc_sysin>; 147 vcc12-supply = <&vcc3v3_sys>; 148 149 regulators { 150 vdd_center: DCDC_REG1 { 151 regulator-name = "vdd_center"; 152 regulator-always-on; 153 regulator-boot-on; 154 regulator-min-microvolt = <750000>; 155 regulator-max-microvolt = <1350000>; 156 regulator-ramp-delay = <6001>; 157 regulator-state-mem { 158 regulator-off-in-suspend; 159 }; 160 }; 161 162 vdd_cpu_l: DCDC_REG2 { 163 regulator-name = "vdd_cpu_l"; 164 regulator-always-on; 165 regulator-boot-on; 166 regulator-min-microvolt = <750000>; 167 regulator-max-microvolt = <1350000>; 168 regulator-ramp-delay = <6001>; 169 regulator-state-mem { 170 regulator-off-in-suspend; 171 }; 172 }; 173 174 vcc_ddr: DCDC_REG3 { 175 regulator-name = "vcc_ddr"; 176 regulator-always-on; 177 regulator-boot-on; 178 regulator-state-mem { 179 regulator-on-in-suspend; 180 }; 181 }; 182 183 vcc_1v8: vcc_wl: DCDC_REG4 { 184 regulator-name = "vcc_1v8"; 185 regulator-always-on; 186 regulator-boot-on; 187 regulator-min-microvolt = <1800000>; 188 regulator-max-microvolt = <1800000>; 189 regulator-state-mem { 190 regulator-on-in-suspend; 191 regulator-suspend-microvolt = <1800000>; 192 }; 193 }; 194 195 vcc1v8_pmupll: LDO_REG3 { 196 regulator-name = "vcc1v8_pmupll"; 197 regulator-always-on; 198 regulator-boot-on; 199 regulator-min-microvolt = <1800000>; 200 regulator-max-microvolt = <1800000>; 201 regulator-state-mem { 202 regulator-on-in-suspend; 203 regulator-suspend-microvolt = <1800000>; 204 }; 205 }; 206 207 vcc_sdio: LDO_REG4 { 208 regulator-name = "vcc_sdio"; 209 regulator-always-on; 210 regulator-boot-on; 211 regulator-min-microvolt = <1800000>; 212 regulator-max-microvolt = <3000000>; 213 regulator-state-mem { 214 regulator-on-in-suspend; 215 regulator-suspend-microvolt = <3000000>; 216 }; 217 }; 218 219 vcca3v0_codec: LDO_REG5 { 220 regulator-name = "vcca3v0_codec"; 221 regulator-always-on; 222 regulator-boot-on; 223 regulator-min-microvolt = <3000000>; 224 regulator-max-microvolt = <3000000>; 225 regulator-state-mem { 226 regulator-off-in-suspend; 227 }; 228 }; 229 230 vcc_1v5: LDO_REG6 { 231 regulator-name = "vcc_1v5"; 232 regulator-always-on; 233 regulator-boot-on; 234 regulator-min-microvolt = <1500000>; 235 regulator-max-microvolt = <1500000>; 236 regulator-state-mem { 237 regulator-on-in-suspend; 238 regulator-suspend-microvolt = <1500000>; 239 }; 240 }; 241 242 vcca1v8_codec: LDO_REG7 { 243 regulator-name = "vcca1v8_codec"; 244 regulator-always-on; 245 regulator-boot-on; 246 regulator-min-microvolt = <1800000>; 247 regulator-max-microvolt = <1800000>; 248 regulator-state-mem { 249 regulator-off-in-suspend; 250 }; 251 }; 252 253 vcc_3v0: LDO_REG8 { 254 regulator-name = "vcc_3v0"; 255 regulator-always-on; 256 regulator-boot-on; 257 regulator-min-microvolt = <3000000>; 258 regulator-max-microvolt = <3000000>; 259 regulator-state-mem { 260 regulator-on-in-suspend; 261 regulator-suspend-microvolt = <3000000>; 262 }; 263 }; 264 265 vcc3v3_s3: SWITCH_REG1 { 266 regulator-name = "vcc3v3_s3"; 267 regulator-always-on; 268 regulator-boot-on; 269 regulator-state-mem { 270 regulator-off-in-suspend; 271 }; 272 }; 273 274 vcc3v3_s0: SWITCH_REG2 { 275 regulator-name = "vcc3v3_s0"; 276 regulator-always-on; 277 regulator-boot-on; 278 regulator-state-mem { 279 regulator-off-in-suspend; 280 }; 281 }; 282 }; 283 }; 284 }; 285