* [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators
@ 2026-10-30 10:34 Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 2/3] arm64: dts: mediatek: mt8195-cherry: Fix ramp-delay for Vgpu Chen-Yu Tsai
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-10-30 10:34 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
stable
On Asurada, the MT6315 buck regulators (Vbcpu, Vlcpu, and Vgpu) are
missing the regulator-ramp-delay property. Without the slew rate
specified, voltage increases may not have settled before switching CPU
or GPU to higher operating points, risking undervoltage crashes.
Add regulator-ramp-delay properties matching the slew rates configured
by firmware, with values provided by MediaTek: 8000 uV/us for Vbcpu, and
4500 uV/us for Vlcpu and Vgpu.
Fixes: 3183cb62b033 ("arm64: dts: mediatek: asurada: Add SPMI regulators")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Patch created with LLM. Values were translated from raw register values
by MediaTek.
---
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index d1993b80f9ce..43286241cd22 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -1812,6 +1812,7 @@ mt6315_6_vbuck1: vbuck1 {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
+ regulator-ramp-delay = <8000>;
regulator-allowed-modes = <0 1 2>;
regulator-always-on;
};
@@ -1821,6 +1822,7 @@ mt6315_6_vbuck3: vbuck3 {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
+ regulator-ramp-delay = <4500>;
regulator-allowed-modes = <0 1 2>;
regulator-always-on;
};
@@ -1841,6 +1843,7 @@ mt6315_7_vbuck1: vbuck1 {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <800000>;
regulator-enable-ramp-delay = <256>;
+ regulator-ramp-delay = <4500>;
regulator-allowed-modes = <0 1 2>;
regulator-coupled-with = <&mt6359_vsram_others_ldo_reg>;
regulator-coupled-max-spread = <10000>;
--
2.56.0.317.g454f8302e1-goog
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] arm64: dts: mediatek: mt8195-cherry: Fix ramp-delay for Vgpu
2026-10-30 10:34 [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators Chen-Yu Tsai
@ 2026-10-30 10:34 ` Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 3/3] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6319 ramp-delay Chen-Yu Tsai
2026-10-30 10:41 ` [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators sashiko-bot
2 siblings, 0 replies; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-10-30 10:34 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
stable
On Cherry, the MT6315 PMIC at USID 0x7 powering Vgpu has its slew rate
configured by firmware to 4500 uV/us, rather than the 6250 uV/us
currently specified in the device tree.
Since regulator-ramp-delay is specified in uV/us, specifying a higher
slew rate than what the PMIC actually uses results in an underestimated
voltage ramp time, risking GPU undervoltage when switching to higher
operating points.
Update regulator-ramp-delay on mt6315_7_vbuck1 to 4500 to match the
configured slew rate provided by MediaTek. (Vbcpu on USID 0x6 is
configured to 6250 uV/us and needs no change.)
Fixes: 260c04d425eb ("arm64: dts: mediatek: cherry: Enable MT6315 regulators on SPMI bus")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Patch created with LLM. Values were translated from raw register values
by MediaTek.
---
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index f23a0c7aa87e..81628d8a4b0e 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -1596,7 +1596,7 @@ mt6315_7_vbuck1: vbuck1 {
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
- regulator-ramp-delay = <6250>;
+ regulator-ramp-delay = <4500>;
regulator-allowed-modes = <0 1 2>;
};
};
--
2.56.0.317.g454f8302e1-goog
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6319 ramp-delay
2026-10-30 10:34 [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 2/3] arm64: dts: mediatek: mt8195-cherry: Fix ramp-delay for Vgpu Chen-Yu Tsai
@ 2026-10-30 10:34 ` Chen-Yu Tsai
2026-10-30 10:41 ` [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators sashiko-bot
2 siblings, 0 replies; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-10-30 10:34 UTC (permalink / raw)
To: Matthias Brugger, AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, linux-mediatek, devicetree, linux-arm-kernel,
stable
On Voltorb and Squirtle, the MT6319 buck1 regulator supplying the big
CPU cluster is missing the regulator-ramp-delay property. Without the
slew rate specified, voltage increases may not have settled before
switching the big CPU cluster to higher operating points, risking
undervoltage crashes.
Firmware configures the MT6319 slew rate on these designs to 6250 uV/us,
with the value provided by MediaTek. Add regulator-ramp-delay = <6250>
to mt6319_buck1.
Fixes: 321ad586e607 ("arm64: dts: mediatek: Add MT8186 Voltorb Chromebooks")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Patch created with LLM. Values were translated from raw register values
by MediaTek.
---
arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
index 0250b4eeadd4..2ec343f49da3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola-voltorb.dtsi
@@ -84,6 +84,7 @@ mt6319_buck1: vbuck1 {
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1193750>;
regulator-enable-ramp-delay = <256>;
+ regulator-ramp-delay = <6250>;
regulator-allowed-modes = <0 1 2>;
regulator-always-on;
};
--
2.56.0.317.g454f8302e1-goog
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators
2026-10-30 10:34 [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 2/3] arm64: dts: mediatek: mt8195-cherry: Fix ramp-delay for Vgpu Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 3/3] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6319 ramp-delay Chen-Yu Tsai
@ 2026-10-30 10:41 ` sashiko-bot
2026-10-30 10:51 ` Chen-Yu Tsai
2 siblings, 1 reply; 5+ messages in thread
From: sashiko-bot @ 2026-10-30 10:41 UTC (permalink / raw)
To: Chen-Yu Tsai; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] arm64: dts: mediatek: swapped regulator-ramp-delay for Vbcpu and Vlcpu
--
commit 810dcac6146b830cb56f853c88e0887dc012ef9d
Author: Chen-Yu Tsai <wenst@chromium.org>
arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators
This commit adds regulator-ramp-delay properties for the MT6315 buck
regulators (Vbcpu, Vlcpu, and Vgpu) on Asurada to ensure voltage increases
settle before switching CPU or GPU to higher operating points.
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> index 40d34b16dc807..68d84fc55767b 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> @@ -1500,6 +1500,7 @@ mt6315_6_vbuck1: vbuck1 {
> regulator-min-microvolt = <400000>;
> regulator-max-microvolt = <1193750>;
> regulator-enable-ramp-delay = <256>;
> + regulator-ramp-delay = <4500>;
> regulator-allowed-modes = <0 1 2>;
> regulator-always-on;
> };
> @@ -1509,6 +1510,7 @@ mt6315_6_vbuck3: vbuck3 {
> regulator-min-microvolt = <400000>;
> regulator-max-microvolt = <1193750>;
> regulator-enable-ramp-delay = <256>;
> + regulator-ramp-delay = <8000>;
[Severity: High]
Are the regulator-ramp-delay values for mt6315_6_vbuck1 and mt6315_6_vbuck3
swapped here?
The commit message states that the slew rates are 8000 uV/us for Vbcpu, and
4500 uV/us for Vlcpu and Vgpu. However, in mt8192-asurada.dtsi,
mt6315_6_vbuck1 is Vbcpu and mt6315_6_vbuck3 is Vlcpu:
mt6315_6_vbuck1: vbuck1 {
regulator-name = "Vbcpu";
...
regulator-ramp-delay = <4500>;
...
};
mt6315_6_vbuck3: vbuck3 {
regulator-name = "Vlcpu";
...
regulator-ramp-delay = <8000>;
...
};
Because mt6315_volt_range_ops does not implement .set_ramp_delay,
_regulator_set_voltage_time() uses constraints->ramp_delay directly to
compute the settling wait time during cpufreq DVFS transitions. Assigning
8000 to Vlcpu when its hardware slew rate is 4500 uV/us causes the regulator
core to wait for less than the required voltage ramp time before scaling the
little CPU cluster frequency up, while waiting longer than needed on Vbcpu.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261030103418.2355854-1-wenst@chromium.org?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators
2026-10-30 10:41 ` [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators sashiko-bot
@ 2026-10-30 10:51 ` Chen-Yu Tsai
0 siblings, 0 replies; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-10-30 10:51 UTC (permalink / raw)
To: sashiko-reviews; +Cc: devicetree, robh, conor+dt
On Fri, Oct 30, 2026 at 6:41 PM <sashiko-bot@kernel.org> wrote:
>
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [High] arm64: dts: mediatek: swapped regulator-ramp-delay for Vbcpu and Vlcpu
> --
>
> commit 810dcac6146b830cb56f853c88e0887dc012ef9d
> Author: Chen-Yu Tsai <wenst@chromium.org>
>
> arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators
>
> This commit adds regulator-ramp-delay properties for the MT6315 buck
> regulators (Vbcpu, Vlcpu, and Vgpu) on Asurada to ensure voltage increases
> settle before switching CPU or GPU to higher operating points.
>
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > index 40d34b16dc807..68d84fc55767b 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > @@ -1500,6 +1500,7 @@ mt6315_6_vbuck1: vbuck1 {
> > regulator-min-microvolt = <400000>;
> > regulator-max-microvolt = <1193750>;
> > regulator-enable-ramp-delay = <256>;
> > + regulator-ramp-delay = <4500>;
> > regulator-allowed-modes = <0 1 2>;
> > regulator-always-on;
> > };
> > @@ -1509,6 +1510,7 @@ mt6315_6_vbuck3: vbuck3 {
> > regulator-min-microvolt = <400000>;
> > regulator-max-microvolt = <1193750>;
> > regulator-enable-ramp-delay = <256>;
> > + regulator-ramp-delay = <8000>;
It seems like Sashiko applied the patch incorrectly. I see why that is
possible: the .dtsi file gives the same default values for all the
regulators.
> [Severity: High]
> Are the regulator-ramp-delay values for mt6315_6_vbuck1 and mt6315_6_vbuck3
> swapped here?
>
> The commit message states that the slew rates are 8000 uV/us for Vbcpu, and
> 4500 uV/us for Vlcpu and Vgpu. However, in mt8192-asurada.dtsi,
> mt6315_6_vbuck1 is Vbcpu and mt6315_6_vbuck3 is Vlcpu:
>
> mt6315_6_vbuck1: vbuck1 {
> regulator-name = "Vbcpu";
> ...
> regulator-ramp-delay = <4500>;
> ...
> };
>
> mt6315_6_vbuck3: vbuck3 {
> regulator-name = "Vlcpu";
> ...
> regulator-ramp-delay = <8000>;
> ...
> };
>
> Because mt6315_volt_range_ops does not implement .set_ramp_delay,
> _regulator_set_voltage_time() uses constraints->ramp_delay directly to
> compute the settling wait time during cpufreq DVFS transitions. Assigning
> 8000 to Vlcpu when its hardware slew rate is 4500 uV/us causes the regulator
> core to wait for less than the required voltage ramp time before scaling the
> little CPU cluster frequency up, while waiting longer than needed on Vbcpu.
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20261030103418.2355854-1-wenst@chromium.org?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-30 10:51 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-30 10:34 [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 2/3] arm64: dts: mediatek: mt8195-cherry: Fix ramp-delay for Vgpu Chen-Yu Tsai
2026-10-30 10:34 ` [PATCH 3/3] arm64: dts: mediatek: mt8186-corsola-voltorb: Add MT6319 ramp-delay Chen-Yu Tsai
2026-10-30 10:41 ` [PATCH 1/3] arm64: dts: mediatek: mt8192-asurada: Add ramp-delay for MT6315 regulators sashiko-bot
2026-10-30 10:51 ` 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