1*6460f51aSChiYuan Huang# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*6460f51aSChiYuan Huang%YAML 1.2 3*6460f51aSChiYuan Huang--- 4*6460f51aSChiYuan Huang$id: http://devicetree.org/schemas/mfd/richtek,rt5120.yaml# 5*6460f51aSChiYuan Huang$schema: http://devicetree.org/meta-schemas/core.yaml# 6*6460f51aSChiYuan Huang 7*6460f51aSChiYuan Huangtitle: Richtek RT5120 PMIC 8*6460f51aSChiYuan Huang 9*6460f51aSChiYuan Huangmaintainers: 10*6460f51aSChiYuan Huang - ChiYuan Huang <cy_huang@richtek.com> 11*6460f51aSChiYuan Huang 12*6460f51aSChiYuan Huangdescription: | 13*6460f51aSChiYuan Huang The RT5120 provides four high-efficiency buck converters and one LDO voltage 14*6460f51aSChiYuan Huang regulator. The device is targeted at providingthe processor voltage, memory, 15*6460f51aSChiYuan Huang I/O, and peripheral rails in home entertainment devices. The I2C interface is 16*6460f51aSChiYuan Huang used for dynamic voltage scaling of the processor voltage, power rails on/off 17*6460f51aSChiYuan Huang sequence control, operation mode selection. 18*6460f51aSChiYuan Huang 19*6460f51aSChiYuan Huangproperties: 20*6460f51aSChiYuan Huang compatible: 21*6460f51aSChiYuan Huang enum: 22*6460f51aSChiYuan Huang - richtek,rt5120 23*6460f51aSChiYuan Huang 24*6460f51aSChiYuan Huang reg: 25*6460f51aSChiYuan Huang maxItems: 1 26*6460f51aSChiYuan Huang 27*6460f51aSChiYuan Huang interrupts: 28*6460f51aSChiYuan Huang maxItems: 1 29*6460f51aSChiYuan Huang 30*6460f51aSChiYuan Huang interrupt-controller: true 31*6460f51aSChiYuan Huang 32*6460f51aSChiYuan Huang "#interrupt-cells": 33*6460f51aSChiYuan Huang const: 1 34*6460f51aSChiYuan Huang 35*6460f51aSChiYuan Huang wakeup-source: true 36*6460f51aSChiYuan Huang 37*6460f51aSChiYuan Huang richtek,enable-undervolt-hiccup: 38*6460f51aSChiYuan Huang type: boolean 39*6460f51aSChiYuan Huang description: | 40*6460f51aSChiYuan Huang If used, under voltage protection trigger hiccup behavior, else latchup as 41*6460f51aSChiYuan Huang default 42*6460f51aSChiYuan Huang 43*6460f51aSChiYuan Huang richtek,enable-overvolt-hiccup: 44*6460f51aSChiYuan Huang type: boolean 45*6460f51aSChiYuan Huang description: 46*6460f51aSChiYuan Huang Like as 'enable-uv-hiccup', it configures over voltage protection to 47*6460f51aSChiYuan Huang hiccup, else latchup as default 48*6460f51aSChiYuan Huang 49*6460f51aSChiYuan Huang vin1-supply: 50*6460f51aSChiYuan Huang description: phandle for buck1 input power source 51*6460f51aSChiYuan Huang 52*6460f51aSChiYuan Huang vin2-supply: 53*6460f51aSChiYuan Huang description: phandle for buck2 input power source 54*6460f51aSChiYuan Huang 55*6460f51aSChiYuan Huang vin3-supply: 56*6460f51aSChiYuan Huang description: phandle for buck3 input power source 57*6460f51aSChiYuan Huang 58*6460f51aSChiYuan Huang vin4-supply: 59*6460f51aSChiYuan Huang description: phandle for buck4 input power source 60*6460f51aSChiYuan Huang 61*6460f51aSChiYuan Huang vinldo-supply: 62*6460f51aSChiYuan Huang description: phandle for ldo input power source 63*6460f51aSChiYuan Huang 64*6460f51aSChiYuan Huang regulators: 65*6460f51aSChiYuan Huang type: object 66*6460f51aSChiYuan Huang 67*6460f51aSChiYuan Huang patternProperties: 68*6460f51aSChiYuan Huang "^buck[1-4]$": 69*6460f51aSChiYuan Huang type: object 70*6460f51aSChiYuan Huang $ref: /schemas/regulator/regulator.yaml# 71*6460f51aSChiYuan Huang unevaluatedProperties: false 72*6460f51aSChiYuan Huang 73*6460f51aSChiYuan Huang properties: 74*6460f51aSChiYuan Huang regulator-allowed-modes: 75*6460f51aSChiYuan Huang description: | 76*6460f51aSChiYuan Huang Used to specify the allowed buck converter operating mode 77*6460f51aSChiYuan Huang mode mapping: 78*6460f51aSChiYuan Huang 0: auto mode 79*6460f51aSChiYuan Huang 1: force pwm mode 80*6460f51aSChiYuan Huang items: 81*6460f51aSChiYuan Huang enum: [0, 1] 82*6460f51aSChiYuan Huang 83*6460f51aSChiYuan Huang "^(ldo|exten)$": 84*6460f51aSChiYuan Huang type: object 85*6460f51aSChiYuan Huang $ref: /schemas/regulator/regulator.yaml# 86*6460f51aSChiYuan Huang unevaluatedProperties: false 87*6460f51aSChiYuan Huang 88*6460f51aSChiYuan Huang additionalProperties: false 89*6460f51aSChiYuan Huang 90*6460f51aSChiYuan Huang powerkey: 91*6460f51aSChiYuan Huang type: object 92*6460f51aSChiYuan Huang description: 93*6460f51aSChiYuan Huang PON key that connected to RT5120 PMIC. 94*6460f51aSChiYuan Huang 95*6460f51aSChiYuan Huang properties: 96*6460f51aSChiYuan Huang compatible: 97*6460f51aSChiYuan Huang enum: 98*6460f51aSChiYuan Huang - richtek,rt5120-pwrkey 99*6460f51aSChiYuan Huang 100*6460f51aSChiYuan Huang required: 101*6460f51aSChiYuan Huang - compatible 102*6460f51aSChiYuan Huang 103*6460f51aSChiYuan Huang additionalProperties: false 104*6460f51aSChiYuan Huang 105*6460f51aSChiYuan Huangrequired: 106*6460f51aSChiYuan Huang - compatible 107*6460f51aSChiYuan Huang - reg 108*6460f51aSChiYuan Huang - interrupts 109*6460f51aSChiYuan Huang - '#interrupt-cells' 110*6460f51aSChiYuan Huang - interrupt-controller 111*6460f51aSChiYuan Huang - regulators 112*6460f51aSChiYuan Huang - powerkey 113*6460f51aSChiYuan Huang 114*6460f51aSChiYuan HuangadditionalProperties: false 115*6460f51aSChiYuan Huang 116*6460f51aSChiYuan Huangexamples: 117*6460f51aSChiYuan Huang - | 118*6460f51aSChiYuan Huang #include <dt-bindings/interrupt-controller/irq.h> 119*6460f51aSChiYuan Huang 120*6460f51aSChiYuan Huang i2c { 121*6460f51aSChiYuan Huang #address-cells = <1>; 122*6460f51aSChiYuan Huang #size-cells = <0>; 123*6460f51aSChiYuan Huang 124*6460f51aSChiYuan Huang pmic@62 { 125*6460f51aSChiYuan Huang compatible = "richtek,rt5120"; 126*6460f51aSChiYuan Huang reg = <0x62>; 127*6460f51aSChiYuan Huang interrupts-extended = <&gpio_intc 32 IRQ_TYPE_LEVEL_LOW>; 128*6460f51aSChiYuan Huang interrupt-controller; 129*6460f51aSChiYuan Huang #interrupt-cells = <1>; 130*6460f51aSChiYuan Huang wakeup-source; 131*6460f51aSChiYuan Huang 132*6460f51aSChiYuan Huang regulators { 133*6460f51aSChiYuan Huang buck1 { 134*6460f51aSChiYuan Huang regulator-name = "rt5120-buck1"; 135*6460f51aSChiYuan Huang regulator-min-microvolt = <600000>; 136*6460f51aSChiYuan Huang regulator-max-microvolt = <1393750>; 137*6460f51aSChiYuan Huang regulator-allowed-modes = <0 1>; 138*6460f51aSChiYuan Huang regulator-boot-on; 139*6460f51aSChiYuan Huang }; 140*6460f51aSChiYuan Huang buck2 { 141*6460f51aSChiYuan Huang regulator-name = "rt5120-buck2"; 142*6460f51aSChiYuan Huang regulator-min-microvolt = <1100000>; 143*6460f51aSChiYuan Huang regulator-max-microvolt = <1100000>; 144*6460f51aSChiYuan Huang regulator-allowed-modes = <0 1>; 145*6460f51aSChiYuan Huang regulator-always-on; 146*6460f51aSChiYuan Huang }; 147*6460f51aSChiYuan Huang buck3 { 148*6460f51aSChiYuan Huang regulator-name = "rt5120-buck3"; 149*6460f51aSChiYuan Huang regulator-min-microvolt = <1800000>; 150*6460f51aSChiYuan Huang regulator-max-microvolt = <1800000>; 151*6460f51aSChiYuan Huang regulator-allowed-modes = <0 1>; 152*6460f51aSChiYuan Huang regulator-always-on; 153*6460f51aSChiYuan Huang }; 154*6460f51aSChiYuan Huang buck4 { 155*6460f51aSChiYuan Huang regulator-name = "rt5120-buck4"; 156*6460f51aSChiYuan Huang regulator-min-microvolt = <3300000>; 157*6460f51aSChiYuan Huang regulator-max-microvolt = <3300000>; 158*6460f51aSChiYuan Huang regulator-allowed-modes = <0 1>; 159*6460f51aSChiYuan Huang regulator-always-on; 160*6460f51aSChiYuan Huang }; 161*6460f51aSChiYuan Huang ldo { 162*6460f51aSChiYuan Huang regulator-name = "rt5120-ldo"; 163*6460f51aSChiYuan Huang regulator-min-microvolt = <1800000>; 164*6460f51aSChiYuan Huang regulator-max-microvolt = <1800000>; 165*6460f51aSChiYuan Huang regulator-always-on; 166*6460f51aSChiYuan Huang }; 167*6460f51aSChiYuan Huang exten { 168*6460f51aSChiYuan Huang regulator-name = "rt5120-exten"; 169*6460f51aSChiYuan Huang regulator-min-microvolt = <3000000>; 170*6460f51aSChiYuan Huang regulator-max-microvolt = <3000000>; 171*6460f51aSChiYuan Huang regulator-always-on; 172*6460f51aSChiYuan Huang }; 173*6460f51aSChiYuan Huang }; 174*6460f51aSChiYuan Huang powerkey { 175*6460f51aSChiYuan Huang compatible = "richtek,rt5120-pwrkey"; 176*6460f51aSChiYuan Huang }; 177*6460f51aSChiYuan Huang }; 178*6460f51aSChiYuan Huang }; 179