Allwinner S3: Can't boot from eMMC
Peter Allen
peter.allenm at gmail.com
Thu Jun 6 00:54:19 CEST 2024
Hi,
I have been trying to get u-boot booting from internal 4GB eMMC on a custom
Allwinner S3 based board for a couple of months, and I'm pretty stuck.
Where I've got to:
* It boots from SD Card (mmcblk0) no problem.
* U-Boot SPL boots fine from eMMC (mmblk2)
* SPL tries to boot U-Boot and it gives this:
U-Boot SPL 2021.04-rc1 (May 09 2024 - 23:08:06 +0100)
DRAM: 128 MiB
Trying to boot from MMC2
Card did not respond to voltage select! : -110
spl: mmc init failed with error: -95
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
* However, if I boot UBoot using the SD card and probe mmc2 it works:
=> mmc dev 2
switch to partitions #0, OK
mmc2 is current device
=> info
Unknown command 'info' - try 'help'
=> mmc info
Device: mmc at 1c11000
Manufacturer ID: 66
OEM: 2346
Name: CS032
Bus Speed: 50000000
Mode: SD High Speed (50MHz)
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
* In fact if I insert an SD card it will boot from it, but sometimes boot
linux from the eMMC rather than the SD card.
So it is just SPL that isn't finding the EMMC.
I'm using the same DTS for both, relevant U-Boot compilation options are
(full config attached):
CONFIG_MMC_SUNXI=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_MMC_SUNXI_SLOT_EXTRA=2
CONFIG_SPL_MMC=y
Finally here is a successful SD Card boot:
U-Boot SPL 2022.07-armbian (Apr 08 2023 - 21:19:01 +0000)
DRAM: 128 MiB
Trying to boot from MMC1
U-Boot 2022.07-armbian (Apr 08 2023 - 21:19:01 +0000) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: OpenHD X20 Dev
DRAM: 128 MiB
Core: 45 devices, 15 uclasses, devicetree: separate
WDT: Not starting watchdog at 1c20ca0
MMC: mmc at 1c0f000: 0, mmc at 1c10000: 1, mmc at 1c11000: 2
Loading Environment from FAT... Unable to use mmc 0:1...
In: serial at 1c28000
Out: serial at 1c28000
Err: serial at 1c28000
Net: No ethernet found.
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
4060 bytes read in 3 ms (1.3 MiB/s)
## Executing script at 41900000
U-boot loaded from SD
Boot script loaded from mmc
224 bytes read in 3 ms (72.3 KiB/s)
5021667 bytes read in 210 ms (22.8 MiB/s)
3249856 bytes read in 151 ms (20.5 MiB/s)
Found mainline kernel configuration
Loading dts:/boot/dtb/sun8i-s3-openhd-x20dev.dtb
10609 bytes read in 5 ms (2 MiB/s)
Failed to load '/boot/dtb/overlay/sun8i-v3s-fixup.scr'
Kernel image @ 0x41000000 [ 0x000000 - 0x3196c0 ]
## Loading init Ramdisk from Legacy Image at 41c00000 ...
Image Name: uInitrd
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 5021603 Bytes = 4.8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Ramdisk to 42936000, end 42dfffa3 ... OK
Loading Device Tree to 428cb000, end 42935fff ... OK
Has anyone got any thoughts about what might be wrong?
Thank you
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot-config
Type: application/octet-stream
Size: 45726 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240605/9589b878/attachment.obj>
More information about the U-Boot
mailing list