* [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks
@ 2026-05-05 10:13 Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 01/16] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies Chen-Yu Tsai
` (15 more replies)
0 siblings, 16 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
Hi,
This is v2 of my MediaTek Chromebook regulator cleanup series.
Changes since v1:
- Switch to properly named vcn33_[12] regulator nodes for MT6359, and
converted existing users
- Moved PMIC regulator supply properties to PMIC top-level node
- Dropped "mt6359: Add label for regulator sub-node"
- Added all supplies for MT6315, even for unused regulator outputs
- Added missing peripheral supplies on MT8195 Cherry
- Added missing supplies for ChromeOS EC regulators on MT8195 Cherry
- Fixed pp_4200_g regulator name
- Link to v1:
https://lore.kernel.org/all/20260320084351.2461060-1-wenst@chromium.org/
This series contains the device tree bits for the collection of regulator
related cleanups for MediaTek Chromebooks. The device tree binding and
driver changes are:
MT6315
- https://lore.kernel.org/all/20260324053030.4077453-1-wenst@chromium.org/
(merged)
MT6359
- https://lore.kernel.org/all/20260429074113.3720271-1-wenst@chromium.org/
cros-ec-regulator
- https://lore.kernel.org/all/20260320083135.2455444-1-wenst@chromium.org/
(merged)
The goal is to complete the regulator tree so that there are no orphan
regulators, and there are no devices that are missing supplies.
Patch 1, 4 and 10 add supplies for the MT6315 PMIC in various Chromebook
designs.
Patch 2 converts the vcn33_[12]_(wifi|bt) regulator nodes to vcn33_[12].
Patch 3, 9, and 15 add supplies for the MT6359 PMIC in various
Chromebook designs.
Patch 5 and 11 add supplies for the ChromeOS EC controlled regulators.
Patch 6 and 16 add power supplies for the CPU cores.
Patch 7 and 13 add power supplies for the SPI NOR flash chips.
Patch 8 and 12 fix up load switch descriptions.
Patch 14 adds missing supplies for the USB controllers on the Cherry
design.
Obviously the 3 dependency series need to be merged before this series,
or we will get a bunch of new DT validation errors.
Please have a look.
Thanks
ChenYu
Chen-Yu Tsai (16):
arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies
arm64: dts: mediatek: mt6359: Switch to proper ldo_vcn33_[12]
regulators
arm64: dts: mediatek: mt8192-asurada: Add MT6359 PMIC supplies
arm64: dts: mediatek: mt8192-asurada: Add MT6315 PMIC supplies
arm64: dts: mediatek: mt8192-asurada: Add supplies for ChromeOS EC
regulators
arm64: dts: mediatek: mt8192-asurada: Add CPU power supplies
arm64: dts: mediatek: mt8192-asurada: Add SPI NOR flash power supply
arm64: dts: mediatek: mt8192-asurada: Fix WiFi regulator description
arm64: dts: mediatek: mt8195-cherry: Add MT6359 PMIC supplies
arm64: dts: mediatek: mt8195-cherry: Add MT6315 PMIC supplies
arm64: dts: mediatek: mt8195-cherry: Add supplies for ChromeOS EC
regulators
arm64: dts: mediatek: mt8195-cherry: Fix VBUS regulator description
arm64: dts: mediatek: mt8195-cherry: Add supply for SPI NOR flash
arm64: dts: mediatek: mt8195-cherry: Add vusb33 supplies for XHCI
controllers
arm64: dts: mediatek: mt8188-geralt: Add MT6359 PMIC supplies
arm64: dts: mediatek: mt8188-geralt: Add little core CPU power
supplies
arch/arm64/boot/dts/mediatek/mt6359.dtsi | 22 +-----
.../dts/mediatek/mt8186-corsola-voltorb.dtsi | 4 +
.../boot/dts/mediatek/mt8188-geralt.dtsi | 41 ++++++++++
.../boot/dts/mediatek/mt8192-asurada.dtsi | 74 ++++++++++++++++++-
.../boot/dts/mediatek/mt8195-cherry.dtsi | 50 +++++++++++--
.../dts/mediatek/mt8390-genio-common.dtsi | 4 +-
.../dts/mediatek/mt8390-grinn-genio-som.dtsi | 2 +-
.../dts/mediatek/mt8390-tungsten-smarc.dtsi | 6 +-
.../dts/mediatek/mt8395-genio-common.dtsi | 6 +-
.../mt8395-radxa-nio-12l-8-hd-panel.dtso | 4 +-
.../dts/mediatek/mt8395-radxa-nio-12l.dts | 2 +-
11 files changed, 178 insertions(+), 37 deletions(-)
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 01/16] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 02/16] arm64: dts: mediatek: mt6359: Switch to proper ldo_vcn33_[12] regulators Chen-Yu Tsai
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The MT8186 Voltorb device has one MT6315 PMIC. The first 2 outputs
ganged together, and the other two unused.
Add supplies for this PMIC. Even though the outputs are unused, the
inputs are still connected.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- New patch
---
arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
index b495a241b443..0250b4eeadd4 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
@@ -73,6 +73,10 @@ &spmi {
pmic@6 {
compatible = "mediatek,mt6319-regulator", "mediatek,mt6315-regulator";
reg = <0x6 SPMI_USID>;
+ pvdd1-supply = <&pp4200_z2>;
+ pvdd2-supply = <&pp4200_z2>;
+ pvdd3-supply = <&pp4200_z2>;
+ pvdd4-supply = <&pp4200_z2>;
regulators {
mt6319_buck1: vbuck1 {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 02/16] arm64: dts: mediatek: mt6359: Switch to proper ldo_vcn33_[12] regulators
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 01/16] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 03/16] arm64: dts: mediatek: mt8192-asurada: Add MT6359 PMIC supplies Chen-Yu Tsai
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The ldo_vcn33_[12]_wifi and ldo_vcn33_[12]_bt are just two regulator
outputs instead of four. The wifi and bt parts refer to separate enable
bits that are OR-ed together to affect the actual regulator output. The
separate bits allow the wifi and bt stacks to enable their power without
coordination between them. These have been deprecated in favor of proper
nodes matching the output.
Add proper ldo_vcn33_[12] nodes and drop the old ones. No default voltage
ranges are given as they don't make sense, and the existing ranges are
about to be removed. In-tree users of the existing *_(wifi|bt) regulator
nodes are converted over to use the new ones.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Use non-suffixed names (ldo_vcn33_[12]) instead
- Convert existing users
---
arch/arm64/boot/dts/mediatek/mt6359.dtsi | 22 ++++---------------
.../dts/mediatek/mt8390-genio-common.dtsi | 4 ++--
.../dts/mediatek/mt8390-grinn-genio-som.dtsi | 2 +-
.../dts/mediatek/mt8390-tungsten-smarc.dtsi | 6 ++---
.../dts/mediatek/mt8395-genio-common.dtsi | 6 ++---
.../mt8395-radxa-nio-12l-8-hd-panel.dtso | 4 ++--
.../dts/mediatek/mt8395-radxa-nio-12l.dts | 2 +-
7 files changed, 16 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt6359.dtsi b/arch/arm64/boot/dts/mediatek/mt6359.dtsi
index 45ad69ee49ed..a953fb527b69 100644
--- a/arch/arm64/boot/dts/mediatek/mt6359.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt6359.dtsi
@@ -164,15 +164,8 @@ mt6359_vcn13_ldo_reg: ldo_vcn13 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
};
- mt6359_vcn33_1_bt_ldo_reg: ldo_vcn33_1_bt {
- regulator-name = "vcn33_1_bt";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <3500000>;
- };
- mt6359_vcn33_1_wifi_ldo_reg: ldo_vcn33_1_wifi {
- regulator-name = "vcn33_1_wifi";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <3500000>;
+ mt6359_vcn33_1_ldo_reg: ldo_vcn33_1 {
+ regulator-name = "vcn33_1";
};
mt6359_vaux18_ldo_reg: ldo_vaux18 {
regulator-name = "vaux18";
@@ -231,15 +224,8 @@ mt6359_vemc_1_ldo_reg: ldo_vemc_1 {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
};
- mt6359_vcn33_2_bt_ldo_reg: ldo_vcn33_2_bt {
- regulator-name = "vcn33_2_bt";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <3500000>;
- };
- mt6359_vcn33_2_wifi_ldo_reg: ldo_vcn33_2_wifi {
- regulator-name = "vcn33_2_wifi";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <3500000>;
+ mt6359_vcn33_2_ldo_reg: ldo_vcn33_2 {
+ regulator-name = "vcn33_2";
};
mt6359_va12_ldo_reg: ldo_va12 {
regulator-name = "va12";
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
index 2062506f6cc5..ae11cd73e333 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
@@ -445,7 +445,7 @@ typec-mux@48 {
mode-switch;
orientation-switch;
- vcc-supply = <&mt6359_vcn33_1_bt_ldo_reg>;
+ vcc-supply = <&mt6359_vcn33_1_ldo_reg>;
port {
it5205_sbu_mux: endpoint {
@@ -637,7 +637,7 @@ &mt6359_vcn18_ldo_reg {
regulator-always-on;
};
-&mt6359_vcn33_2_bt_ldo_reg {
+&mt6359_vcn33_2_ldo_reg {
regulator-name = "vcn33_2_pmu";
regulator-always-on;
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-som.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-som.dtsi
index 8da47c916313..84064511fa0d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-som.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-som.dtsi
@@ -58,7 +58,7 @@ &mt6359_vcn18_ldo_reg {
regulator-always-on;
};
-&mt6359_vcn33_2_bt_ldo_reg {
+&mt6359_vcn33_2_ldo_reg {
regulator-name = "vcn33_2_pmu";
regulator-always-on;
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
index 40b381d4cc35..2e68e997dff3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
@@ -592,7 +592,7 @@ &mmc2 {
interrupt-names = "msdc", "sdio_wakeup";
interrupts-extended = <&gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>,
<&pio 172 IRQ_TYPE_LEVEL_LOW>;
- vmmc-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
+ vmmc-supply = <&mt6359_vcn33_2_ldo_reg>;
vqmmc-supply = <&mt6359_vcn18_ldo_reg>;
mmc-pwrseq = <&wifi_pwrseq>;
status = "okay";
@@ -617,12 +617,12 @@ &mt6359_vcn18_ldo_reg {
regulator-boot-on;
};
-&mt6359_vcn33_1_bt_ldo_reg {
+&mt6359_vcn33_1_ldo_reg {
regulator-name = "vcn33_1_pmu";
regulator-always-on;
};
-&mt6359_vcn33_2_bt_ldo_reg {
+&mt6359_vcn33_2_ldo_reg {
regulator-name = "vcn33_2_pmu";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
index 62c336e21500..4259291a52a3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
@@ -701,7 +701,7 @@ &mt6359_vcamio_ldo_reg {
regulator-always-on;
};
-&mt6359_vcn33_2_bt_ldo_reg {
+&mt6359_vcn33_2_ldo_reg {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
@@ -1216,8 +1216,8 @@ can0: can@0 {
clocks = <&can_clk>;
spi-max-frequency = <20000000>;
interrupts-extended = <&pio 16 IRQ_TYPE_LEVEL_LOW>;
- vdd-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
- xceiver-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
+ vdd-supply = <&mt6359_vcn33_2_ldo_reg>;
+ xceiver-supply = <&mt6359_vcn33_2_ldo_reg>;
};
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l-8-hd-panel.dtso b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l-8-hd-panel.dtso
index 0389c9cb8581..ecc9fd27b82d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l-8-hd-panel.dtso
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l-8-hd-panel.dtso
@@ -29,7 +29,7 @@ panel@0 {
compatible = "radxa,display-8hd-ad002", "jadard,jd9365da-h3";
reg = <0>;
backlight = <&backlight>;
- vdd-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
+ vdd-supply = <&mt6359_vcn33_2_ldo_reg>;
vccio-supply = <&mt6360_ldo2>;
reset-gpios = <&pio 108 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
@@ -57,7 +57,7 @@ touchscreen@14 {
interrupts-extended = <&pio 132 IRQ_TYPE_EDGE_RISING>;
irq-gpios = <&pio 132 GPIO_ACTIVE_HIGH>;
reset-gpios = <&pio 133 GPIO_ACTIVE_HIGH>;
- VDDIO-supply = <&mt6359_vcn33_2_bt_ldo_reg>;
+ VDDIO-supply = <&mt6359_vcn33_2_ldo_reg>;
pinctrl-names = "default";
pinctrl-0 = <&touch_pins>;
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
index bf91305e8e4a..4530434015a5 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
@@ -614,7 +614,7 @@ &mt6359_vcamio_ldo_reg {
regulator-always-on;
};
-&mt6359_vcn33_2_bt_ldo_reg {
+&mt6359_vcn33_2_ldo_reg {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 03/16] arm64: dts: mediatek: mt8192-asurada: Add MT6359 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 01/16] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 02/16] arm64: dts: mediatek: mt6359: Switch to proper ldo_vcn33_[12] regulators Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 04/16] arm64: dts: mediatek: mt8192-asurada: Add MT6315 " Chen-Yu Tsai
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The MT6359 PMIC has a number of power inputs for its various buck and
LDO regulators. The binding recently gained property definitions for
them.
Add the supplies for the PMIC regulators to the common design dtsi file.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Moved supplies to top level PMIC node
---
.../arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index 2e53c1bacf38..8054e2d20bf1 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -1440,6 +1440,23 @@ pins-miso-on {
&pmic {
interrupts-extended = <&pio 214 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&pp4200_g>;
+ vsys-vcore-supply = <&pp4200_g>;
+ vsys-vgpu11-supply = <&pp4200_g>;
+ vsys-vgpu12-supply = <&pp4200_g>;
+ vsys-vpa-supply = <&pp4200_g>;
+ vsys-vproc1-supply = <&pp4200_g>;
+ vsys-vproc2-supply = <&pp4200_g>;
+ vsys-vpu-supply = <&pp4200_g>;
+ vsys-vs1-supply = <&pp4200_g>;
+ vsys-vs2-supply = <&pp4200_g>;
+ vsys-vmodem-supply = <&pp4200_g>;
+ vsys-ldo1-supply = <&pp4200_g>;
+ vsys-ldo2-supply = <&pp4200_g>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
};
&pwm0 {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 04/16] arm64: dts: mediatek: mt8192-asurada: Add MT6315 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (2 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 03/16] arm64: dts: mediatek: mt8192-asurada: Add MT6359 PMIC supplies Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 05/16] arm64: dts: mediatek: mt8192-asurada: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
There are two MT6315 PMICs in the MT8192 Asurada design. One has two
outputs ganged together and two outputs unused. The other has three
outputs ganged together, and one left independent.
Add supplies for all the used regulators. In the case of ganged outputs,
add the supply for just the first output.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Fixed pp_4200_g regulator name
- Moved supplies to PMIC top level node
- Added all supplies
All supplies are connected, but since the regulators are ganged
together, only one regulator node is present.
---
.../boot/dts/mediatek/mt8192-asurada.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index 8054e2d20bf1..13960d1c8a02 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -175,6 +175,17 @@ pp3300_wlan: regulator-3v3-wlan {
gpio = <&pio 143 GPIO_ACTIVE_HIGH>;
};
+ /* system wide switching 4.2V power rail */
+ pp4200_g: regulator-4v2-g {
+ compatible = "regulator-fixed";
+ regulator-name = "pp4200_g";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <4200000>;
+ regulator-max-microvolt = <4200000>;
+ vin-supply = <&ppvar_sys>;
+ };
+
/* system wide switching 5.0V power rail */
pp5000_a: regulator-5v0-a {
compatible = "regulator-fixed";
@@ -1604,6 +1615,10 @@ &spmi {
mt6315_6: pmic@6 {
compatible = "mediatek,mt6315-regulator";
reg = <0x6 SPMI_USID>;
+ pvdd1-supply = <&pp4200_g>;
+ pvdd2-supply = <&pp4200_g>;
+ pvdd3-supply = <&pp4200_g>;
+ pvdd4-supply = <&pp4200_g>;
regulators {
mt6315_6_vbuck1: vbuck1 {
@@ -1629,6 +1644,10 @@ mt6315_6_vbuck3: vbuck3 {
mt6315_7: pmic@7 {
compatible = "mediatek,mt6315-regulator";
reg = <0x7 SPMI_USID>;
+ pvdd1-supply = <&pp4200_g>;
+ pvdd2-supply = <&pp4200_g>;
+ pvdd3-supply = <&pp4200_g>;
+ pvdd4-supply = <&pp4200_g>;
regulators {
mt6315_7_vbuck1: vbuck1 {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 05/16] arm64: dts: mediatek: mt8192-asurada: Add supplies for ChromeOS EC regulators
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (3 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 04/16] arm64: dts: mediatek: mt8192-asurada: Add MT6315 " Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 06/16] arm64: dts: mediatek: mt8192-asurada: Add CPU power supplies Chen-Yu Tsai
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The ChromeOS Embedded Controller exposes two regulators to the system in
the MT8192 Asurada design. Both these regulators also have power inputs.
Add supplies for these two regulators.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index 13960d1c8a02..d08ba6aec382 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -1529,6 +1529,7 @@ mt6360_ldo3_reg: regulator@0 {
reg = <0>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
+ vin-supply = <&pp4200_g>;
};
mt6360_ldo5_reg: regulator@1 {
@@ -1536,6 +1537,7 @@ mt6360_ldo5_reg: regulator@1 {
reg = <1>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
+ vin-supply = <&pp4200_g>;
};
typec {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 06/16] arm64: dts: mediatek: mt8192-asurada: Add CPU power supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (4 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 05/16] arm64: dts: mediatek: mt8192-asurada: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 07/16] arm64: dts: mediatek: mt8192-asurada: Add SPI NOR flash power supply Chen-Yu Tsai
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The device tree for the MT8192 Asurada is missing power supplies for all
the CPU cores.
Add supplies to the CPU cores. The big and little clusters each have
their own regulator.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
.../boot/dts/mediatek/mt8192-asurada.dtsi | 32 +++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index d08ba6aec382..a6543bbcbfd0 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -299,6 +299,38 @@ &afe {
memory-region = <&afe_dma_mem>;
};
+&cpu0 {
+ cpu-supply = <&mt6315_6_vbuck3>;
+};
+
+&cpu1 {
+ cpu-supply = <&mt6315_6_vbuck3>;
+};
+
+&cpu2 {
+ cpu-supply = <&mt6315_6_vbuck3>;
+};
+
+&cpu3 {
+ cpu-supply = <&mt6315_6_vbuck3>;
+};
+
+&cpu4 {
+ cpu-supply = <&mt6315_6_vbuck1>;
+};
+
+&cpu5 {
+ cpu-supply = <&mt6315_6_vbuck1>;
+};
+
+&cpu6 {
+ cpu-supply = <&mt6315_6_vbuck1>;
+};
+
+&cpu7 {
+ cpu-supply = <&mt6315_6_vbuck1>;
+};
+
&dpi0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&dpi_pin_func>;
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 07/16] arm64: dts: mediatek: mt8192-asurada: Add SPI NOR flash power supply
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (5 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 06/16] arm64: dts: mediatek: mt8192-asurada: Add CPU power supplies Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 08/16] arm64: dts: mediatek: mt8192-asurada: Fix WiFi regulator description Chen-Yu Tsai
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The device tree for the MT8192 Asurada is missing a power supply for
the SPI NOR flash chip.
Add the supply for the SPI NOR flash chip.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index a6543bbcbfd0..aae9d5ccca13 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -637,6 +637,7 @@ flash@0 {
spi-max-frequency = <52000000>;
spi-rx-bus-width = <2>;
spi-tx-bus-width = <2>;
+ vcc-supply = <&mt6359_vio18_ldo_reg>;
};
};
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 08/16] arm64: dts: mediatek: mt8192-asurada: Fix WiFi regulator description
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (6 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 07/16] arm64: dts: mediatek: mt8192-asurada: Add SPI NOR flash power supply Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 09/16] arm64: dts: mediatek: mt8195-cherry: Add MT6359 PMIC supplies Chen-Yu Tsai
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The WiFi supply regulator is a current-limiting switch. It does not have
voltage regulation capabilities. The description is also missing a power
input.
Drop the voltage constraints, and add a supply input.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index aae9d5ccca13..da819f36718b 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -167,12 +167,11 @@ pp3300_wlan: regulator-3v3-wlan {
regulator-name = "pp3300_wlan";
regulator-always-on;
regulator-boot-on;
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
pinctrl-0 = <&pp3300_wlan_pins>;
enable-active-high;
gpio = <&pio 143 GPIO_ACTIVE_HIGH>;
+ vin-supply = <&pp3300_g>;
};
/* system wide switching 4.2V power rail */
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 09/16] arm64: dts: mediatek: mt8195-cherry: Add MT6359 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (7 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 08/16] arm64: dts: mediatek: mt8192-asurada: Fix WiFi regulator description Chen-Yu Tsai
@ 2026-05-05 10:13 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 10/16] arm64: dts: mediatek: mt8195-cherry: Add MT6315 " Chen-Yu Tsai
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:13 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The MT6359 PMIC has a number of power inputs for its various buck and
LDO regulators. The binding recently gained property definitions for
them.
Add the supplies for the PMIC regulators to the common design dtsi file.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Moved supplies to top level PMIC node
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index f1ff64a84267..0b9fedac842c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -1312,6 +1312,23 @@ pins-report-sw {
&pmic {
interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&pp4200_z2>;
+ vsys-vcore-supply = <&pp4200_z2>;
+ vsys-vgpu11-supply = <&pp4200_z2>;
+ vsys-vgpu12-supply = <&pp4200_z2>;
+ vsys-vpa-supply = <&pp4200_z2>;
+ vsys-vproc1-supply = <&pp4200_z2>;
+ vsys-vproc2-supply = <&pp4200_z2>;
+ vsys-vpu-supply = <&pp4200_z2>;
+ vsys-vs1-supply = <&pp4200_z2>;
+ vsys-vs2-supply = <&pp4200_z2>;
+ vsys-vmodem-supply = <&pp4200_z2>;
+ vsys-ldo1-supply = <&pp4200_z2>;
+ vsys-ldo2-supply = <&pp4200_z2>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
};
&scp {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 10/16] arm64: dts: mediatek: mt8195-cherry: Add MT6315 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (8 preceding siblings ...)
2026-05-05 10:13 ` [PATCH v2 09/16] arm64: dts: mediatek: mt8195-cherry: Add MT6359 PMIC supplies Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 11/16] arm64: dts: mediatek: mt8195-cherry: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The MT8195 Cherry design has two MT6315 PMICs. One has 4 outputs ganged
together; the other has 2 outputs ganged together, and the other two
unused.
Add supplies for these two PMICs. Since the outputs are ganged together,
just add the supply for the first one.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Moved supplies to PMIC top level node
- Added all supplies
All supplies are connected, but since the regulators are ganged
together, only one regulator node is present.
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index 0b9fedac842c..cf9855618494 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -1472,6 +1472,10 @@ &spmi {
mt6315@6 {
compatible = "mediatek,mt6315-regulator";
reg = <0x6 SPMI_USID>;
+ pvdd1-supply = <&pp4200_z2>;
+ pvdd2-supply = <&pp4200_z2>;
+ pvdd3-supply = <&pp4200_z2>;
+ pvdd4-supply = <&pp4200_z2>;
regulators {
mt6315_6_vbuck1: vbuck1 {
@@ -1489,6 +1493,10 @@ mt6315_6_vbuck1: vbuck1 {
mt6315@7 {
compatible = "mediatek,mt6315-regulator";
reg = <0x7 SPMI_USID>;
+ pvdd1-supply = <&pp4200_z2>;
+ pvdd2-supply = <&pp4200_z2>;
+ pvdd3-supply = <&pp4200_z2>;
+ pvdd4-supply = <&pp4200_z2>;
regulators {
mt6315_7_vbuck1: vbuck1 {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 11/16] arm64: dts: mediatek: mt8195-cherry: Add supplies for ChromeOS EC regulators
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (9 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 10/16] arm64: dts: mediatek: mt8195-cherry: Add MT6315 " Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 12/16] arm64: dts: mediatek: mt8195-cherry: Fix VBUS regulator description Chen-Yu Tsai
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The two regulators that are exposed by the EC are supplied by the system
4.2V power rail.
Add supply properties for them.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- New patch
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index cf9855618494..bda1b0f9f72a 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -1431,6 +1431,7 @@ mt_pmic_vmc_ldo_reg: regulator@0 {
regulator-name = "mt_pmic_vmc_ldo";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
+ vin-supply = <&pp4200_z2>;
};
mt_pmic_vmch_ldo_reg: regulator@1 {
@@ -1439,6 +1440,7 @@ mt_pmic_vmch_ldo_reg: regulator@1 {
regulator-name = "mt_pmic_vmch_ldo";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3600000>;
+ vin-supply = <&pp4200_z2>;
};
typec {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 12/16] arm64: dts: mediatek: mt8195-cherry: Fix VBUS regulator description
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (10 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 11/16] arm64: dts: mediatek: mt8195-cherry: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 13/16] arm64: dts: mediatek: mt8195-cherry: Add supply for SPI NOR flash Chen-Yu Tsai
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The VBUS regulator is a current-limiting switch. It does not have
voltage regulation capabilities. The description is also missing a power
input.
Drop the voltage constraints, and add a supply input.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index bda1b0f9f72a..dc1ba143ccf2 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -212,10 +212,9 @@ tboard_thermistor2: thermal-sensor-t2 {
usb_vbus: regulator-5v0-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "usb-vbus";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
+ vin-supply = <&pp5000_s5>;
};
reserved_memory: reserved-memory {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 13/16] arm64: dts: mediatek: mt8195-cherry: Add supply for SPI NOR flash
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (11 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 12/16] arm64: dts: mediatek: mt8195-cherry: Fix VBUS regulator description Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 14/16] arm64: dts: mediatek: mt8195-cherry: Add vusb33 supplies for XHCI controllers Chen-Yu Tsai
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
The SPI NOR flash is powered by a separate "always on" 1.8V LDO
regulated power rail. This rail is fed from the system 3.3V rail.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- New patch
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index dc1ba143ccf2..62e2d7616f20 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -47,6 +47,17 @@ memory@40000000 {
reg = <0 0x40000000 0 0x80000000>;
};
+ /* system critical LDO 1.8V power rail */
+ pp1800_ldo_z2: regulator-pp1800-ldo-z2 {
+ compatible = "regulator-fixed";
+ regulator-name = "pp1800_ldo_z2";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&pp3300_z2>;
+ };
+
pp3300_disp_x: regulator-pp3300-disp-x {
compatible = "regulator-fixed";
regulator-name = "pp3300_disp_x";
@@ -762,6 +773,7 @@ flash@0 {
spi-max-frequency = <52000000>;
spi-rx-bus-width = <2>;
spi-tx-bus-width = <2>;
+ vcc-supply = <&pp1800_ldo_z2>;
};
};
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 14/16] arm64: dts: mediatek: mt8195-cherry: Add vusb33 supplies for XHCI controllers
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (12 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 13/16] arm64: dts: mediatek: mt8195-cherry: Add supply for SPI NOR flash Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 15/16] arm64: dts: mediatek: mt8188-geralt: Add MT6359 PMIC supplies Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 16/16] arm64: dts: mediatek: mt8188-geralt: Add little core CPU power supplies Chen-Yu Tsai
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel
Like the dual-role SSUSB controller block that encompasses the XHCI
controller, the latter also takes a vusb33 supply.
Add the supply for each XHCI controller. Also fix up any property
ordering according to DT styles, i.e. move "status" property to the
end.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- New patch
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index 62e2d7616f20..ca2bb367ee68 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -1622,21 +1622,23 @@ vdosys1_ep_ext: endpoint@1 {
};
&xhci0 {
- status = "okay";
-
rx-fifo-depth = <3072>;
vbus-supply = <&usb_vbus>;
+ vusb33-supply = <&mt6359_vusb_ldo_reg>;
+ status = "okay";
};
&xhci2 {
- status = "okay";
vbus-supply = <&usb_vbus>;
+ vusb33-supply = <&mt6359_vusb_ldo_reg>;
+ status = "okay";
};
&xhci3 {
/* MT7921's USB Bluetooth has issues with USB2 LPM */
usb2-lpm-disable;
vbus-supply = <&pp3300_wlan>;
+ vusb33-supply = <&mt6359_vusb_ldo_reg>;
status = "okay";
};
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 15/16] arm64: dts: mediatek: mt8188-geralt: Add MT6359 PMIC supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (13 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 14/16] arm64: dts: mediatek: mt8195-cherry: Add vusb33 supplies for XHCI controllers Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 16/16] arm64: dts: mediatek: mt8188-geralt: Add little core CPU power supplies Chen-Yu Tsai
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel, Fei Shao
The MT6359 PMIC has a number of power inputs for its various buck and
LDO regulators. The binding recently gained property definitions for
them.
Add the supplies for the PMIC regulators to the common design dtsi file.
Reviewed-by: Fei Shao <fshao@chromium.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Moved supplies to top level PMIC node
---
arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
index 8e423504ec05..d57e0eec676a 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
@@ -1149,6 +1149,23 @@ pins-en-pp3300-wlan {
&pmic {
interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&pp4200_s5>;
+ vsys-vcore-supply = <&pp4200_s5>;
+ vsys-vgpu11-supply = <&pp4200_s5>;
+ vsys-vgpu12-supply = <&pp4200_s5>;
+ vsys-vpa-supply = <&pp4200_s5>;
+ vsys-vproc1-supply = <&pp4200_s5>;
+ vsys-vproc2-supply = <&pp4200_s5>;
+ vsys-vpu-supply = <&pp4200_s5>;
+ vsys-vs1-supply = <&pp4200_s5>;
+ vsys-vs2-supply = <&pp4200_s5>;
+ vsys-vmodem-supply = <&pp4200_s5>;
+ vsys-ldo1-supply = <&pp4200_s5>;
+ vsys-ldo2-supply = <&pp4200_s5>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
};
&postmask0_in {
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 16/16] arm64: dts: mediatek: mt8188-geralt: Add little core CPU power supplies
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
` (14 preceding siblings ...)
2026-05-05 10:14 ` [PATCH v2 15/16] arm64: dts: mediatek: mt8188-geralt: Add MT6359 PMIC supplies Chen-Yu Tsai
@ 2026-05-05 10:14 ` Chen-Yu Tsai
15 siblings, 0 replies; 17+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 10:14 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
linux-kernel, Fei Shao
The device tree for the MT8188 Geralt is missing power supplies for all
the CPU cores. Power for the little cores is fed from the MT6359 PMIC.
Power for the big cores is fed from an MT6319 PMIC on SPMI. The latter
is currently not working in Linux.
Add the power supplies for the little cores.
Supplies for the big cores will be added once the issue with SPMI is
resolved.
Reviewed-by: Fei Shao <fshao@chromium.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
.../boot/dts/mediatek/mt8188-geralt.dtsi | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
index d57e0eec676a..4cb23595d17b 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
@@ -217,6 +217,30 @@ &cam_vcore {
domain-supply = <&mt6359_vproc1_buck_reg>;
};
+&cpu0 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
+&cpu1 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
+&cpu2 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
+&cpu3 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
+&cpu4 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
+&cpu5 {
+ cpu-supply = <&mt6359_vcore_buck_reg>;
+};
+
/*
* Geralt is the reference design and doesn't have target TDP.
* Ciri is (currently) the only device following Geralt, and its
--
2.54.0.545.g6539524ca2-goog
^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-05-05 10:15 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-05 10:13 [PATCH v2 00/16] arm64: dts: mediatek: Regulator cleanup for Chromebooks Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 01/16] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6315 PMIC supplies Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 02/16] arm64: dts: mediatek: mt6359: Switch to proper ldo_vcn33_[12] regulators Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 03/16] arm64: dts: mediatek: mt8192-asurada: Add MT6359 PMIC supplies Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 04/16] arm64: dts: mediatek: mt8192-asurada: Add MT6315 " Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 05/16] arm64: dts: mediatek: mt8192-asurada: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 06/16] arm64: dts: mediatek: mt8192-asurada: Add CPU power supplies Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 07/16] arm64: dts: mediatek: mt8192-asurada: Add SPI NOR flash power supply Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 08/16] arm64: dts: mediatek: mt8192-asurada: Fix WiFi regulator description Chen-Yu Tsai
2026-05-05 10:13 ` [PATCH v2 09/16] arm64: dts: mediatek: mt8195-cherry: Add MT6359 PMIC supplies Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 10/16] arm64: dts: mediatek: mt8195-cherry: Add MT6315 " Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 11/16] arm64: dts: mediatek: mt8195-cherry: Add supplies for ChromeOS EC regulators Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 12/16] arm64: dts: mediatek: mt8195-cherry: Fix VBUS regulator description Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 13/16] arm64: dts: mediatek: mt8195-cherry: Add supply for SPI NOR flash Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 14/16] arm64: dts: mediatek: mt8195-cherry: Add vusb33 supplies for XHCI controllers Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 15/16] arm64: dts: mediatek: mt8188-geralt: Add MT6359 PMIC supplies Chen-Yu Tsai
2026-05-05 10:14 ` [PATCH v2 16/16] arm64: dts: mediatek: mt8188-geralt: Add little core CPU power supplies Chen-Yu Tsai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox