* [PATCH] arm64: dts: rockchip: odroid-m1: keep vcc3v3_pcie enabled from boot
@ 2026-10-19 13:24 Miguel Jesus Seron Gonzalez
2026-10-19 19:27 ` Miguel Jesus Seron Gonzalez
0 siblings, 1 reply; 2+ messages in thread
From: Miguel Jesus Seron Gonzalez @ 2026-10-19 13:24 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dongjin Kim,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
The 3.3V supply of the M.2 slot is a GPIO-controlled fixed regulator
without regulator-boot-on. When the regulator driver probes, it
requests the enable GPIO as low, cutting power to an NVMe drive that
the bootloader has already powered up and used. When the PCIe
controller is built in, it probes a few milliseconds later and
re-enables the supply. The drive therefore sees a brief power glitch
without enough time to fully discharge.
Some drives do not survive this. With a DRAM-less Transcend MTE110S
(TS128GMTE110S), the board froze during NVMe probe in roughly half of
the cold boots, before the display came up. Kernels that probe PCIe
later (e.g. as modules, ~3.7 s after boot) are not affected, because
the drive stays off long enough to reset cleanly.
Mark the regulator as boot-on, so that the regulator driver keeps the
enable GPIO high when it probes and the supply is never toggled after
the bootloader has enabled it. The PCIe controller then takes it as
its vpcie3v3-supply, which keeps it enabled afterwards.
With this change, 5 out of 5 cold boots after power cuts of 2, 6, 30
and 60 seconds succeeded. Afterwards the supply remained enabled with
one user, with no NVMe or regulator errors and NVMe reads at 1.2 GB/s.
Fixes: 35b28582aa3d ("arm64: dts: rockchip: Add PCIEe v3 nodes to ODROID-M1")
Signed-off-by: Miguel Jesus Seron Gonzalez <info@gluon.es>
---
Notes:
Found while debugging Home Assistant OS on an ODROID-M1, where the same
change is being carried as a downstream patch:
https://github.com/home-assistant/operating-system/issues/5103
https://github.com/home-assistant/operating-system/pull/5104
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
index 442a2bc43..6d29fa926 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
@@ -106,6 +106,7 @@ simple-audio-card,codec {
vcc3v3_pcie: regulator-vcc3v3-pcie {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_pcie";
+ regulator-boot-on;
enable-active-high;
gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
--
2.53.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] arm64: dts: rockchip: odroid-m1: keep vcc3v3_pcie enabled from boot
2026-10-19 13:24 [PATCH] arm64: dts: rockchip: odroid-m1: keep vcc3v3_pcie enabled from boot Miguel Jesus Seron Gonzalez
@ 2026-10-19 19:27 ` Miguel Jesus Seron Gonzalez
0 siblings, 0 replies; 2+ messages in thread
From: Miguel Jesus Seron Gonzalez @ 2026-10-19 19:27 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dongjin Kim,
devicetree, linux-arm-kernel, linux-rockchip, linux-kernel
On Mon, Oct 19, 2026 at 03:24:58PM +0200, Miguel Jesus Seron Gonzalez wrote:
> Fixes: 35b28582aa3d ("arm64: dts: rockchip: Add PCIEe v3 nodes to ODROID-M1")
> Signed-off-by: Miguel Jesus Seron Gonzalez <info@gluon.es>
I forgot to add the Assisted-by tag that
Documentation/process/coding-assistants.rst asks for. The changelog and
the patch were prepared with the help of Claude (Anthropic). I reviewed
them, and the testing was done on my own board.
Assisted-by: Claude:claude-opus-5-5
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-19 19:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19 13:24 [PATCH] arm64: dts: rockchip: odroid-m1: keep vcc3v3_pcie enabled from boot Miguel Jesus Seron Gonzalez
2026-10-19 19:27 ` Miguel Jesus Seron Gonzalez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox