1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/mediatek,mt6358-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: MediaTek MT6358 Regulator 8 9maintainers: 10 - Zhiyong Tao <zhiyong.tao@mediatek.com> 11 12description: 13 Regulator node of the PMIC. This node should under the PMIC's device node. 14 All voltage regulators provided by the PMIC are described as sub-nodes of 15 this node. 16 17properties: 18 compatible: 19 oneOf: 20 - const: mediatek,mt6358-regulator 21 - items: 22 - const: mediatek,mt6366-regulator 23 - const: mediatek,mt6358-regulator 24 25 vsys-ldo1-supply: 26 description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 27 vsys-ldo2-supply: 28 description: Supply for LDOs vldo28 (MT6358 only), vio28, vmc, vmch, vsim2 29 vsys-ldo3-supply: 30 description: Supply for LDOs vcn33, vcama[12] (MT6358 only), vemc, vibr 31 vsys-vcore-supply: 32 description: Supply for buck regulator vcore 33 vsys-vdram1-supply: 34 description: Supply for buck regulator vdram1 35 vsys-vgpu-supply: 36 description: Supply for buck regulator vgpu 37 vsys-vmodem-supply: 38 description: Supply for buck regulator vmodem 39 vsys-vpa-supply: 40 description: Supply for buck regulator vpa 41 vsys-vproc11-supply: 42 description: Supply for buck regulator vproc11 43 vsys-vproc12-supply: 44 description: Supply for buck regulator vproc12 45 vsys-vs1-supply: 46 description: Supply for buck regulator vs1 47 vsys-vs2-supply: 48 description: Supply for buck regulator vs2 49 vs1-ldo1-supply: 50 description: 51 Supply for LDOs vrf18, vefuse, vcn18, vcamio (MT6358 only), vio18, vm18 (MT6366 only) 52 vs2-ldo1-supply: 53 description: Supply for LDOs vdram2, vmddr (MT6366 only) 54 vs2-ldo2-supply: 55 description: Supply for LDOs vrf12, va12 56 vs2-ldo3-supply: 57 description: 58 Supply for LDOs vsram-core (MT6366 only), vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 59 vs2-ldo4-supply: 60 description: Supply for LDO vcamd 61 62patternProperties: 63 "^(buck_)?v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": 64 description: Buck regulators 65 type: object 66 $ref: regulator.yaml# 67 properties: 68 regulator-allowed-modes: 69 description: | 70 Buck regulatpr operating modes allowed. Valid values below. 71 Users should use the macros from dt-bindings/regulator/mediatek,mt6397-regulator.h 72 0 (MT6397_BUCK_MODE_AUTO): Auto PFM/PWM mode 73 1 (MT6397_BUCK_MODE_FORCE_PWM): Forced PWM mode 74 items: 75 enum: [0, 1] 76 unevaluatedProperties: false 77 78 "^(ldo_)?v(a|rf)12$": 79 description: LDOs with fixed 1.2V output and 0~100/10mV tuning 80 type: object 81 $ref: regulator.yaml# 82 properties: 83 regulator-allowed-modes: false 84 unevaluatedProperties: false 85 86 "^(ldo_)?v((aux|cn|io|rf)18|camio)$": 87 description: 88 LDOs with fixed 1.8V output and 0~100/10mV tuning (vcn18 on MT6366 has variable output) 89 type: object 90 $ref: regulator.yaml# 91 properties: 92 regulator-allowed-modes: false 93 unevaluatedProperties: false 94 95 "^(ldo_)?vxo22$": 96 description: LDOs with fixed 2.2V output and 0~100/10mV tuning 97 type: object 98 $ref: regulator.yaml# 99 properties: 100 regulator-allowed-modes: false 101 unevaluatedProperties: false 102 103 "^(ldo_)?v(aud|bif|cn|fe|io)28$": 104 description: LDOs with fixed 2.8V output and 0~100/10mV tuning 105 type: object 106 $ref: regulator.yaml# 107 properties: 108 regulator-allowed-modes: false 109 unevaluatedProperties: false 110 111 "^(ldo_)?vusb$": 112 description: LDOs with fixed 3.0V output and 0~100/10mV tuning 113 type: object 114 $ref: regulator.yaml# 115 properties: 116 regulator-allowed-modes: false 117 unevaluatedProperties: false 118 119 "^(ldo_)?vsram[_-](core|gpu|others|proc1[12])$": 120 description: LDOs with variable output 121 type: object 122 $ref: regulator.yaml# 123 properties: 124 regulator-allowed-modes: false 125 unevaluatedProperties: false 126 127 "^(ldo_)?v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|m18|mc|mch|mddr|sim[12])$": 128 description: LDOs with variable output and 0~100/10mV tuning 129 type: object 130 $ref: regulator.yaml# 131 properties: 132 regulator-allowed-modes: false 133 unevaluatedProperties: false 134 135required: 136 - compatible 137 138additionalProperties: false 139 140allOf: 141 - if: 142 properties: 143 compatible: 144 const: mediatek,mt6358-regulator 145 then: 146 patternProperties: 147 # Old regulator node name scheme (with prefix and underscores) only 148 # ([^y-] is used to avoid matching -supply 149 "^(?<!buck_)(?<!ldo_)v.*[^y-](?!-supply)$": false 150 "^ldo_vsram-": false 151 # vsram_core regulator doesn't exist on MT6358 152 "^ldo_vsram[-_]core$": false 153 154 properties: 155 # vm18 and vmddr regulators don't exist on MT6358 156 ldo_vm18: false 157 ldo_vmddr: false 158 159 - if: 160 properties: 161 compatible: 162 contains: 163 const: mediatek,mt6366-regulator 164 then: 165 patternProperties: 166 # Prefer cleaned up regulator node names 167 "^(buck|ldo)_": false 168 # Don't allow underscores 169 "^vsram_": false 170 # vcam* regulators don't exist on MT6366 171 "^vcam": false 172 173 properties: 174 # vldo28 regulator doesn't exist on MT6366 175 vldo28: false 176 # vs2_ldo4 supply pin doesn't exist on MT6366 177 vs2-ldo4-supply: false 178 179examples: 180 - | 181 #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> 182 183 regulator { 184 compatible = "mediatek,mt6358-regulator"; 185 186 buck_vgpu { 187 regulator-name = "vgpu"; 188 regulator-min-microvolt = <625000>; 189 regulator-max-microvolt = <900000>; 190 regulator-ramp-delay = <6250>; 191 regulator-enable-ramp-delay = <200>; 192 regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 193 MT6397_BUCK_MODE_FORCE_PWM>; 194 }; 195 196 ldo_vsram_gpu { 197 regulator-name = "vsram_gpu"; 198 regulator-min-microvolt = <850000>; 199 regulator-max-microvolt = <1000000>; 200 regulator-ramp-delay = <6250>; 201 regulator-enable-ramp-delay = <240>; 202 }; 203 }; 204 205 - | 206 #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> 207 208 regulator { 209 compatible = "mediatek,mt6366-regulator", "mediatek,mt6358-regulator"; 210 211 vdram1 { 212 regulator-name = "pp1125_emi_vdd2"; 213 regulator-min-microvolt = <1125000>; 214 regulator-max-microvolt = <1125000>; 215 regulator-ramp-delay = <12500>; 216 regulator-enable-ramp-delay = <0>; 217 regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 218 MT6397_BUCK_MODE_FORCE_PWM>; 219 regulator-always-on; 220 }; 221 222 vproc11 { 223 regulator-name = "ppvar_dvdd_proc_bc_mt6366"; 224 regulator-min-microvolt = <600000>; 225 regulator-max-microvolt = <1200000>; 226 regulator-ramp-delay = <6250>; 227 regulator-enable-ramp-delay = <200>; 228 regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 229 MT6397_BUCK_MODE_FORCE_PWM>; 230 regulator-always-on; 231 }; 232 233 vmddr { 234 regulator-name = "pm0750_emi_vmddr"; 235 regulator-min-microvolt = <700000>; 236 regulator-max-microvolt = <750000>; 237 regulator-enable-ramp-delay = <325>; 238 regulator-always-on; 239 }; 240 241 vsram-proc11 { 242 regulator-name = "pp0900_dvdd_sram_bc"; 243 regulator-min-microvolt = <850000>; 244 regulator-max-microvolt = <1120000>; 245 regulator-ramp-delay = <6250>; 246 regulator-enable-ramp-delay = <240>; 247 regulator-always-on; 248 }; 249 }; 250... 251