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

Neil Armstrong narmstrong at baylibre.com
Mon Jul 22 00:21:40 PDT 2019


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 at gmail.com>
> ---
> 
> Here is what the boot ROM output looks like without this patch:
> 
>     [root at 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 at baylibre.com>

Thanks,
Neil



More information about the linux-amlogic mailing list