1*4882a593SmuzhiyunRK818 Power Management Integrated Circuit 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible: "rockchip,rk818" 5*4882a593Smuzhiyun- reg: I2C slave address 6*4882a593Smuzhiyun- interrupt-parent: The parent interrupt controller. 7*4882a593Smuzhiyun- interrupts: the interrupt outputs of the controller. 8*4882a593Smuzhiyun- #clock-cells: from common clock binding; shall be set to 1 (multiple clock 9*4882a593Smuzhiyun outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunOptional properties: 12*4882a593Smuzhiyun- clock-output-names: From common clock binding to override the 13*4882a593Smuzhiyun default output clock name 14*4882a593Smuzhiyun- rockchip,system-power-controller: Telling whether or not this pmic is controlling 15*4882a593Smuzhiyun the system power. 16*4882a593Smuzhiyun- vcc1-supply: The input supply for DCDC_REG1 17*4882a593Smuzhiyun- vcc2-supply: The input supply for DCDC_REG2 18*4882a593Smuzhiyun- vcc3-supply: The input supply for DCDC_REG3 19*4882a593Smuzhiyun- vcc4-supply: The input supply for DCDC_REG4 20*4882a593Smuzhiyun- vcc6-supply: The input supply for LDO_REG1, LDO_REG2 21*4882a593Smuzhiyun- vcc7-supply: The input supply for LDO_REG3, LDO_REG5, LDO_REG7 22*4882a593Smuzhiyun- vcc8-supply: The input supply for LOD_REG4, LDO_REG6, LDO_REG8 23*4882a593Smuzhiyun- vcc9-supply: The input supply for LDO_REG9, LDO_REG5, SWITCH_REG 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunRegulators: All the regulators of RK818 to be instantiated shall be 26*4882a593Smuzhiyunlisted in a child node named 'regulators'. Each regulator is represented 27*4882a593Smuzhiyunby a child node of the 'regulators' node. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun regulator-name { 30*4882a593Smuzhiyun /* standard regulator bindings here */ 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunFollowing regulators of the RK818 PMIC block are supported. Note that 34*4882a593Smuzhiyunthe 'n' in regulator name, as in DCDC_REGn or LDOn, represents the DCDC or LDO 35*4882a593Smuzhiyunnumber as described in RK818 datasheet. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun - DCDC_REGn 38*4882a593Smuzhiyun - valid values for n are 1 to 4. 39*4882a593Smuzhiyun - LDO_REGn 40*4882a593Smuzhiyun - valid values for n are 1 to 9. 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunStandard regulator bindings are used inside regulator subnodes. Check 43*4882a593Smuzhiyun Documentation/devicetree/bindings/regulator/regulator.txt 44*4882a593Smuzhiyunfor more details 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunExample: 47*4882a593Smuzhiyun rk818: pmic@1c { 48*4882a593Smuzhiyun compatible = "rockchip,rk818"; 49*4882a593Smuzhiyun status = "disabled"; 50*4882a593Smuzhiyun reg = <0x1c>; 51*4882a593Smuzhiyun clock-output-names = "xin32k", "wifibt_32kin"; 52*4882a593Smuzhiyun interrupt-parent = <&gpio0>; 53*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 54*4882a593Smuzhiyun pinctrl-names = "default"; 55*4882a593Smuzhiyun pinctrl-0 = <&pmic_int>; 56*4882a593Smuzhiyun rockchip,system-power-controller; 57*4882a593Smuzhiyun wakeup-source; 58*4882a593Smuzhiyun #clock-cells = <1>; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun vcc1-supply = <&vcc_sys>; 61*4882a593Smuzhiyun vcc2-supply = <&vcc_sys>; 62*4882a593Smuzhiyun vcc3-supply = <&vcc_sys>; 63*4882a593Smuzhiyun vcc4-supply = <&vcc_sys>; 64*4882a593Smuzhiyun vcc6-supply = <&vcc_sys>; 65*4882a593Smuzhiyun vcc7-supply = <&vcc_sys>; 66*4882a593Smuzhiyun vcc8-supply = <&vcc_sys>; 67*4882a593Smuzhiyun vcc9-supply = <&vcc33_io>; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun regulators { 70*4882a593Smuzhiyun vdd_cpu: DCDC_REG1 { 71*4882a593Smuzhiyun regulator-name = "vdd_logic"; 72*4882a593Smuzhiyun regulator-always-on; 73*4882a593Smuzhiyun regulator-boot-on; 74*4882a593Smuzhiyun regulator-min-microvolt = <750000>; 75*4882a593Smuzhiyun regulator-max-microvolt = <1450000>; 76*4882a593Smuzhiyun regulator-ramp-delay = <6001>; 77*4882a593Smuzhiyun regulator-state-mem { 78*4882a593Smuzhiyun regulator-off-in-suspend; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun vdd_gpu: DCDC_REG2 { 82*4882a593Smuzhiyun regulator-name = "vdd_gpu"; 83*4882a593Smuzhiyun regulator-always-on; 84*4882a593Smuzhiyun regulator-boot-on; 85*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 86*4882a593Smuzhiyun regulator-max-microvolt = <1250000>; 87*4882a593Smuzhiyun regulator-ramp-delay = <6001>; 88*4882a593Smuzhiyun regulator-state-mem { 89*4882a593Smuzhiyun regulator-on-in-suspend; 90*4882a593Smuzhiyun regulator-suspend-microvolt = <1000000>; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun vcc_ddr: DCDC_REG3 { 95*4882a593Smuzhiyun regulator-always-on; 96*4882a593Smuzhiyun regulator-boot-on; 97*4882a593Smuzhiyun regulator-name = "vcc_ddr"; 98*4882a593Smuzhiyun regulator-state-mem { 99*4882a593Smuzhiyun regulator-on-in-suspend; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun vcc33_io: DCDC_REG4 { 104*4882a593Smuzhiyun regulator-always-on; 105*4882a593Smuzhiyun regulator-boot-on; 106*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 107*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 108*4882a593Smuzhiyun regulator-name = "vcc33_io"; 109*4882a593Smuzhiyun regulator-state-mem { 110*4882a593Smuzhiyun regulator-on-in-suspend; 111*4882a593Smuzhiyun regulator-suspend-microvolt = <3300000>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun vccio_pmu: LDO_REG1 { 116*4882a593Smuzhiyun regulator-always-on; 117*4882a593Smuzhiyun regulator-boot-on; 118*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 119*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 120*4882a593Smuzhiyun regulator-name = "vccio_pmu"; 121*4882a593Smuzhiyun regulator-state-mem { 122*4882a593Smuzhiyun regulator-on-in-suspend; 123*4882a593Smuzhiyun regulator-suspend-microvolt = <3300000>; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun vcc_tp: LDO_REG2 { 128*4882a593Smuzhiyun regulator-always-on; 129*4882a593Smuzhiyun regulator-boot-on; 130*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 131*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 132*4882a593Smuzhiyun regulator-name = "vcc_tp"; 133*4882a593Smuzhiyun regulator-state-mem { 134*4882a593Smuzhiyun regulator-off-in-suspend; 135*4882a593Smuzhiyun }; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun vdd_10: LDO_REG3 { 139*4882a593Smuzhiyun regulator-always-on; 140*4882a593Smuzhiyun regulator-boot-on; 141*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 142*4882a593Smuzhiyun regulator-max-microvolt = <1000000>; 143*4882a593Smuzhiyun regulator-name = "vdd_10"; 144*4882a593Smuzhiyun regulator-state-mem { 145*4882a593Smuzhiyun regulator-on-in-suspend; 146*4882a593Smuzhiyun regulator-suspend-microvolt = <1000000>; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun vcc18_lcd: LDO_REG4 { 151*4882a593Smuzhiyun regulator-always-on; 152*4882a593Smuzhiyun regulator-boot-on; 153*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 154*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 155*4882a593Smuzhiyun regulator-name = "vcc18_lcd"; 156*4882a593Smuzhiyun regulator-state-mem { 157*4882a593Smuzhiyun regulator-on-in-suspend; 158*4882a593Smuzhiyun regulator-suspend-microvolt = <1800000>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun vccio_sd: LDO_REG5 { 163*4882a593Smuzhiyun regulator-always-on; 164*4882a593Smuzhiyun regulator-boot-on; 165*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 166*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 167*4882a593Smuzhiyun regulator-name = "vccio_sd"; 168*4882a593Smuzhiyun regulator-state-mem { 169*4882a593Smuzhiyun regulator-on-in-suspend; 170*4882a593Smuzhiyun regulator-suspend-microvolt = <3300000>; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun vdd10_lcd: LDO_REG6 { 175*4882a593Smuzhiyun regulator-always-on; 176*4882a593Smuzhiyun regulator-boot-on; 177*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 178*4882a593Smuzhiyun regulator-max-microvolt = <1000000>; 179*4882a593Smuzhiyun regulator-name = "vdd10_lcd"; 180*4882a593Smuzhiyun regulator-state-mem { 181*4882a593Smuzhiyun regulator-on-in-suspend; 182*4882a593Smuzhiyun regulator-suspend-microvolt = <1000000>; 183*4882a593Smuzhiyun }; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun vcc_18: LDO_REG7 { 187*4882a593Smuzhiyun regulator-always-on; 188*4882a593Smuzhiyun regulator-boot-on; 189*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 190*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 191*4882a593Smuzhiyun regulator-name = "vcc_18"; 192*4882a593Smuzhiyun regulator-state-mem { 193*4882a593Smuzhiyun regulator-on-in-suspend; 194*4882a593Smuzhiyun regulator-suspend-microvolt = <1800000>; 195*4882a593Smuzhiyun }; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun vcca_codec: LDO_REG8 { 199*4882a593Smuzhiyun regulator-always-on; 200*4882a593Smuzhiyun regulator-boot-on; 201*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 202*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 203*4882a593Smuzhiyun regulator-name = "vcca_codec"; 204*4882a593Smuzhiyun regulator-state-mem { 205*4882a593Smuzhiyun regulator-on-in-suspend; 206*4882a593Smuzhiyun regulator-suspend-microvolt = <3300000>; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun }; 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun vcc_wl: LDO_REG9 { 211*4882a593Smuzhiyun regulator-always-on; 212*4882a593Smuzhiyun regulator-boot-on; 213*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 214*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 215*4882a593Smuzhiyun regulator-name = "vcc_wl"; 216*4882a593Smuzhiyun regulator-state-mem { 217*4882a593Smuzhiyun regulator-on-in-suspend; 218*4882a593Smuzhiyun regulator-suspend-microvolt = <3300000>; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun }; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun vcc_lcd: SWITCH_REG { 223*4882a593Smuzhiyun regulator-always-on; 224*4882a593Smuzhiyun regulator-boot-on; 225*4882a593Smuzhiyun regulator-name = "vcc_lcd"; 226*4882a593Smuzhiyun regulator-state-mem { 227*4882a593Smuzhiyun regulator-on-in-suspend; 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun }; 230*4882a593Smuzhiyun }; 231*4882a593Smuzhiyun }; 232