Hi, On 2023-09-02 13:35, Kenta Sato wrote: > Hi, > > I am using the FriendlyElec NanoPi R4S board. > When I updated U-Boot to a recent version (0fe0395922), it failed to > boot from MMC. Here is the log: > > ================================ > U-Boot TPL 2023.10-rc3 (Sep 02 2023 - 08:21:08) > lpddr4_set_rate: change freq to 400MHz 0, 1 > Channel 0: LPDDR4, 400MHz > BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB > Channel 1: LPDDR4, 400MHz > BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB > 256B stride > lpddr4_set_rate: change freq to 800MHz 1, 0 > Trying to boot from BOOTROM > Returning to boot ROM... > > U-Boot SPL 2023.10-rc3 (Sep 02 2023 - 08:21:08 +0000) > Trying to boot from MMC1 > spl_load_fit_image: Skip load 'atf-5': image size is 0! > NOTICE: BL31: v2.9(release): > NOTICE: BL31: Built : 08:19:59, Sep 2 2023 > > > U-Boot 2023.10-rc3 (Sep 02 2023 - 08:21:08 +0000) > > SoC: Rockchip rk3399 > Reset cause: POR > Model: FriendlyElec NanoPi R4S > DRAM: 4 GiB (effective 3.9 GiB) > PMIC: RK808 > Core: 264 devices, 23 uclasses, devicetree: separate > MMC: mmc@fe320000: 1 > Loading Environment from nowhere... OK > In: serial,usbkbd > Out: serial,vidconsole > Err: serial,vidconsole > Model: FriendlyElec NanoPi R4S > Net: > Error: ethernet@fe300000 address not set. > No ethernet found. > > Hit any key to stop autoboot: 0 > Error enabling VMMC supply : -114 > Error enabling VMMC supply : -114 > Error enabling VMMC supply : -114 > Error enabling VMMC supply : -114 > Error enabling VMMC supply : -114 > Error enabling VMMC supply : -114 > ================================ > > Does anyone know how to fix the issue? > > I looked into commit logs and the mailing list so far, and I found the > below commit that adds the reference counter to the regulator. I could > remove the above error by reverting this change. Of course, it should > not be the proper way. > Maybe we could replace regulator_set_enable() in mmc_power_on() by > regulator_set_enable_if_allowed(). However, I have no confidence about > it as I'm not familiar with the U-Boot source code.
I sent patches to fix such situation back in July, see [1]. Those patches was merged into next, but should probably have gone into master. Please try next, and/or apply patches at [1] and report back result. [1] https://patchwork.ozlabs.org/project/uboot/list/?series=364753&state=* Regards, Jonas > > ================================ > commit 4fcba5d556b4224ad65a249801e4c9594d1054e8 > Author: Eugen Hristev <[email protected]> > Date: Wed Apr 19 16:45:24 2023 +0300 > > regulator: implement basic reference counter > > Some devices share a regulator supply, when the first one will request > regulator disable, the second device will have it's supply cut off before > graciously shutting down. Hence there will be timeouts and other failed > operations. > Implement a reference counter mechanism similar with what is done in > Linux, to keep track of enable and disable requests, and only disable the > regulator when the last of the consumers has requested shutdown. > > Signed-off-by: Eugen Hristev <[email protected]> > Reviewed-by: Simon Glass <[email protected]> > Reviewed-by: Patrice Chotard <[email protected]> > ================================ > > Any help would be greatly appreciated. > Thank you! > > Kenta Sato

