1*a8a2add7SJoseph Chen# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*a8a2add7SJoseph Chen%YAML 1.2 3*a8a2add7SJoseph Chen--- 4*a8a2add7SJoseph Chen$id: http://devicetree.org/schemas/mfd/rockchip,rk801.yaml# 5*a8a2add7SJoseph Chen$schema: http://devicetree.org/meta-schemas/core.yaml# 6*a8a2add7SJoseph Chen 7*a8a2add7SJoseph Chentitle: RK801 Power Management Integrated Circuit 8*a8a2add7SJoseph Chen 9*a8a2add7SJoseph Chenmaintainers: 10*a8a2add7SJoseph Chen - Joseph Chen <chenjh@rock-chips.com> 11*a8a2add7SJoseph Chen 12*a8a2add7SJoseph Chendescription: | 13*a8a2add7SJoseph Chen Rockchip RK801 series PMIC. This device consists of an i2c controlled MFD 14*a8a2add7SJoseph Chen that includes multiple switchable regulators. 15*a8a2add7SJoseph Chen 16*a8a2add7SJoseph Chenproperties: 17*a8a2add7SJoseph Chen compatible: 18*a8a2add7SJoseph Chen enum: 19*a8a2add7SJoseph Chen - rockchip,rk801 20*a8a2add7SJoseph Chen 21*a8a2add7SJoseph Chen reg: 22*a8a2add7SJoseph Chen maxItems: 1 23*a8a2add7SJoseph Chen 24*a8a2add7SJoseph Chen interrupts: 25*a8a2add7SJoseph Chen maxItems: 1 26*a8a2add7SJoseph Chen 27*a8a2add7SJoseph Chen system-power-controller: 28*a8a2add7SJoseph Chen type: boolean 29*a8a2add7SJoseph Chen description: 30*a8a2add7SJoseph Chen Telling whether or not this PMIC is controlling the system power. 31*a8a2add7SJoseph Chen 32*a8a2add7SJoseph Chen wakeup-source: 33*a8a2add7SJoseph Chen type: boolean 34*a8a2add7SJoseph Chen description: 35*a8a2add7SJoseph Chen Device can be used as a wakeup source. 36*a8a2add7SJoseph Chen 37*a8a2add7SJoseph Chen vcc1-supply: 38*a8a2add7SJoseph Chen description: 39*a8a2add7SJoseph Chen The input supply for dcdc1. 40*a8a2add7SJoseph Chen 41*a8a2add7SJoseph Chen vcc2-supply: 42*a8a2add7SJoseph Chen description: 43*a8a2add7SJoseph Chen The input supply for dcdc2. 44*a8a2add7SJoseph Chen 45*a8a2add7SJoseph Chen vcc3-supply: 46*a8a2add7SJoseph Chen description: 47*a8a2add7SJoseph Chen The input supply for dcdc3. 48*a8a2add7SJoseph Chen 49*a8a2add7SJoseph Chen vcc4-supply: 50*a8a2add7SJoseph Chen description: 51*a8a2add7SJoseph Chen The input supply for dcdc4. 52*a8a2add7SJoseph Chen 53*a8a2add7SJoseph Chen vcc5-supply: 54*a8a2add7SJoseph Chen description: 55*a8a2add7SJoseph Chen The input supply for ldo1. 56*a8a2add7SJoseph Chen 57*a8a2add7SJoseph Chen vcc6-supply: 58*a8a2add7SJoseph Chen description: 59*a8a2add7SJoseph Chen The input supply for ldo2. 60*a8a2add7SJoseph Chen 61*a8a2add7SJoseph Chen vcc7-supply: 62*a8a2add7SJoseph Chen description: 63*a8a2add7SJoseph Chen The input supply for switch. 64*a8a2add7SJoseph Chen 65*a8a2add7SJoseph Chen regulators: 66*a8a2add7SJoseph Chen type: object 67*a8a2add7SJoseph Chen patternProperties: 68*a8a2add7SJoseph Chen "^(dcdc[1-4]|ldo[1-2]|switch)$": 69*a8a2add7SJoseph Chen type: object 70*a8a2add7SJoseph Chen $ref: /schemas/regulator/regulator.yaml# 71*a8a2add7SJoseph Chen unevaluatedProperties: false 72*a8a2add7SJoseph Chen additionalProperties: false 73*a8a2add7SJoseph Chen 74*a8a2add7SJoseph Chenrequired: 75*a8a2add7SJoseph Chen - compatible 76*a8a2add7SJoseph Chen - reg 77*a8a2add7SJoseph Chen - interrupts 78*a8a2add7SJoseph Chen 79*a8a2add7SJoseph ChenadditionalProperties: false 80*a8a2add7SJoseph Chen 81*a8a2add7SJoseph Chenexamples: 82*a8a2add7SJoseph Chen - | 83*a8a2add7SJoseph Chen #include <dt-bindings/pinctrl/rockchip.h> 84*a8a2add7SJoseph Chen #include <dt-bindings/interrupt-controller/irq.h> 85*a8a2add7SJoseph Chen #include <dt-bindings/gpio/gpio.h> 86*a8a2add7SJoseph Chen 87*a8a2add7SJoseph Chen i2c { 88*a8a2add7SJoseph Chen #address-cells = <1>; 89*a8a2add7SJoseph Chen #size-cells = <0>; 90*a8a2add7SJoseph Chen 91*a8a2add7SJoseph Chen rk801: pmic@27 { 92*a8a2add7SJoseph Chen compatible = "rockchip,rk801"; 93*a8a2add7SJoseph Chen reg = <0x27>; 94*a8a2add7SJoseph Chen interrupt-parent = <&gpio0>; 95*a8a2add7SJoseph Chen interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>; 96*a8a2add7SJoseph Chen pinctrl-names = "default"; 97*a8a2add7SJoseph Chen pinctrl-0 = <&pmic_int_l>; 98*a8a2add7SJoseph Chen system-power-controller; 99*a8a2add7SJoseph Chen wakeup-source; 100*a8a2add7SJoseph Chen 101*a8a2add7SJoseph Chen vcc1-supply = <&vcc_sys>; 102*a8a2add7SJoseph Chen vcc2-supply = <&vcc_sys>; 103*a8a2add7SJoseph Chen vcc3-supply = <&vcc_sys>; 104*a8a2add7SJoseph Chen vcc4-supply = <&vcc_sys>; 105*a8a2add7SJoseph Chen vcc5-supply = <&vcc3v3_sys>; 106*a8a2add7SJoseph Chen vcc6-supply = <&vcc3v3_sys>; 107*a8a2add7SJoseph Chen vcc7-supply = <&vcc3v3_sys>; 108*a8a2add7SJoseph Chen 109*a8a2add7SJoseph Chen regulators { 110*a8a2add7SJoseph Chen vdd_cpu: dcdc1 { 111*a8a2add7SJoseph Chen regulator-name = "vdd_cpu"; 112*a8a2add7SJoseph Chen regulator-min-microvolt = <500000>; 113*a8a2add7SJoseph Chen regulator-max-microvolt = <1500000>; 114*a8a2add7SJoseph Chen regulator-initial-mode = <0x1>; 115*a8a2add7SJoseph Chen regulator-boot-on; 116*a8a2add7SJoseph Chen regulator-always-on; 117*a8a2add7SJoseph Chen regulator-state-mem { 118*a8a2add7SJoseph Chen regulator-mode = <0x2>; 119*a8a2add7SJoseph Chen regulator-off-in-suspend; 120*a8a2add7SJoseph Chen regulator-suspend-microvolt = <950000>; 121*a8a2add7SJoseph Chen }; 122*a8a2add7SJoseph Chen }; 123*a8a2add7SJoseph Chen 124*a8a2add7SJoseph Chen vcc3v3_sys: dcdc2 { 125*a8a2add7SJoseph Chen regulator-name = "vcc3v3_sys"; 126*a8a2add7SJoseph Chen regulator-min-microvolt = <3300000>; 127*a8a2add7SJoseph Chen regulator-max-microvolt = <3300000>; 128*a8a2add7SJoseph Chen regulator-initial-mode = <0x1>; 129*a8a2add7SJoseph Chen regulator-boot-on; 130*a8a2add7SJoseph Chen regulator-always-on; 131*a8a2add7SJoseph Chen regulator-state-mem { 132*a8a2add7SJoseph Chen regulator-mode = <0x2>; 133*a8a2add7SJoseph Chen regulator-on-in-suspend; 134*a8a2add7SJoseph Chen regulator-suspend-microvolt = <3300000>; 135*a8a2add7SJoseph Chen }; 136*a8a2add7SJoseph Chen }; 137*a8a2add7SJoseph Chen 138*a8a2add7SJoseph Chen vcc_ddr: dcdc3 { 139*a8a2add7SJoseph Chen regulator-name = "vcc_ddr"; 140*a8a2add7SJoseph Chen regulator-boot-on; 141*a8a2add7SJoseph Chen regulator-always-on; 142*a8a2add7SJoseph Chen regulator-state-mem { 143*a8a2add7SJoseph Chen regulator-mode = <0x2>; 144*a8a2add7SJoseph Chen regulator-on-in-suspend; 145*a8a2add7SJoseph Chen }; 146*a8a2add7SJoseph Chen }; 147*a8a2add7SJoseph Chen 148*a8a2add7SJoseph Chen vdd_logic: dcdc4 { 149*a8a2add7SJoseph Chen regulator-name = "vdd_logic"; 150*a8a2add7SJoseph Chen regulator-min-microvolt = <500000>; 151*a8a2add7SJoseph Chen regulator-max-microvolt = <1500000>; 152*a8a2add7SJoseph Chen regulator-initial-mode = <0x1>; 153*a8a2add7SJoseph Chen regulator-boot-on; 154*a8a2add7SJoseph Chen regulator-always-on; 155*a8a2add7SJoseph Chen regulator-state-mem { 156*a8a2add7SJoseph Chen regulator-mode = <0x2>; 157*a8a2add7SJoseph Chen regulator-off-in-suspend; 158*a8a2add7SJoseph Chen regulator-suspend-microvolt = <900000>; 159*a8a2add7SJoseph Chen }; 160*a8a2add7SJoseph Chen }; 161*a8a2add7SJoseph Chen 162*a8a2add7SJoseph Chen vdd0v9_sys: ldo1 { 163*a8a2add7SJoseph Chen regulator-name = "vdd0v9_sys"; 164*a8a2add7SJoseph Chen regulator-min-microvolt = <900000>; 165*a8a2add7SJoseph Chen regulator-max-microvolt = <900000>; 166*a8a2add7SJoseph Chen regulator-boot-on; 167*a8a2add7SJoseph Chen regulator-always-on; 168*a8a2add7SJoseph Chen regulator-state-mem { 169*a8a2add7SJoseph Chen regulator-off-in-suspend; 170*a8a2add7SJoseph Chen regulator-suspend-microvolt = <900000>; 171*a8a2add7SJoseph Chen }; 172*a8a2add7SJoseph Chen }; 173*a8a2add7SJoseph Chen 174*a8a2add7SJoseph Chen vcc_1v8: ldo2 { 175*a8a2add7SJoseph Chen regulator-name = "vcc_1v8"; 176*a8a2add7SJoseph Chen regulator-min-microvolt = <1800000>; 177*a8a2add7SJoseph Chen regulator-max-microvolt = <1800000>; 178*a8a2add7SJoseph Chen regulator-boot-on; 179*a8a2add7SJoseph Chen regulator-always-on; 180*a8a2add7SJoseph Chen regulator-state-mem { 181*a8a2add7SJoseph Chen regulator-off-in-suspend; 182*a8a2add7SJoseph Chen regulator-suspend-microvolt = <1800000>; 183*a8a2add7SJoseph Chen }; 184*a8a2add7SJoseph Chen }; 185*a8a2add7SJoseph Chen 186*a8a2add7SJoseph Chen vcc_3v3: switch { 187*a8a2add7SJoseph Chen regulator-name = "vcc_3v3"; 188*a8a2add7SJoseph Chen regulator-boot-on; 189*a8a2add7SJoseph Chen regulator-always-on; 190*a8a2add7SJoseph Chen regulator-state-mem { 191*a8a2add7SJoseph Chen regulator-off-in-suspend; 192*a8a2add7SJoseph Chen regulator-suspend-microvolt = <3300000>; 193*a8a2add7SJoseph Chen }; 194*a8a2add7SJoseph Chen }; 195*a8a2add7SJoseph Chen }; 196*a8a2add7SJoseph Chen }; 197*a8a2add7SJoseph Chen }; 198