Hello Luckfox team,
I am working with the my custom board based on the RV1106 platform. I am experiencing an issue where the board cannot boot from the onboard eMMC, even though the SD card boot works fine. Here is a detailed description of the problem:
Setup:
Board: My custom board
Platform: RV1106
Boot media: SD card (mmcblk1), eMMC (mmcblk0)
Current OS: SD card boot, Linux
Steps Performed:
Inserted SD card and booted into Linux.
Verified eMMC detection: lsblk shows mmcblk0 correctly.
root@rv1106:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 7.5G 0 disk
├─mmcblk1p1 179:1 0 32K 0 part
├─mmcblk1p2 179:2 0 512K 0 part
├─mmcblk1p3 179:3 0 256K 0 part
├─mmcblk1p4 179:4 0 32M 0 part
├─mmcblk1p5 179:5 0 512M 0 part
├─mmcblk1p6 179:6 0 256M 0 part
└─mmcblk1p7 179:7 0 6G 0 part /
mmcblk0 179:32 0 3.6G 0 disk
└─mmcblk0p1 179:33 0 3.6G 0 part
mmcblk0boot0 179:64 0 2M 1 disk
mmcblk0boot1 179:96 0 2M 1 disk
Created a partition on eMMC using fdisk:
fdisk /dev/mmcblk0
# Created 1 primary partition, 3.6GB
Formatted partition as ext4:
root@rv1106:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 7.5G 0 disk
├─mmcblk1p1 179:1 0 32K 0 part
├─mmcblk1p2 179:2 0 512K 0 part
├─mmcblk1p3 179:3 0 256K 0 part
├─mmcblk1p4 179:4 0 32M 0 part
├─mmcblk1p5 179:5 0 512M 0 part
├─mmcblk1p6 179:6 0 256M 0 part
└─mmcblk1p7 179:7 0 6G 0 part /
mmcblk0 179:32 0 3.6G 0 disk
└─mmcblk0p1 179:33 0 3.6G 0 part
mmcblk0boot0 179:64 0 2M 1 disk
mmcblk0boot1 179:96 0 2M 1 disk
root@rv1106:~# mkf
mkfifo mkfs mkfs.ext2 mkfs.ext3 mkfs.ext4
root@rv1106:~# mkfs.ext4 /dev/mmcblk0p1
mke2fs 1.47.2 (1-Jan-2025)
Discarding device blocks: done
Creating filesystem with 933632 4k blocks and 233856 inodes
Filesystem UUID: 7e1a0c56-d0c1-4cc2-9bc6-56faf59c7150
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
root@rv1106:~# mount /dev/mmcblk0p1 /mnt/emmc/
[ 324.562664] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
root@rv1106:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 7.5G 0 disk
├─mmcblk1p1 179:1 0 32K 0 part
├─mmcblk1p2 179:2 0 512K 0 part
├─mmcblk1p3 179:3 0 256K 0 part
├─mmcblk1p4 179:4 0 32M 0 part
├─mmcblk1p5 179:5 0 512M 0 part
├─mmcblk1p6 179:6 0 256M 0 part
└─mmcblk1p7 179:7 0 6G 0 part /
mmcblk0 179:32 0 3.6G 0 disk
└─mmcblk0p1 179:33 0 3.6G 0 part /mnt/emmc
mmcblk0boot0 179:64 0 2M 1 disk
mmcblk0boot1 179:96 0 2M 1 disk
Verified mount works.
Burned full image to eMMC using SocToolKit.exe. Log shows successful flashing of all partitions (idblock, uboot, boot, oem, userdata, rootfs).
Start to download ...
Maskrom State
Download DownloadBin ...
Download DownloadBin ... OK
Download env ...
Write LBA from file (100%)
Download env ... OK
Download idblock ...
Write LBA from file (100%)
Download idblock ... OK
Download uboot ...
Write LBA from file (100%)
Download uboot ... OK
Download boot ...
Write LBA from file (100%)
Download boot ... OK
Download oem ...
Write LBA from file (100%)
Download oem ... OK
Download userdata ...
Write LBA from file (100%)
Download userdata ... OK
Download rootfs ...
Write LBA from file (100%)
Download rootfs ... OK
Download done.
Boot from dev = 129
chip_id:5256110600,0
ChipType = 28
0xff3e0040: 0x49
sfc nor id: ff ff ff
sfc_nand id: ff ff ff
Set sdmmc2 Clk: 200, 1
Set sdmmc2 Clk: 200, 1
Set sdmmc2 Clk: 18000, 0
mmc Ext_csd, ret=0 ,
Ext[226]=10, bootSize=1000,
Ext[215]=0, Ext[214]=72, Ext[213]=0, Ext[212]=0,cap =720000 REL=1f
Ext[267]=1, Ext[268]=1, Ext[269]=1
Set sdmmc2 Clk: 48000, 0
mmc2:cmd19,100
emmc bus: 0x8
SdmmcInit=2 0
BootCapSize=1000
UserCapSize=3648MB
FwPartOffset=2000 , 1000
UsbBoot ...47987
0xff3e0040: 0x49
powerOn 51715
Observed Behavior:
SD card boot works normally.
When SD card is removed and board is powered on to boot from eMMC:
DDR 306b9977f5 wesley.yao 23/12/21-09:28:37,fwver: v1.15
U-Boot SPL board init
unknown raw ID 0 0 0
Trying to boot from MMC2
MMC: no card present
mmc_init: -123
Trying to boot from MMC1
mmc_init: -5
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board
Notes:
When booted from SD card, I can freely read/write to eMMC (/dev/mmcblk0).
SocToolKit.exe confirms image burned successfully.
eMMC works in SD boot mode, but U-Boot SPL cannot detect it during boot.
Questions:
Why does the RV1106 SPL fail to detect eMMC during boot despite the device being detected from Linux?
Are there specific steps or configurations required to make eMMC bootable on the Pico Ultra W board?
Could this be related to U-Boot or SPL configuration for RV1106?
Any guidance on how to make the board boot from eMMC would be greatly appreciated.
Thank you in advance!
EMMC Boot Failure on RV1106 Board after Burning Image via SocToolKit
We are sorry to inform you that we do not provide any technical support for custom boards. Not all EMMC chips can be used in RV1106. We recommend that you consult Rockchip to determine if the eMMC you are using is included in the supported list, or try single-line driving to ensure that the eMMC meets the basic operating conditions required under SPL.

