Allwinner S3: Can't boot from eMMC

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
participants (1)
-
Peter Allen