Re: [PATCH] arm64: dts: meson: odroid-n2: keep SD card regulator always on

From: Neil Armstrong
Date: Mon Jul 22 2019 - 03:21:51 EST


On 19/07/2019 21:29, Xavier Ruppen wrote:
> When powering off the Odroid N2, the tflash_vdd regulator is
> automatically turned off by the kernel. This is a problem
> when issuing the "reboot" command while using an SD card.
> The boot ROM does not power this regulator back on, blocking
> the reboot process at the boot ROM stage, preventing the
> SD card from being detected.
>
> Adding the "regulator-always-on" property fixes the problem.
>
> Signed-off-by: Xavier Ruppen <xruppen@xxxxxxxxx>
> ---
>
> Here is what the boot ROM output looks like without this patch:
>
> [root@alarm ~]# reboot
> [...]
> [ 24.275860] shutdown[1]: All loop devices detached.
> [ 24.278864] shutdown[1]: Detaching DM devices.
> [ 24.287105] kvm: exiting hardware virtualization
> [ 24.318776] reboot: Restarting system
> bl31 reboot reason: 0xd
> bl31 reboot reason: 0x0
> system cmd 1.
> G12B:BL:6e7c85:7898ac;FEAT:E0F83180:2000;POC:F;RCY:0;
> EMMC:800;NAND:81;SD?:0;SD:400;USB:8;LOOP:1;EMMC:800;
> NAND:81;SD?:0;SD:400;USB:8;LOOP:2;EMMC:800;NAND:81;
> SD?:0;SD:400;USB:8;LOOP:3; [...]
>
> Other people can be seen having this problem on the odroid
> forum [1].
>
> The cause of the problem was found by Martin Blumenstingl
> on #linux-amlogic. We may want to add his Suggested-by tag
> if he agrees.
>
> [1] https://forum.odroid.com/viewtopic.php?f=176&t=33993
>
> arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
> index 81780ffcc7f0..4e916e1f71f7 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
> @@ -53,6 +53,7 @@
>
> gpio = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
> enable-active-high;
> + regulator-always-on;
> };
>
> tf_io: gpio-regulator-tf_io {
>

Surely solves the situation, thanks !

please add a comment on top of "regulator-always-on" to explain why we always enable it,
note we should always enable it in case of watchdog reboot or other uncontrolled reset,
this regulator must never be disabled.

Reviewed-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>

Thanks,
Neil