
On Sun, Oct 8, 2023 at 11:32 PM Ben Wolsieffer benwolsieffer@gmail.com wrote:
Hi Peter,
On Sun, Oct 08, 2023 at 07:21:57PM +0100, Peter Robinson wrote:
On Sat, Oct 7, 2023 at 4:55 PM Ben Wolsieffer benwolsieffer@gmail.com wrote:
Using the unqualified "mmc" boot target causes the Raspberry Pi 4 to fail to boot. c771e5b explains this approach as follows:
We don't need to specify the mmc devices individually, since they are used in order from 0 to 2, and standard boot uses that order anyway.
In practice, U-Boot first attempts to boot from the unconnected mmc1 interface, and, when this fails, moves on to attempt the USB and network boot targets rather than trying mmc0.
Really? It shouldn't be enumerating it if it's not defined in device tree, I've not seen this in my testing.
It does seem odd, but U-Boot definitely sees two MMC interfaces:
U-Boot> mmc list mmcnr@7e300000: 1 mmc@7e340000: 0 (SD)
The WiFi interface is connected by SDHCI/SDIO which AFAICT is the first interface.
This patch explicitly enumerates the mmc interfaces, causing each to be attempted in turn. This matches what is done on other boards, and allows the system to boot successfully.
Fixes: c771e5b8c2 ("arm: rpi: Switch to standard boot") Signed-off-by: Ben Wolsieffer benwolsieffer@gmail.com
board/raspberrypi/rpi/rpi.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env index 30228285ed..02210b97b5 100644 --- a/board/raspberrypi/rpi/rpi.env +++ b/board/raspberrypi/rpi/rpi.env @@ -74,4 +74,4 @@ pxefile_addr_r=0x02500000 fdt_addr_r=0x02600000 ramdisk_addr_r=0x02700000
-boot_targets=mmc usb pxe dhcp +boot_targets=mmc0 mmc1 mmc2 usb pxe dhcp
Why are you adding mmc1 and mmc2 if they're not connected?
I was trying to match the old distro boot behavior, which had three MMC interfaces listed.