1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*7d0873ebSEmmanuel Vadot%YAML 1.2 3*7d0873ebSEmmanuel Vadot--- 4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rockchip,rk816.yaml# 5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d0873ebSEmmanuel Vadot 7*7d0873ebSEmmanuel Vadottitle: RK816 Power Management Integrated Circuit 8*7d0873ebSEmmanuel Vadot 9*7d0873ebSEmmanuel Vadotmaintainers: 10*7d0873ebSEmmanuel Vadot - Chris Zhong <zyw@rock-chips.com> 11*7d0873ebSEmmanuel Vadot - Zhang Qing <zhangqing@rock-chips.com> 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadotdescription: 14*7d0873ebSEmmanuel Vadot Rockchip RK816 series PMIC. This device consists of an i2c controlled MFD 15*7d0873ebSEmmanuel Vadot that includes regulators, a RTC, a GPIO controller, a power button, and a 16*7d0873ebSEmmanuel Vadot battery charger manager with fuel gauge. 17*7d0873ebSEmmanuel Vadot 18*7d0873ebSEmmanuel Vadotproperties: 19*7d0873ebSEmmanuel Vadot compatible: 20*7d0873ebSEmmanuel Vadot enum: 21*7d0873ebSEmmanuel Vadot - rockchip,rk816 22*7d0873ebSEmmanuel Vadot 23*7d0873ebSEmmanuel Vadot reg: 24*7d0873ebSEmmanuel Vadot maxItems: 1 25*7d0873ebSEmmanuel Vadot 26*7d0873ebSEmmanuel Vadot interrupts: 27*7d0873ebSEmmanuel Vadot maxItems: 1 28*7d0873ebSEmmanuel Vadot 29*7d0873ebSEmmanuel Vadot '#clock-cells': 30*7d0873ebSEmmanuel Vadot description: 31*7d0873ebSEmmanuel Vadot See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 32*7d0873ebSEmmanuel Vadot const: 1 33*7d0873ebSEmmanuel Vadot 34*7d0873ebSEmmanuel Vadot clock-output-names: 35*7d0873ebSEmmanuel Vadot maxItems: 2 36*7d0873ebSEmmanuel Vadot 37*7d0873ebSEmmanuel Vadot gpio-controller: true 38*7d0873ebSEmmanuel Vadot 39*7d0873ebSEmmanuel Vadot '#gpio-cells': 40*7d0873ebSEmmanuel Vadot const: 2 41*7d0873ebSEmmanuel Vadot 42*7d0873ebSEmmanuel Vadot system-power-controller: 43*7d0873ebSEmmanuel Vadot type: boolean 44*7d0873ebSEmmanuel Vadot description: 45*7d0873ebSEmmanuel Vadot Telling whether or not this PMIC is controlling the system power. 46*7d0873ebSEmmanuel Vadot 47*7d0873ebSEmmanuel Vadot wakeup-source: 48*7d0873ebSEmmanuel Vadot type: boolean 49*7d0873ebSEmmanuel Vadot 50*7d0873ebSEmmanuel Vadot vcc1-supply: 51*7d0873ebSEmmanuel Vadot description: 52*7d0873ebSEmmanuel Vadot The input supply for dcdc1. 53*7d0873ebSEmmanuel Vadot 54*7d0873ebSEmmanuel Vadot vcc2-supply: 55*7d0873ebSEmmanuel Vadot description: 56*7d0873ebSEmmanuel Vadot The input supply for dcdc2. 57*7d0873ebSEmmanuel Vadot 58*7d0873ebSEmmanuel Vadot vcc3-supply: 59*7d0873ebSEmmanuel Vadot description: 60*7d0873ebSEmmanuel Vadot The input supply for dcdc3. 61*7d0873ebSEmmanuel Vadot 62*7d0873ebSEmmanuel Vadot vcc4-supply: 63*7d0873ebSEmmanuel Vadot description: 64*7d0873ebSEmmanuel Vadot The input supply for dcdc4. 65*7d0873ebSEmmanuel Vadot 66*7d0873ebSEmmanuel Vadot vcc5-supply: 67*7d0873ebSEmmanuel Vadot description: 68*7d0873ebSEmmanuel Vadot The input supply for ldo1, ldo2, and ldo3. 69*7d0873ebSEmmanuel Vadot 70*7d0873ebSEmmanuel Vadot vcc6-supply: 71*7d0873ebSEmmanuel Vadot description: 72*7d0873ebSEmmanuel Vadot The input supply for ldo4, ldo5, and ldo6. 73*7d0873ebSEmmanuel Vadot 74*7d0873ebSEmmanuel Vadot vcc7-supply: 75*7d0873ebSEmmanuel Vadot description: 76*7d0873ebSEmmanuel Vadot The input supply for boost. 77*7d0873ebSEmmanuel Vadot 78*7d0873ebSEmmanuel Vadot vcc8-supply: 79*7d0873ebSEmmanuel Vadot description: 80*7d0873ebSEmmanuel Vadot The input supply for otg-switch. 81*7d0873ebSEmmanuel Vadot 82*7d0873ebSEmmanuel Vadot regulators: 83*7d0873ebSEmmanuel Vadot type: object 84*7d0873ebSEmmanuel Vadot patternProperties: 85*7d0873ebSEmmanuel Vadot '^(boost|dcdc[1-4]|ldo[1-6]|otg-switch)$': 86*7d0873ebSEmmanuel Vadot type: object 87*7d0873ebSEmmanuel Vadot $ref: /schemas/regulator/regulator.yaml# 88*7d0873ebSEmmanuel Vadot unevaluatedProperties: false 89*7d0873ebSEmmanuel Vadot additionalProperties: false 90*7d0873ebSEmmanuel Vadot 91*7d0873ebSEmmanuel VadotpatternProperties: 92*7d0873ebSEmmanuel Vadot '-pins$': 93*7d0873ebSEmmanuel Vadot type: object 94*7d0873ebSEmmanuel Vadot additionalProperties: false 95*7d0873ebSEmmanuel Vadot $ref: /schemas/pinctrl/pinmux-node.yaml 96*7d0873ebSEmmanuel Vadot 97*7d0873ebSEmmanuel Vadot properties: 98*7d0873ebSEmmanuel Vadot function: 99*7d0873ebSEmmanuel Vadot enum: [gpio, thermistor] 100*7d0873ebSEmmanuel Vadot 101*7d0873ebSEmmanuel Vadot pins: 102*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 103*7d0873ebSEmmanuel Vadot const: gpio0 104*7d0873ebSEmmanuel Vadot 105*7d0873ebSEmmanuel Vadotrequired: 106*7d0873ebSEmmanuel Vadot - compatible 107*7d0873ebSEmmanuel Vadot - reg 108*7d0873ebSEmmanuel Vadot - interrupts 109*7d0873ebSEmmanuel Vadot - '#clock-cells' 110*7d0873ebSEmmanuel Vadot 111*7d0873ebSEmmanuel VadotadditionalProperties: false 112*7d0873ebSEmmanuel Vadot 113*7d0873ebSEmmanuel Vadotexamples: 114*7d0873ebSEmmanuel Vadot - | 115*7d0873ebSEmmanuel Vadot #include <dt-bindings/pinctrl/rockchip.h> 116*7d0873ebSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 117*7d0873ebSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 118*7d0873ebSEmmanuel Vadot 119*7d0873ebSEmmanuel Vadot i2c { 120*7d0873ebSEmmanuel Vadot #address-cells = <1>; 121*7d0873ebSEmmanuel Vadot #size-cells = <0>; 122*7d0873ebSEmmanuel Vadot 123*7d0873ebSEmmanuel Vadot rk816: pmic@1a { 124*7d0873ebSEmmanuel Vadot compatible = "rockchip,rk816"; 125*7d0873ebSEmmanuel Vadot reg = <0x1a>; 126*7d0873ebSEmmanuel Vadot interrupt-parent = <&gpio0>; 127*7d0873ebSEmmanuel Vadot interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 128*7d0873ebSEmmanuel Vadot clock-output-names = "xin32k", "rk816-clkout2"; 129*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 130*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pmic_int_l>; 131*7d0873ebSEmmanuel Vadot gpio-controller; 132*7d0873ebSEmmanuel Vadot system-power-controller; 133*7d0873ebSEmmanuel Vadot wakeup-source; 134*7d0873ebSEmmanuel Vadot #clock-cells = <1>; 135*7d0873ebSEmmanuel Vadot #gpio-cells = <2>; 136*7d0873ebSEmmanuel Vadot 137*7d0873ebSEmmanuel Vadot vcc1-supply = <&vcc_sys>; 138*7d0873ebSEmmanuel Vadot vcc2-supply = <&vcc_sys>; 139*7d0873ebSEmmanuel Vadot vcc3-supply = <&vcc_sys>; 140*7d0873ebSEmmanuel Vadot vcc4-supply = <&vcc_sys>; 141*7d0873ebSEmmanuel Vadot vcc5-supply = <&vcc33_io>; 142*7d0873ebSEmmanuel Vadot vcc6-supply = <&vcc_sys>; 143*7d0873ebSEmmanuel Vadot 144*7d0873ebSEmmanuel Vadot regulators { 145*7d0873ebSEmmanuel Vadot vdd_cpu: dcdc1 { 146*7d0873ebSEmmanuel Vadot regulator-name = "vdd_cpu"; 147*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <750000>; 148*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1450000>; 149*7d0873ebSEmmanuel Vadot regulator-ramp-delay = <6001>; 150*7d0873ebSEmmanuel Vadot regulator-initial-mode = <1>; 151*7d0873ebSEmmanuel Vadot regulator-always-on; 152*7d0873ebSEmmanuel Vadot regulator-boot-on; 153*7d0873ebSEmmanuel Vadot 154*7d0873ebSEmmanuel Vadot regulator-state-mem { 155*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 156*7d0873ebSEmmanuel Vadot }; 157*7d0873ebSEmmanuel Vadot }; 158*7d0873ebSEmmanuel Vadot 159*7d0873ebSEmmanuel Vadot vdd_logic: dcdc2 { 160*7d0873ebSEmmanuel Vadot regulator-name = "vdd_logic"; 161*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <800000>; 162*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1250000>; 163*7d0873ebSEmmanuel Vadot regulator-ramp-delay = <6001>; 164*7d0873ebSEmmanuel Vadot regulator-initial-mode = <1>; 165*7d0873ebSEmmanuel Vadot regulator-always-on; 166*7d0873ebSEmmanuel Vadot regulator-boot-on; 167*7d0873ebSEmmanuel Vadot 168*7d0873ebSEmmanuel Vadot regulator-state-mem { 169*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 170*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 171*7d0873ebSEmmanuel Vadot }; 172*7d0873ebSEmmanuel Vadot }; 173*7d0873ebSEmmanuel Vadot 174*7d0873ebSEmmanuel Vadot vcc_ddr: dcdc3 { 175*7d0873ebSEmmanuel Vadot regulator-name = "vcc_ddr"; 176*7d0873ebSEmmanuel Vadot regulator-initial-mode = <1>; 177*7d0873ebSEmmanuel Vadot regulator-always-on; 178*7d0873ebSEmmanuel Vadot regulator-boot-on; 179*7d0873ebSEmmanuel Vadot 180*7d0873ebSEmmanuel Vadot regulator-state-mem { 181*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 182*7d0873ebSEmmanuel Vadot }; 183*7d0873ebSEmmanuel Vadot }; 184*7d0873ebSEmmanuel Vadot 185*7d0873ebSEmmanuel Vadot vcc33_io: dcdc4 { 186*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 187*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 188*7d0873ebSEmmanuel Vadot regulator-name = "vcc33_io"; 189*7d0873ebSEmmanuel Vadot regulator-initial-mode = <1>; 190*7d0873ebSEmmanuel Vadot regulator-always-on; 191*7d0873ebSEmmanuel Vadot regulator-boot-on; 192*7d0873ebSEmmanuel Vadot 193*7d0873ebSEmmanuel Vadot regulator-state-mem { 194*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 195*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 196*7d0873ebSEmmanuel Vadot }; 197*7d0873ebSEmmanuel Vadot }; 198*7d0873ebSEmmanuel Vadot 199*7d0873ebSEmmanuel Vadot vccio_pmu: ldo1 { 200*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 201*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 202*7d0873ebSEmmanuel Vadot regulator-name = "vccio_pmu"; 203*7d0873ebSEmmanuel Vadot regulator-always-on; 204*7d0873ebSEmmanuel Vadot regulator-boot-on; 205*7d0873ebSEmmanuel Vadot 206*7d0873ebSEmmanuel Vadot regulator-state-mem { 207*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 208*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 209*7d0873ebSEmmanuel Vadot }; 210*7d0873ebSEmmanuel Vadot }; 211*7d0873ebSEmmanuel Vadot 212*7d0873ebSEmmanuel Vadot vcc_tp: ldo2 { 213*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <3300000>; 214*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 215*7d0873ebSEmmanuel Vadot regulator-name = "vcc_tp"; 216*7d0873ebSEmmanuel Vadot 217*7d0873ebSEmmanuel Vadot regulator-state-mem { 218*7d0873ebSEmmanuel Vadot regulator-off-in-suspend; 219*7d0873ebSEmmanuel Vadot }; 220*7d0873ebSEmmanuel Vadot }; 221*7d0873ebSEmmanuel Vadot 222*7d0873ebSEmmanuel Vadot vdd_10: ldo3 { 223*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1000000>; 224*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1000000>; 225*7d0873ebSEmmanuel Vadot regulator-name = "vdd_10"; 226*7d0873ebSEmmanuel Vadot regulator-always-on; 227*7d0873ebSEmmanuel Vadot regulator-boot-on; 228*7d0873ebSEmmanuel Vadot 229*7d0873ebSEmmanuel Vadot regulator-state-mem { 230*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 231*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 232*7d0873ebSEmmanuel Vadot }; 233*7d0873ebSEmmanuel Vadot }; 234*7d0873ebSEmmanuel Vadot 235*7d0873ebSEmmanuel Vadot vcc18_lcd: ldo4 { 236*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 237*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1800000>; 238*7d0873ebSEmmanuel Vadot regulator-name = "vcc18_lcd"; 239*7d0873ebSEmmanuel Vadot 240*7d0873ebSEmmanuel Vadot regulator-state-mem { 241*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 242*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 243*7d0873ebSEmmanuel Vadot }; 244*7d0873ebSEmmanuel Vadot }; 245*7d0873ebSEmmanuel Vadot 246*7d0873ebSEmmanuel Vadot vccio_sd: ldo5 { 247*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1800000>; 248*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <3300000>; 249*7d0873ebSEmmanuel Vadot regulator-name = "vccio_sd"; 250*7d0873ebSEmmanuel Vadot 251*7d0873ebSEmmanuel Vadot regulator-state-mem { 252*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 253*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 254*7d0873ebSEmmanuel Vadot }; 255*7d0873ebSEmmanuel Vadot }; 256*7d0873ebSEmmanuel Vadot 257*7d0873ebSEmmanuel Vadot vdd10_lcd: ldo6 { 258*7d0873ebSEmmanuel Vadot regulator-min-microvolt = <1000000>; 259*7d0873ebSEmmanuel Vadot regulator-max-microvolt = <1000000>; 260*7d0873ebSEmmanuel Vadot regulator-name = "vdd10_lcd"; 261*7d0873ebSEmmanuel Vadot 262*7d0873ebSEmmanuel Vadot regulator-state-mem { 263*7d0873ebSEmmanuel Vadot regulator-on-in-suspend; 264*7d0873ebSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 265*7d0873ebSEmmanuel Vadot }; 266*7d0873ebSEmmanuel Vadot }; 267*7d0873ebSEmmanuel Vadot }; 268*7d0873ebSEmmanuel Vadot 269*7d0873ebSEmmanuel Vadot rk816_gpio_pins: gpio-pins { 270*7d0873ebSEmmanuel Vadot function = "gpio"; 271*7d0873ebSEmmanuel Vadot pins = "gpio0"; 272*7d0873ebSEmmanuel Vadot }; 273*7d0873ebSEmmanuel Vadot }; 274*7d0873ebSEmmanuel Vadot }; 275