251 lines
7.7 KiB
YAML
251 lines
7.7 KiB
YAML
# 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;
|
|
};
|
|
};
|
|
...
|