1RK8XX Power Management Integrated Circuit 2 3The rk8xx family current members: 4rk805 5rk808 6rk809 7rk817 8rk818 9 10Required properties: 11- compatible: "rockchip,rk805" 12- compatible: "rockchip,rk808" 13- compatible: "rockchip,rk809" 14- compatible: "rockchip,rk817" 15- compatible: "rockchip,rk818" 16- reg: I2C slave address 17- interrupts: the interrupt outputs of the controller. 18- #clock-cells: from common clock binding; shall be set to 1 (multiple clock 19 outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 20 21Optional properties: 22- clock-output-names: From common clock binding to override the 23 default output clock name 24- rockchip,system-power-controller: Telling whether or not this pmic is controlling 25 the system power. 26 27Optional RK805 properties: 28- vcc1-supply: The input supply for DCDC_REG1 29- vcc2-supply: The input supply for DCDC_REG2 30- vcc3-supply: The input supply for DCDC_REG3 31- vcc4-supply: The input supply for DCDC_REG4 32- vcc5-supply: The input supply for LDO_REG1 and LDO_REG2 33- vcc6-supply: The input supply for LDO_REG3 34 35Optional RK808 properties: 36- vcc1-supply: The input supply for DCDC_REG1 37- vcc2-supply: The input supply for DCDC_REG2 38- vcc3-supply: The input supply for DCDC_REG3 39- vcc4-supply: The input supply for DCDC_REG4 40- vcc6-supply: The input supply for LDO_REG1 and LDO_REG2 41- vcc7-supply: The input supply for LDO_REG3 and LDO_REG7 42- vcc8-supply: The input supply for SWITCH_REG1 43- vcc9-supply: The input supply for LDO_REG4 and LDO_REG5 44- vcc10-supply: The input supply for LDO_REG6 45- vcc11-supply: The input supply for LDO_REG8 46- vcc12-supply: The input supply for SWITCH_REG2 47- dvs-gpios: buck1/2 can be controlled by gpio dvs, this is GPIO specifiers 48 for 2 host gpio's used for dvs. The format of the gpio specifier depends in 49 the gpio controller. If DVS GPIOs aren't present, voltage changes will happen 50 very quickly with no slow ramp time. 51 52Optional shared RK809 and RK817 properties: 53- vcc1-supply: The input supply for DCDC_REG1 54- vcc2-supply: The input supply for DCDC_REG2 55- vcc3-supply: The input supply for DCDC_REG3 56- vcc4-supply: The input supply for DCDC_REG4 57- vcc5-supply: The input supply for LDO_REG1, LDO_REG2, LDO_REG3 58- vcc6-supply: The input supply for LDO_REG4, LDO_REG5, LDO_REG6 59- vcc7-supply: The input supply for LDO_REG7, LDO_REG8, LDO_REG9 60 61Optional RK809 properties: 62- vcc8-supply: The input supply for SWITCH_REG1 63- vcc9-supply: The input supply for DCDC_REG5, SWITCH_REG2 64 65Optional RK817 properties: 66- vcc8-supply: The input supply for BOOST 67- vcc9-supply: The input supply for OTG_SWITCH 68 69Optional RK818 properties: 70- vcc1-supply: The input supply for DCDC_REG1 71- vcc2-supply: The input supply for DCDC_REG2 72- vcc3-supply: The input supply for DCDC_REG3 73- vcc4-supply: The input supply for DCDC_REG4 74- boost-supply: The input supply for DCDC_BOOST 75- vcc6-supply: The input supply for LDO_REG1 and LDO_REG2 76- vcc7-supply: The input supply for LDO_REG3, LDO_REG5 and LDO_REG7 77- vcc8-supply: The input supply for LDO_REG4, LDO_REG6 and LDO_REG8 78- vcc9-supply: The input supply for LDO_REG9 and SWITCH_REG 79- h_5v-supply: The input supply for HDMI_SWITCH 80- usb-supply: The input supply for OTG_SWITCH 81 82Regulators: All the regulators of RK8XX to be instantiated shall be 83listed in a child node named 'regulators'. Each regulator is represented 84by a child node of the 'regulators' node. 85 86 regulator-name { 87 /* standard regulator bindings here */ 88 }; 89 90Following regulators of the RK805 PMIC regulators are supported. Note that 91the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO 92number as described in RK805 datasheet. 93 94 - DCDC_REGn 95 - valid values for n are 1 to 4. 96 - LDO_REGn 97 - valid values for n are 1 to 3 98 99Following regulators of the RK808 PMIC block are supported. Note that 100the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO 101number as described in RK808 datasheet. 102 103 - DCDC_REGn 104 - valid values for n are 1 to 4. 105 - LDO_REGn 106 - valid values for n are 1 to 8. 107 - SWITCH_REGn 108 - valid values for n are 1 to 2 109 110Following regulators of the RK809 and RK817 PMIC blocks are supported. Note that 111the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO 112number as described in RK809 and RK817 datasheets. 113 114 - DCDC_REGn 115 - valid values for n are 1 to 5 for RK809. 116 - valid values for n are 1 to 4 for RK817. 117 - LDO_REGn 118 - valid values for n are 1 to 9 for RK809. 119 - valid values for n are 1 to 9 for RK817. 120 - SWITCH_REGn 121 - valid values for n are 1 to 2 for RK809. 122 - BOOST for RK817 123 - OTG_SWITCH for RK817 124 125Following regulators of the RK818 PMIC block are supported. Note that 126the 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO 127number as described in RK818 datasheet. 128 129 - DCDC_REGn 130 - valid values for n are 1 to 4. 131 - LDO_REGn 132 - valid values for n are 1 to 9. 133 - SWITCH_REG 134 - HDMI_SWITCH 135 - OTG_SWITCH 136 137It is necessary to configure three pins for both the RK809 and RK817, the three 138pins are "gpio_ts" "gpio_gt" "gpio_slp". 139 The gpio_gt and gpio_ts pins support the gpio function. 140 The gpio_slp pin is for controlling the pmic states, as below: 141 - reset 142 - power down 143 - sleep 144 145Standard regulator bindings are used inside regulator subnodes. Check 146 Documentation/devicetree/bindings/regulator/regulator.txt 147for more details 148 149Example: 150 rk808: pmic@1b { 151 compatible = "rockchip,rk808"; 152 clock-output-names = "xin32k", "rk808-clkout2"; 153 interrupt-parent = <&gpio0>; 154 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 155 pinctrl-names = "default"; 156 pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>; 157 dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>, 158 <&gpio7 15 GPIO_ACTIVE_HIGH>; 159 reg = <0x1b>; 160 rockchip,system-power-controller; 161 wakeup-source; 162 #clock-cells = <1>; 163 164 vcc8-supply = <&vcc_18>; 165 vcc9-supply = <&vcc_io>; 166 vcc10-supply = <&vcc_io>; 167 vcc12-supply = <&vcc_io>; 168 vddio-supply = <&vccio_pmu>; 169 170 regulators { 171 vdd_cpu: DCDC_REG1 { 172 regulator-always-on; 173 regulator-boot-on; 174 regulator-min-microvolt = <750000>; 175 regulator-max-microvolt = <1300000>; 176 regulator-name = "vdd_arm"; 177 }; 178 179 vdd_gpu: DCDC_REG2 { 180 regulator-always-on; 181 regulator-boot-on; 182 regulator-min-microvolt = <850000>; 183 regulator-max-microvolt = <1250000>; 184 regulator-name = "vdd_gpu"; 185 }; 186 187 vcc_ddr: DCDC_REG3 { 188 regulator-always-on; 189 regulator-boot-on; 190 regulator-name = "vcc_ddr"; 191 }; 192 193 vcc_io: DCDC_REG4 { 194 regulator-always-on; 195 regulator-boot-on; 196 regulator-min-microvolt = <3300000>; 197 regulator-max-microvolt = <3300000>; 198 regulator-name = "vcc_io"; 199 }; 200 201 vccio_pmu: LDO_REG1 { 202 regulator-always-on; 203 regulator-boot-on; 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 regulator-name = "vccio_pmu"; 207 }; 208 209 vcc_tp: LDO_REG2 { 210 regulator-always-on; 211 regulator-boot-on; 212 regulator-min-microvolt = <3300000>; 213 regulator-max-microvolt = <3300000>; 214 regulator-name = "vcc_tp"; 215 }; 216 217 vdd_10: LDO_REG3 { 218 regulator-always-on; 219 regulator-boot-on; 220 regulator-min-microvolt = <1000000>; 221 regulator-max-microvolt = <1000000>; 222 regulator-name = "vdd_10"; 223 }; 224 225 vcc18_lcd: LDO_REG4 { 226 regulator-always-on; 227 regulator-boot-on; 228 regulator-min-microvolt = <1800000>; 229 regulator-max-microvolt = <1800000>; 230 regulator-name = "vcc18_lcd"; 231 }; 232 233 vccio_sd: LDO_REG5 { 234 regulator-always-on; 235 regulator-boot-on; 236 regulator-min-microvolt = <1800000>; 237 regulator-max-microvolt = <3300000>; 238 regulator-name = "vccio_sd"; 239 }; 240 241 vdd10_lcd: LDO_REG6 { 242 regulator-always-on; 243 regulator-boot-on; 244 regulator-min-microvolt = <1000000>; 245 regulator-max-microvolt = <1000000>; 246 regulator-name = "vdd10_lcd"; 247 }; 248 249 vcc_18: LDO_REG7 { 250 regulator-always-on; 251 regulator-boot-on; 252 regulator-min-microvolt = <1800000>; 253 regulator-max-microvolt = <1800000>; 254 regulator-name = "vcc_18"; 255 }; 256 257 vcca_codec: LDO_REG8 { 258 regulator-always-on; 259 regulator-boot-on; 260 regulator-min-microvolt = <3300000>; 261 regulator-max-microvolt = <3300000>; 262 regulator-name = "vcca_codec"; 263 }; 264 265 vcc_wl: SWITCH_REG1 { 266 regulator-always-on; 267 regulator-boot-on; 268 regulator-name = "vcc_wl"; 269 }; 270 271 vcc_lcd: SWITCH_REG2 { 272 regulator-always-on; 273 regulator-boot-on; 274 regulator-name = "vcc_lcd"; 275 }; 276 }; 277 }; 278