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@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@1c20ca0
MMC:   mmc@1c0f000: 0, mmc@1c10000: 1, mmc@1c11000: 2
Loading Environment from FAT... Unable to use mmc 0:1...
In:    serial@1c28000
Out:   serial@1c28000
Err:   serial@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

Attachment: u-boot-config
Description: Binary data

Reply via email to