193880f7eSChen-Yu Tsai# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 293880f7eSChen-Yu Tsai%YAML 1.2 393880f7eSChen-Yu Tsai--- 493880f7eSChen-Yu Tsai$id: http://devicetree.org/schemas/regulator/mediatek,mt6358-regulator.yaml# 593880f7eSChen-Yu Tsai$schema: http://devicetree.org/meta-schemas/core.yaml# 693880f7eSChen-Yu Tsai 793880f7eSChen-Yu Tsaititle: MediaTek MT6358 Regulator 893880f7eSChen-Yu Tsai 993880f7eSChen-Yu Tsaimaintainers: 1093880f7eSChen-Yu Tsai - Zhiyong Tao <zhiyong.tao@mediatek.com> 1193880f7eSChen-Yu Tsai 1293880f7eSChen-Yu Tsaidescription: 1393880f7eSChen-Yu Tsai Regulator node of the PMIC. This node should under the PMIC's device node. 1493880f7eSChen-Yu Tsai All voltage regulators provided by the PMIC are described as sub-nodes of 1593880f7eSChen-Yu Tsai this node. 1693880f7eSChen-Yu Tsai 1793880f7eSChen-Yu Tsaiproperties: 1893880f7eSChen-Yu Tsai compatible: 19c631494aSZhiyong Tao oneOf: 20c631494aSZhiyong Tao - const: mediatek,mt6358-regulator 21c631494aSZhiyong Tao - items: 22c631494aSZhiyong Tao - const: mediatek,mt6366-regulator 23c631494aSZhiyong Tao - const: mediatek,mt6358-regulator 2493880f7eSChen-Yu Tsai 252f384e60SChen-Yu Tsai vsys-ldo1-supply: 262f384e60SChen-Yu Tsai description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 272f384e60SChen-Yu Tsai vsys-ldo2-supply: 28c631494aSZhiyong Tao description: Supply for LDOs vldo28 (MT6358 only), vio28, vmc, vmch, vsim2 292f384e60SChen-Yu Tsai vsys-ldo3-supply: 30c631494aSZhiyong Tao description: Supply for LDOs vcn33, vcama[12] (MT6358 only), vemc, vibr 312f384e60SChen-Yu Tsai vsys-vcore-supply: 322f384e60SChen-Yu Tsai description: Supply for buck regulator vcore 332f384e60SChen-Yu Tsai vsys-vdram1-supply: 342f384e60SChen-Yu Tsai description: Supply for buck regulator vdram1 352f384e60SChen-Yu Tsai vsys-vgpu-supply: 362f384e60SChen-Yu Tsai description: Supply for buck regulator vgpu 372f384e60SChen-Yu Tsai vsys-vmodem-supply: 382f384e60SChen-Yu Tsai description: Supply for buck regulator vmodem 392f384e60SChen-Yu Tsai vsys-vpa-supply: 402f384e60SChen-Yu Tsai description: Supply for buck regulator vpa 412f384e60SChen-Yu Tsai vsys-vproc11-supply: 422f384e60SChen-Yu Tsai description: Supply for buck regulator vproc11 432f384e60SChen-Yu Tsai vsys-vproc12-supply: 442f384e60SChen-Yu Tsai description: Supply for buck regulator vproc12 452f384e60SChen-Yu Tsai vsys-vs1-supply: 462f384e60SChen-Yu Tsai description: Supply for buck regulator vs1 472f384e60SChen-Yu Tsai vsys-vs2-supply: 482f384e60SChen-Yu Tsai description: Supply for buck regulator vs2 492f384e60SChen-Yu Tsai vs1-ldo1-supply: 50c631494aSZhiyong Tao description: 51c631494aSZhiyong Tao Supply for LDOs vrf18, vefuse, vcn18, vcamio (MT6358 only), vio18, vm18 (MT6366 only) 522f384e60SChen-Yu Tsai vs2-ldo1-supply: 53c631494aSZhiyong Tao description: Supply for LDOs vdram2, vmddr (MT6366 only) 542f384e60SChen-Yu Tsai vs2-ldo2-supply: 552f384e60SChen-Yu Tsai description: Supply for LDOs vrf12, va12 562f384e60SChen-Yu Tsai vs2-ldo3-supply: 57c631494aSZhiyong Tao description: 58c631494aSZhiyong Tao Supply for LDOs vsram-core (MT6366 only), vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 592f384e60SChen-Yu Tsai vs2-ldo4-supply: 602f384e60SChen-Yu Tsai description: Supply for LDO vcamd 6193880f7eSChen-Yu Tsai 6293880f7eSChen-Yu TsaipatternProperties: 63c631494aSZhiyong Tao "^(buck_)?v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": 6493880f7eSChen-Yu Tsai description: Buck regulators 6593880f7eSChen-Yu Tsai type: object 6693880f7eSChen-Yu Tsai $ref: regulator.yaml# 670bf4b56bSChen-Yu Tsai properties: 680bf4b56bSChen-Yu Tsai regulator-allowed-modes: 690bf4b56bSChen-Yu Tsai description: | 700bf4b56bSChen-Yu Tsai Buck regulatpr operating modes allowed. Valid values below. 710bf4b56bSChen-Yu Tsai Users should use the macros from dt-bindings/regulator/mediatek,mt6397-regulator.h 720bf4b56bSChen-Yu Tsai 0 (MT6397_BUCK_MODE_AUTO): Auto PFM/PWM mode 730bf4b56bSChen-Yu Tsai 1 (MT6397_BUCK_MODE_FORCE_PWM): Forced PWM mode 740bf4b56bSChen-Yu Tsai items: 750bf4b56bSChen-Yu Tsai enum: [0, 1] 7693880f7eSChen-Yu Tsai unevaluatedProperties: false 7793880f7eSChen-Yu Tsai 78c631494aSZhiyong Tao "^(ldo_)?v(a|rf)12$": 7993880f7eSChen-Yu Tsai description: LDOs with fixed 1.2V output and 0~100/10mV tuning 8093880f7eSChen-Yu Tsai type: object 8193880f7eSChen-Yu Tsai $ref: regulator.yaml# 820bf4b56bSChen-Yu Tsai properties: 830bf4b56bSChen-Yu Tsai regulator-allowed-modes: false 8493880f7eSChen-Yu Tsai unevaluatedProperties: false 8593880f7eSChen-Yu Tsai 86c631494aSZhiyong Tao "^(ldo_)?v((aux|cn|io|rf)18|camio)$": 87c631494aSZhiyong Tao description: 88c631494aSZhiyong Tao LDOs with fixed 1.8V output and 0~100/10mV tuning (vcn18 on MT6366 has variable output) 8993880f7eSChen-Yu Tsai type: object 9093880f7eSChen-Yu Tsai $ref: regulator.yaml# 910bf4b56bSChen-Yu Tsai properties: 920bf4b56bSChen-Yu Tsai regulator-allowed-modes: false 9393880f7eSChen-Yu Tsai unevaluatedProperties: false 9493880f7eSChen-Yu Tsai 95c631494aSZhiyong Tao "^(ldo_)?vxo22$": 96c631494aSZhiyong Tao description: LDOs with fixed 2.2V output and 0~100/10mV tuning 97c631494aSZhiyong Tao type: object 98c631494aSZhiyong Tao $ref: regulator.yaml# 99c631494aSZhiyong Tao properties: 100c631494aSZhiyong Tao regulator-allowed-modes: false 101c631494aSZhiyong Tao unevaluatedProperties: false 102c631494aSZhiyong Tao 103c631494aSZhiyong Tao "^(ldo_)?v(aud|bif|cn|fe|io)28$": 10493880f7eSChen-Yu Tsai description: LDOs with fixed 2.8V output and 0~100/10mV tuning 10593880f7eSChen-Yu Tsai type: object 10693880f7eSChen-Yu Tsai $ref: regulator.yaml# 1070bf4b56bSChen-Yu Tsai properties: 1080bf4b56bSChen-Yu Tsai regulator-allowed-modes: false 10993880f7eSChen-Yu Tsai unevaluatedProperties: false 11093880f7eSChen-Yu Tsai 111c631494aSZhiyong Tao "^(ldo_)?vusb$": 112c631494aSZhiyong Tao description: LDOs with fixed 3.0V output and 0~100/10mV tuning 113c631494aSZhiyong Tao type: object 114c631494aSZhiyong Tao $ref: regulator.yaml# 115c631494aSZhiyong Tao properties: 116c631494aSZhiyong Tao regulator-allowed-modes: false 117c631494aSZhiyong Tao unevaluatedProperties: false 118c631494aSZhiyong Tao 119c631494aSZhiyong Tao "^(ldo_)?vsram[_-](core|gpu|others|proc1[12])$": 12093880f7eSChen-Yu Tsai description: LDOs with variable output 12193880f7eSChen-Yu Tsai type: object 12293880f7eSChen-Yu Tsai $ref: regulator.yaml# 1230bf4b56bSChen-Yu Tsai properties: 1240bf4b56bSChen-Yu Tsai regulator-allowed-modes: false 12593880f7eSChen-Yu Tsai unevaluatedProperties: false 12693880f7eSChen-Yu Tsai 127c631494aSZhiyong Tao "^(ldo_)?v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|m18|mc|mch|mddr|sim[12])$": 12893880f7eSChen-Yu Tsai description: LDOs with variable output and 0~100/10mV tuning 12993880f7eSChen-Yu Tsai type: object 13093880f7eSChen-Yu Tsai $ref: regulator.yaml# 1310bf4b56bSChen-Yu Tsai properties: 1320bf4b56bSChen-Yu Tsai regulator-allowed-modes: false 13393880f7eSChen-Yu Tsai unevaluatedProperties: false 13493880f7eSChen-Yu Tsai 13593880f7eSChen-Yu Tsairequired: 13693880f7eSChen-Yu Tsai - compatible 13793880f7eSChen-Yu Tsai 13893880f7eSChen-Yu TsaiadditionalProperties: false 13993880f7eSChen-Yu Tsai 140c631494aSZhiyong TaoallOf: 141c631494aSZhiyong Tao - if: 142c631494aSZhiyong Tao properties: 143c631494aSZhiyong Tao compatible: 144c631494aSZhiyong Tao const: mediatek,mt6358-regulator 145c631494aSZhiyong Tao then: 146c631494aSZhiyong Tao patternProperties: 147c631494aSZhiyong Tao # Old regulator node name scheme (with prefix and underscores) only 148c631494aSZhiyong Tao # ([^y-] is used to avoid matching -supply 149c631494aSZhiyong Tao "^(?<!buck_)(?<!ldo_)v.*[^y-](?!-supply)$": false 150c631494aSZhiyong Tao "^ldo_vsram-": false 151c631494aSZhiyong Tao # vsram_core regulator doesn't exist on MT6358 152c631494aSZhiyong Tao "^ldo_vsram[-_]core$": false 153c631494aSZhiyong Tao 154c631494aSZhiyong Tao properties: 155c631494aSZhiyong Tao # vm18 and vmddr regulators don't exist on MT6358 156c631494aSZhiyong Tao ldo_vm18: false 157c631494aSZhiyong Tao ldo_vmddr: false 158c631494aSZhiyong Tao 159c631494aSZhiyong Tao - if: 160c631494aSZhiyong Tao properties: 161c631494aSZhiyong Tao compatible: 162c631494aSZhiyong Tao contains: 163c631494aSZhiyong Tao const: mediatek,mt6366-regulator 164c631494aSZhiyong Tao then: 165c631494aSZhiyong Tao patternProperties: 166c631494aSZhiyong Tao # Prefer cleaned up regulator node names 167c631494aSZhiyong Tao "^(buck|ldo)_": false 168c631494aSZhiyong Tao # Don't allow underscores 169c631494aSZhiyong Tao "^vsram_": false 170c631494aSZhiyong Tao # vcam* regulators don't exist on MT6366 171c631494aSZhiyong Tao "^vcam": false 172c631494aSZhiyong Tao 173c631494aSZhiyong Tao properties: 174c631494aSZhiyong Tao # vldo28 regulator doesn't exist on MT6366 175c631494aSZhiyong Tao vldo28: false 176c631494aSZhiyong Tao # vs2_ldo4 supply pin doesn't exist on MT6366 177c631494aSZhiyong Tao vs2-ldo4-supply: false 178c631494aSZhiyong Tao 17993880f7eSChen-Yu Tsaiexamples: 18093880f7eSChen-Yu Tsai - | 1810bf4b56bSChen-Yu Tsai #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> 1820bf4b56bSChen-Yu Tsai 18393880f7eSChen-Yu Tsai regulator { 18493880f7eSChen-Yu Tsai compatible = "mediatek,mt6358-regulator"; 18593880f7eSChen-Yu Tsai 18693880f7eSChen-Yu Tsai buck_vgpu { 18793880f7eSChen-Yu Tsai regulator-name = "vgpu"; 18893880f7eSChen-Yu Tsai regulator-min-microvolt = <625000>; 18993880f7eSChen-Yu Tsai regulator-max-microvolt = <900000>; 19093880f7eSChen-Yu Tsai regulator-ramp-delay = <6250>; 19193880f7eSChen-Yu Tsai regulator-enable-ramp-delay = <200>; 1920bf4b56bSChen-Yu Tsai regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 1930bf4b56bSChen-Yu Tsai MT6397_BUCK_MODE_FORCE_PWM>; 19493880f7eSChen-Yu Tsai }; 19593880f7eSChen-Yu Tsai 19693880f7eSChen-Yu Tsai ldo_vsram_gpu { 19793880f7eSChen-Yu Tsai regulator-name = "vsram_gpu"; 19893880f7eSChen-Yu Tsai regulator-min-microvolt = <850000>; 19993880f7eSChen-Yu Tsai regulator-max-microvolt = <1000000>; 20093880f7eSChen-Yu Tsai regulator-ramp-delay = <6250>; 20193880f7eSChen-Yu Tsai regulator-enable-ramp-delay = <240>; 20293880f7eSChen-Yu Tsai }; 20393880f7eSChen-Yu Tsai }; 20493880f7eSChen-Yu Tsai 205c631494aSZhiyong Tao - | 206c631494aSZhiyong Tao #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> 207c631494aSZhiyong Tao 208c631494aSZhiyong Tao regulator { 209c631494aSZhiyong Tao compatible = "mediatek,mt6366-regulator", "mediatek,mt6358-regulator"; 210c631494aSZhiyong Tao 211c631494aSZhiyong Tao vdram1 { 212c631494aSZhiyong Tao regulator-name = "pp1125_emi_vdd2"; 213c631494aSZhiyong Tao regulator-min-microvolt = <1125000>; 214c631494aSZhiyong Tao regulator-max-microvolt = <1125000>; 215c631494aSZhiyong Tao regulator-ramp-delay = <12500>; 216c631494aSZhiyong Tao regulator-enable-ramp-delay = <0>; 217c631494aSZhiyong Tao regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 218c631494aSZhiyong Tao MT6397_BUCK_MODE_FORCE_PWM>; 219c631494aSZhiyong Tao regulator-always-on; 220c631494aSZhiyong Tao }; 221c631494aSZhiyong Tao 222c631494aSZhiyong Tao vproc11 { 223c631494aSZhiyong Tao regulator-name = "ppvar_dvdd_proc_bc_mt6366"; 224c631494aSZhiyong Tao regulator-min-microvolt = <600000>; 225c631494aSZhiyong Tao regulator-max-microvolt = <1200000>; 226c631494aSZhiyong Tao regulator-ramp-delay = <6250>; 227c631494aSZhiyong Tao regulator-enable-ramp-delay = <200>; 228c631494aSZhiyong Tao regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO 229c631494aSZhiyong Tao MT6397_BUCK_MODE_FORCE_PWM>; 230c631494aSZhiyong Tao regulator-always-on; 231c631494aSZhiyong Tao }; 232c631494aSZhiyong Tao 233c631494aSZhiyong Tao vmddr { 234c631494aSZhiyong Tao regulator-name = "pm0750_emi_vmddr"; 235c631494aSZhiyong Tao regulator-min-microvolt = <700000>; 236c631494aSZhiyong Tao regulator-max-microvolt = <750000>; 237c631494aSZhiyong Tao regulator-enable-ramp-delay = <325>; 238c631494aSZhiyong Tao regulator-always-on; 239c631494aSZhiyong Tao }; 240c631494aSZhiyong Tao 241c631494aSZhiyong Tao vsram-proc11 { 242c631494aSZhiyong Tao regulator-name = "pp0900_dvdd_sram_bc"; 243c631494aSZhiyong Tao regulator-min-microvolt = <850000>; 244c631494aSZhiyong Tao regulator-max-microvolt = <1120000>; 245c631494aSZhiyong Tao regulator-ramp-delay = <6250>; 246c631494aSZhiyong Tao regulator-enable-ramp-delay = <240>; 247c631494aSZhiyong Tao regulator-always-on; 248c631494aSZhiyong Tao }; 249c631494aSZhiyong Tao }; 25093880f7eSChen-Yu Tsai... 251