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