Skip to content

Commit 40a7c5d

Browse files
AngeloGioacchino Del Regnobroonie
authored andcommitted
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>
1 parent 6146a0f commit 40a7c5d

3 files changed

Lines changed: 227 additions & 0 deletions

File tree

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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+
...
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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+
...
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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+
...

0 commit comments

Comments
 (0)