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

From: Anand Moon
Date: Wed Jul 24 2019 - 01:30:38 EST


Hi All,

On Mon, 22 Jul 2019 at 12:51, Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
>
> 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
>

I am afraid this did not fix the issue I was also facing with
Archlinux on Odroid N2 using mainline u-boot.
Here is the log of at my end using latest mainline u-boot with Neil's patches.

[0] https://pastebin.com/HNmeY5uF

Well this issue also persist with eMMC not getting detected after reboot
If I try to change the dts to fix the sdcard.

I am checking this should we enable regulator-boot-on option but still no luck.

Best Regards
-Anand