| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/regulator/mediatek,mt6358-regulator.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: MediaTek MT6358 Regulator |
| |
| maintainers: |
| - Zhiyong Tao <zhiyong.tao@mediatek.com> |
| |
| description: |
| Regulator node of the PMIC. This node should under the PMIC's device node. |
| All voltage regulators provided by the PMIC are described as sub-nodes of |
| this node. |
| |
| properties: |
| compatible: |
| oneOf: |
| - const: mediatek,mt6358-regulator |
| - items: |
| - const: mediatek,mt6366-regulator |
| - const: mediatek,mt6358-regulator |
| |
| vsys-ldo1-supply: |
| description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 |
| vsys-ldo2-supply: |
| description: Supply for LDOs vldo28 (MT6358 only), vio28, vmc, vmch, vsim2 |
| vsys-ldo3-supply: |
| description: Supply for LDOs vcn33, vcama[12] (MT6358 only), vemc, vibr |
| vsys-vcore-supply: |
| description: Supply for buck regulator vcore |
| vsys-vdram1-supply: |
| description: Supply for buck regulator vdram1 |
| vsys-vgpu-supply: |
| description: Supply for buck regulator vgpu |
| vsys-vmodem-supply: |
| description: Supply for buck regulator vmodem |
| vsys-vpa-supply: |
| description: Supply for buck regulator vpa |
| vsys-vproc11-supply: |
| description: Supply for buck regulator vproc11 |
| vsys-vproc12-supply: |
| description: Supply for buck regulator vproc12 |
| vsys-vs1-supply: |
| description: Supply for buck regulator vs1 |
| vsys-vs2-supply: |
| description: Supply for buck regulator vs2 |
| vs1-ldo1-supply: |
| description: |
| Supply for LDOs vrf18, vefuse, vcn18, vcamio (MT6358 only), vio18, vm18 (MT6366 only) |
| vs2-ldo1-supply: |
| description: Supply for LDOs vdram2, vmddr (MT6366 only) |
| vs2-ldo2-supply: |
| description: Supply for LDOs vrf12, va12 |
| vs2-ldo3-supply: |
| description: |
| Supply for LDOs vsram-core (MT6366 only), vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 |
| vs2-ldo4-supply: |
| description: Supply for LDO vcamd |
| |
| patternProperties: |
| "^(buck_)?v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": |
| description: Buck regulators |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: |
| description: | |
| Buck regulatpr operating modes allowed. Valid values below. |
| Users should use the macros from dt-bindings/regulator/mediatek,mt6397-regulator.h |
| 0 (MT6397_BUCK_MODE_AUTO): Auto PFM/PWM mode |
| 1 (MT6397_BUCK_MODE_FORCE_PWM): Forced PWM mode |
| items: |
| enum: [0, 1] |
| unevaluatedProperties: false |
| |
| "^(ldo_)?v(a|rf)12$": |
| description: LDOs with fixed 1.2V output and 0~100/10mV tuning |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?v((aux|cn|io|rf)18|camio)$": |
| description: |
| LDOs with fixed 1.8V output and 0~100/10mV tuning (vcn18 on MT6366 has variable output) |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?vxo22$": |
| description: LDOs with fixed 2.2V output and 0~100/10mV tuning |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?v(aud|bif|cn|fe|io)28$": |
| description: LDOs with fixed 2.8V output and 0~100/10mV tuning |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?vusb$": |
| description: LDOs with fixed 3.0V output and 0~100/10mV tuning |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?vsram[_-](core|gpu|others|proc1[12])$": |
| description: LDOs with variable output |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| "^(ldo_)?v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|m18|mc|mch|mddr|sim[12])$": |
| description: LDOs with variable output and 0~100/10mV tuning |
| type: object |
| $ref: regulator.yaml# |
| properties: |
| regulator-allowed-modes: false |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| const: mediatek,mt6358-regulator |
| then: |
| patternProperties: |
| # Old regulator node name scheme (with prefix and underscores) only |
| # ([^y-] is used to avoid matching -supply |
| "^(?<!buck_)(?<!ldo_)v.*[^y-](?!-supply)$": false |
| "^ldo_vsram-": false |
| # vsram_core regulator doesn't exist on MT6358 |
| "^ldo_vsram[-_]core$": false |
| |
| properties: |
| # vm18 and vmddr regulators don't exist on MT6358 |
| ldo_vm18: false |
| ldo_vmddr: false |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: mediatek,mt6366-regulator |
| then: |
| patternProperties: |
| # Prefer cleaned up regulator node names |
| "^(buck|ldo)_": false |
| # Don't allow underscores |
| "^vsram_": false |
| # vcam* regulators don't exist on MT6366 |
| "^vcam": false |
| |
| properties: |
| # vldo28 regulator doesn't exist on MT6366 |
| vldo28: false |
| # vs2_ldo4 supply pin doesn't exist on MT6366 |
| vs2-ldo4-supply: false |
| |
| examples: |
| - | |
| #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> |
| |
| regulator { |
| compatible = "mediatek,mt6358-regulator"; |
| |
| buck_vgpu { |
| regulator-name = "vgpu"; |
| regulator-min-microvolt = <625000>; |
| regulator-max-microvolt = <900000>; |
| regulator-ramp-delay = <6250>; |
| regulator-enable-ramp-delay = <200>; |
| regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO |
| MT6397_BUCK_MODE_FORCE_PWM>; |
| }; |
| |
| ldo_vsram_gpu { |
| regulator-name = "vsram_gpu"; |
| regulator-min-microvolt = <850000>; |
| regulator-max-microvolt = <1000000>; |
| regulator-ramp-delay = <6250>; |
| regulator-enable-ramp-delay = <240>; |
| }; |
| }; |
| |
| - | |
| #include <dt-bindings/regulator/mediatek,mt6397-regulator.h> |
| |
| regulator { |
| compatible = "mediatek,mt6366-regulator", "mediatek,mt6358-regulator"; |
| |
| vdram1 { |
| regulator-name = "pp1125_emi_vdd2"; |
| regulator-min-microvolt = <1125000>; |
| regulator-max-microvolt = <1125000>; |
| regulator-ramp-delay = <12500>; |
| regulator-enable-ramp-delay = <0>; |
| regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO |
| MT6397_BUCK_MODE_FORCE_PWM>; |
| regulator-always-on; |
| }; |
| |
| vproc11 { |
| regulator-name = "ppvar_dvdd_proc_bc_mt6366"; |
| regulator-min-microvolt = <600000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-ramp-delay = <6250>; |
| regulator-enable-ramp-delay = <200>; |
| regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO |
| MT6397_BUCK_MODE_FORCE_PWM>; |
| regulator-always-on; |
| }; |
| |
| vmddr { |
| regulator-name = "pm0750_emi_vmddr"; |
| regulator-min-microvolt = <700000>; |
| regulator-max-microvolt = <750000>; |
| regulator-enable-ramp-delay = <325>; |
| regulator-always-on; |
| }; |
| |
| vsram-proc11 { |
| regulator-name = "pp0900_dvdd_sram_bc"; |
| regulator-min-microvolt = <850000>; |
| regulator-max-microvolt = <1120000>; |
| regulator-ramp-delay = <6250>; |
| regulator-enable-ramp-delay = <240>; |
| regulator-always-on; |
| }; |
| }; |
| ... |