Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: regulator: Document MediaTek MT6316 PMIC Regulators

Add bindings for the regulators found in the MediaTek MT6316 PMIC,
usually found in board designs using the MT6991 Dimensity 9400 and
on MT8196 Kompanio SoC for Chromebooks.

This chip is fully controlled by SPMI and has multiple variants
providing different phase configurations.

Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20251027110527.21002-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

AngeloGioacchino Del Regno and committed by
Mark Brown
40a7c5db 6146a0f1

+227
+76
Documentation/devicetree/bindings/regulator/mediatek,mt6316b-regulator.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/regulator/mediatek,mt6316b-regulator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek MT6316 BP/VP SPMI PMIC Regulators 8 + 9 + maintainers: 10 + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 11 + 12 + description: 13 + The MediaTek MT6316BP/VP PMICs are fully controlled by SPMI interface, both 14 + feature four step-down DC/DC (buck) converters, and provides 2+2 Phases, 15 + joining Buck 1+2 for the first phase, and Buck 3+4 for the second phase. 16 + 17 + properties: 18 + compatible: 19 + const: mediatek,mt6316b-regulator 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + patternProperties: 25 + "^vbuck(12|34)$": 26 + type: object 27 + $ref: regulator.yaml# 28 + unevaluatedProperties: false 29 + properties: 30 + regulator-allowed-modes: 31 + description: | 32 + Allowed Buck regulator operating modes allowed. Valid values below. 33 + 0 - Normal mode with automatic power saving, reducing the switching 34 + frequency when light load conditions are detected 35 + 1 - Forced Continuous Conduction mode (FCCM) for improved voltage 36 + regulation accuracy with constant switching frequency but lower 37 + regulator efficiency 38 + 2 - Forced Low Power mode for improved regulator efficiency, used 39 + when no heavy load is expected, will shut down unnecessary IP 40 + blocks and secondary phases to reduce quiescent current. 41 + This mode does not limit the maximum output current but unless 42 + only a light load is applied, there will be regulation accuracy 43 + and efficiency losses. 44 + minItems: 1 45 + maxItems: 3 46 + items: 47 + enum: [ 0, 1, 2 ] 48 + 49 + required: 50 + - compatible 51 + - reg 52 + 53 + additionalProperties: false 54 + 55 + examples: 56 + - | 57 + #include <dt-bindings/spmi/spmi.h> 58 + 59 + spmi { 60 + #address-cells = <2>; 61 + #size-cells = <0>; 62 + 63 + pmic@8 { 64 + compatible = "mediatek,mt6316b-regulator"; 65 + reg = <0x8 SPMI_USID>; 66 + 67 + vbuck12 { 68 + regulator-name = "dvdd_core"; 69 + regulator-min-microvolt = <450000>; 70 + regulator-max-microvolt = <965000>; 71 + regulator-allowed-modes = <0 1 2>; 72 + regulator-enable-ramp-delay = <256>; 73 + }; 74 + }; 75 + }; 76 + ...
+76
Documentation/devicetree/bindings/regulator/mediatek,mt6316c-regulator.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/regulator/mediatek,mt6316c-regulator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek MT6316 CP/HP/KP SPMI PMIC Regulators 8 + 9 + maintainers: 10 + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 11 + 12 + description: 13 + The MediaTek MT6316CP/HP/KP PMICs are fully controlled by SPMI interface, 14 + features four step-down DC/DC (buck) converters, and provides 3+1 Phases, 15 + joining Buck 1+2+4 for the first phase, and uses Buck 3 for the second. 16 + 17 + properties: 18 + compatible: 19 + const: mediatek,mt6316c-regulator 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + patternProperties: 25 + "^vbuck(124|3)$": 26 + type: object 27 + $ref: regulator.yaml# 28 + unevaluatedProperties: false 29 + properties: 30 + regulator-allowed-modes: 31 + description: | 32 + Allowed Buck regulator operating modes allowed. Valid values below. 33 + 0 - Normal mode with automatic power saving, reducing the switching 34 + frequency when light load conditions are detected 35 + 1 - Forced Continuous Conduction mode (FCCM) for improved voltage 36 + regulation accuracy with constant switching frequency but lower 37 + regulator efficiency 38 + 2 - Forced Low Power mode for improved regulator efficiency, used 39 + when no heavy load is expected, will shut down unnecessary IP 40 + blocks and secondary phases to reduce quiescent current. 41 + This mode does not limit the maximum output current but unless 42 + only a light load is applied, there will be regulation accuracy 43 + and efficiency losses. 44 + minItems: 1 45 + maxItems: 3 46 + items: 47 + enum: [ 0, 1, 2 ] 48 + 49 + required: 50 + - compatible 51 + - reg 52 + 53 + additionalProperties: false 54 + 55 + examples: 56 + - | 57 + #include <dt-bindings/spmi/spmi.h> 58 + 59 + spmi { 60 + #address-cells = <2>; 61 + #size-cells = <0>; 62 + 63 + pmic@6 { 64 + compatible = "mediatek,mt6316c-regulator"; 65 + reg = <0x6 SPMI_USID>; 66 + 67 + vbuck124 { 68 + regulator-name = "dvdd_proc_m"; 69 + regulator-min-microvolt = <450000>; 70 + regulator-max-microvolt = <1277500>; 71 + regulator-allowed-modes = <0 1 2>; 72 + regulator-enable-ramp-delay = <256>; 73 + }; 74 + }; 75 + }; 76 + ...
+75
Documentation/devicetree/bindings/regulator/mediatek,mt6316d-regulator.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/regulator/mediatek,mt6316d-regulator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek MT6316 DP/TP SPMI PMIC Regulators 8 + 9 + maintainers: 10 + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 11 + 12 + description: 13 + The MediaTek MT6316DP/TP PMICs are fully controlled by SPMI interface, both 14 + feature four step-down DC/DC (buck) converters, and provides a single Phase, 15 + joining Buck 1+2+3+4. 16 + 17 + properties: 18 + compatible: 19 + const: mediatek,mt6316d-regulator 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + vbuck1234: 25 + type: object 26 + $ref: regulator.yaml# 27 + unevaluatedProperties: false 28 + properties: 29 + regulator-allowed-modes: 30 + description: | 31 + Allowed Buck regulator operating modes allowed. Valid values below. 32 + 0 - Normal mode with automatic power saving, reducing the switching 33 + frequency when light load conditions are detected 34 + 1 - Forced Continuous Conduction mode (FCCM) for improved voltage 35 + regulation accuracy with constant switching frequency but lower 36 + regulator efficiency 37 + 2 - Forced Low Power mode for improved regulator efficiency, used 38 + when no heavy load is expected, will shut down unnecessary IP 39 + blocks and secondary phases to reduce quiescent current. 40 + This mode does not limit the maximum output current but unless 41 + only a light load is applied, there will be regulation accuracy 42 + and efficiency losses. 43 + minItems: 1 44 + maxItems: 3 45 + items: 46 + enum: [ 0, 1, 2 ] 47 + 48 + required: 49 + - compatible 50 + - reg 51 + 52 + additionalProperties: false 53 + 54 + examples: 55 + - | 56 + #include <dt-bindings/spmi/spmi.h> 57 + 58 + spmi { 59 + #address-cells = <2>; 60 + #size-cells = <0>; 61 + 62 + pmic@7 { 63 + compatible = "mediatek,mt6316d-regulator"; 64 + reg = <0x7 SPMI_USID>; 65 + 66 + vbuck1234 { 67 + regulator-name = "dvdd_gpustack"; 68 + regulator-min-microvolt = <400000>; 69 + regulator-max-microvolt = <1277500>; 70 + regulator-allowed-modes = <0 1 2>; 71 + regulator-enable-ramp-delay = <256>; 72 + }; 73 + }; 74 + }; 75 + ...