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