1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*aa1a8ff2SEmmanuel Vadot%YAML 1.2 3*aa1a8ff2SEmmanuel Vadot--- 4*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/richtek,rtq2208.yaml# 5*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*aa1a8ff2SEmmanuel Vadot 7*aa1a8ff2SEmmanuel Vadottitle: Richtek RTQ2208 SubPMIC Regulator 8*aa1a8ff2SEmmanuel Vadot 9*aa1a8ff2SEmmanuel Vadotmaintainers: 10*aa1a8ff2SEmmanuel Vadot - Alina Yu <alina_yu@richtek.com> 11*aa1a8ff2SEmmanuel Vadot 12*aa1a8ff2SEmmanuel Vadotdescription: | 13*aa1a8ff2SEmmanuel Vadot RTQ2208 is a highly integrated power converter that offers functional safety dual 14*aa1a8ff2SEmmanuel Vadot multi-configurable synchronous buck converters and two LDOs. 15*aa1a8ff2SEmmanuel Vadot 16*aa1a8ff2SEmmanuel Vadot Bucks support "regulator-allowed-modes" and "regulator-mode". The former defines the permitted 17*aa1a8ff2SEmmanuel Vadot switching operation in normal mode; the latter defines the operation in suspend to RAM mode. 18*aa1a8ff2SEmmanuel Vadot 19*aa1a8ff2SEmmanuel Vadot No matter the RTQ2208 is configured to normal or suspend to RAM mode, there are two switching 20*aa1a8ff2SEmmanuel Vadot operation modes for all buck rails, automatic power saving mode (Auto mode) and forced continuous 21*aa1a8ff2SEmmanuel Vadot conduction mode (FCCM). 22*aa1a8ff2SEmmanuel Vadot 23*aa1a8ff2SEmmanuel Vadot The definition of modes is in the datasheet which is available in below link 24*aa1a8ff2SEmmanuel Vadot and their meaning is:: 25*aa1a8ff2SEmmanuel Vadot 0 - Auto mode for power saving, which reducing the switching frequency at light load condition 26*aa1a8ff2SEmmanuel Vadot to maintain high frequency. 27*aa1a8ff2SEmmanuel Vadot 1 - FCCM to meet the strict voltage regulation accuracy, which keeping constant switching frequency. 28*aa1a8ff2SEmmanuel Vadot 29*aa1a8ff2SEmmanuel Vadot Datasheet will be available soon at 30*aa1a8ff2SEmmanuel Vadot https://www.richtek.com/assets/Products 31*aa1a8ff2SEmmanuel Vadot 32*aa1a8ff2SEmmanuel Vadotproperties: 33*aa1a8ff2SEmmanuel Vadot compatible: 34*aa1a8ff2SEmmanuel Vadot enum: 35*aa1a8ff2SEmmanuel Vadot - richtek,rtq2208 36*aa1a8ff2SEmmanuel Vadot 37*aa1a8ff2SEmmanuel Vadot reg: 38*aa1a8ff2SEmmanuel Vadot maxItems: 1 39*aa1a8ff2SEmmanuel Vadot 40*aa1a8ff2SEmmanuel Vadot interrupts: 41*aa1a8ff2SEmmanuel Vadot maxItems: 1 42*aa1a8ff2SEmmanuel Vadot 43*aa1a8ff2SEmmanuel Vadot richtek,mtp-sel-high: 44*aa1a8ff2SEmmanuel Vadot type: boolean 45*aa1a8ff2SEmmanuel Vadot description: 46*aa1a8ff2SEmmanuel Vadot vout register selection based on this boolean value. 47*aa1a8ff2SEmmanuel Vadot false - Using DVS0 register setting to adjust vout 48*aa1a8ff2SEmmanuel Vadot true - Using DVS1 register setting to adjust vout 49*aa1a8ff2SEmmanuel Vadot 50*aa1a8ff2SEmmanuel Vadot regulators: 51*aa1a8ff2SEmmanuel Vadot type: object 52*aa1a8ff2SEmmanuel Vadot additionalProperties: false 53*aa1a8ff2SEmmanuel Vadot 54*aa1a8ff2SEmmanuel Vadot patternProperties: 55*aa1a8ff2SEmmanuel Vadot "^buck-[a-h]$": 56*aa1a8ff2SEmmanuel Vadot type: object 57*aa1a8ff2SEmmanuel Vadot $ref: regulator.yaml# 58*aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 59*aa1a8ff2SEmmanuel Vadot description: 60*aa1a8ff2SEmmanuel Vadot description for buck-[a-h] regulator. 61*aa1a8ff2SEmmanuel Vadot 62*aa1a8ff2SEmmanuel Vadot properties: 63*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes: 64*aa1a8ff2SEmmanuel Vadot description: 65*aa1a8ff2SEmmanuel Vadot two buck modes in different switching accuracy. 66*aa1a8ff2SEmmanuel Vadot 0 - Auto mode 67*aa1a8ff2SEmmanuel Vadot 1 - FCCM 68*aa1a8ff2SEmmanuel Vadot items: 69*aa1a8ff2SEmmanuel Vadot enum: [0, 1] 70*aa1a8ff2SEmmanuel Vadot 71*aa1a8ff2SEmmanuel Vadot "^ldo[1-2]$": 72*aa1a8ff2SEmmanuel Vadot type: object 73*aa1a8ff2SEmmanuel Vadot $ref: regulator.yaml# 74*aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 75*aa1a8ff2SEmmanuel Vadot description: 76*aa1a8ff2SEmmanuel Vadot regulator description for ldo[1-2]. 77*aa1a8ff2SEmmanuel Vadot 78*aa1a8ff2SEmmanuel Vadotrequired: 79*aa1a8ff2SEmmanuel Vadot - compatible 80*aa1a8ff2SEmmanuel Vadot - reg 81*aa1a8ff2SEmmanuel Vadot - regulators 82*aa1a8ff2SEmmanuel Vadot 83*aa1a8ff2SEmmanuel VadotadditionalProperties: false 84*aa1a8ff2SEmmanuel Vadot 85*aa1a8ff2SEmmanuel Vadotexamples: 86*aa1a8ff2SEmmanuel Vadot - | 87*aa1a8ff2SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 88*aa1a8ff2SEmmanuel Vadot i2c { 89*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 90*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 91*aa1a8ff2SEmmanuel Vadot 92*aa1a8ff2SEmmanuel Vadot pmic@10 { 93*aa1a8ff2SEmmanuel Vadot compatible = "richtek,rtq2208"; 94*aa1a8ff2SEmmanuel Vadot reg = <0x10>; 95*aa1a8ff2SEmmanuel Vadot interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>; 96*aa1a8ff2SEmmanuel Vadot richtek,mtp-sel-high; 97*aa1a8ff2SEmmanuel Vadot 98*aa1a8ff2SEmmanuel Vadot regulators { 99*aa1a8ff2SEmmanuel Vadot buck-a { 100*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 101*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 102*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 103*aa1a8ff2SEmmanuel Vadot regulator-always-on; 104*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 105*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 106*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 107*aa1a8ff2SEmmanuel Vadot }; 108*aa1a8ff2SEmmanuel Vadot }; 109*aa1a8ff2SEmmanuel Vadot buck-b { 110*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 111*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 112*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 113*aa1a8ff2SEmmanuel Vadot regulator-always-on; 114*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 115*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 116*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 117*aa1a8ff2SEmmanuel Vadot }; 118*aa1a8ff2SEmmanuel Vadot }; 119*aa1a8ff2SEmmanuel Vadot buck-c { 120*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 121*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 122*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 123*aa1a8ff2SEmmanuel Vadot regulator-always-on; 124*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 125*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 126*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 127*aa1a8ff2SEmmanuel Vadot }; 128*aa1a8ff2SEmmanuel Vadot }; 129*aa1a8ff2SEmmanuel Vadot buck-d { 130*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 131*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 132*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 133*aa1a8ff2SEmmanuel Vadot regulator-always-on; 134*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 135*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 136*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 137*aa1a8ff2SEmmanuel Vadot }; 138*aa1a8ff2SEmmanuel Vadot }; 139*aa1a8ff2SEmmanuel Vadot buck-e { 140*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 141*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 142*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 143*aa1a8ff2SEmmanuel Vadot regulator-always-on; 144*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 145*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 146*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 147*aa1a8ff2SEmmanuel Vadot }; 148*aa1a8ff2SEmmanuel Vadot }; 149*aa1a8ff2SEmmanuel Vadot buck-f { 150*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 151*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 152*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 153*aa1a8ff2SEmmanuel Vadot regulator-always-on; 154*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 155*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 156*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 157*aa1a8ff2SEmmanuel Vadot }; 158*aa1a8ff2SEmmanuel Vadot }; 159*aa1a8ff2SEmmanuel Vadot buck-g { 160*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 161*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 162*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 163*aa1a8ff2SEmmanuel Vadot regulator-always-on; 164*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 165*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 166*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 167*aa1a8ff2SEmmanuel Vadot }; 168*aa1a8ff2SEmmanuel Vadot }; 169*aa1a8ff2SEmmanuel Vadot buck-h { 170*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <400000>; 171*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2050000>; 172*aa1a8ff2SEmmanuel Vadot regulator-allowed-modes = <0 1>; 173*aa1a8ff2SEmmanuel Vadot regulator-always-on; 174*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 175*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 176*aa1a8ff2SEmmanuel Vadot regulator-mode = <1>; 177*aa1a8ff2SEmmanuel Vadot }; 178*aa1a8ff2SEmmanuel Vadot }; 179*aa1a8ff2SEmmanuel Vadot ldo1 { 180*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <1200000>; 181*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <1200000>; 182*aa1a8ff2SEmmanuel Vadot regulator-always-on; 183*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 184*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 185*aa1a8ff2SEmmanuel Vadot }; 186*aa1a8ff2SEmmanuel Vadot }; 187*aa1a8ff2SEmmanuel Vadot ldo2 { 188*aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <3300000>; 189*aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <3300000>; 190*aa1a8ff2SEmmanuel Vadot regulator-always-on; 191*aa1a8ff2SEmmanuel Vadot regulator-state-mem { 192*aa1a8ff2SEmmanuel Vadot regulator-on-in-suspend; 193*aa1a8ff2SEmmanuel Vadot }; 194*aa1a8ff2SEmmanuel Vadot }; 195*aa1a8ff2SEmmanuel Vadot }; 196*aa1a8ff2SEmmanuel Vadot }; 197*aa1a8ff2SEmmanuel Vadot }; 198