Сustom board based on RV1106G3 not booting past "Starting kernel..." (copied from Luckfox Pro Max)
Posted: 2025-06-24 8:53
Hi,
We’ve assembled a custom board based on the RV1106G3 SoC. The schematic and layout for the SoC were copied exactly from the Luckfox Pro Max datasheet. We're using the same SD card image (Buildroot system) that successfully runs on the official Luckfox Pro Max dev board.
On our custom board, the bootlog is almost identical to the one from the dev board. However, it gets stuck right after the Starting kernel ... message — the kernel never seems to start.
Here is what I’ve tried so far:
Verified UART switching and pinmux.
Inserted early debug messages at the beginning of the kernel startup code — they do not appear, which suggests that the CPU never enters the kernel properly.
Below is the full boot log. As you can see, everything looks normal up to the kernel loading phase:
Do you have any suggestions on what could be causing the kernel not to start? Are there any hardware traps, bootstraps, or PMIC/GPIO differences I might have missed that are critical for kernel boot?
Any help or insights would be greatly appreciated!
Thanks in advance!
We’ve assembled a custom board based on the RV1106G3 SoC. The schematic and layout for the SoC were copied exactly from the Luckfox Pro Max datasheet. We're using the same SD card image (Buildroot system) that successfully runs on the official Luckfox Pro Max dev board.
On our custom board, the bootlog is almost identical to the one from the dev board. However, it gets stuck right after the Starting kernel ... message — the kernel never seems to start.
Here is what I’ve tried so far:
Verified UART switching and pinmux.
Inserted early debug messages at the beginning of the kernel startup code — they do not appear, which suggests that the CPU never enters the kernel properly.
Below is the full boot log. As you can see, everything looks normal up to the kernel loading phase:
Code: Select all
DDR V1.10 ec2fae0c96 wesley.yao 22/11/15-10:58:09
S5P1
f967
rgef1
DDRConf2
DDR3, BW=16 Col=10 Bk=8 CS0 Row=14 CS=1 Die BW=16 Size=256MB
924MHz
DDR bin out
U-Boot SPL board init
U-Boot SPL 2017.09 (Jul 10 2024 - 13:57:10)
unrecognized JEDEC id bytes: 00, 00, 00
unknown raw ID 0 0 0
Trying to boot from MMC2
ENVF: Primary 0x00000000 - 0x00008000
ENVF: OK
Trying fit image at 0x440 sector
## Verified-boot: 0
## Checking uboot 0x00200000 (lzma @0x00400000) ... sha256(a3f28ca904...) + sha256(fc01dd7588...) + OK
## Checking fdt 0x0025bed0 ... sha256(51bba657c3...) + OK
Total: 228.864 ms
Jumping to U-Boot(0x00200000)
U-Boot 2017.09 (Jul 10 2024 - 13:57:10 +0800)
Model: Rockchip RV1106 EVB Board
PreSerial: 2, raw, 0xff4c0000
DRAM: 256 MiB
Sysmem: init
Relocation Offset: 0fd85000
Relocation fdt: 0edfacb0 - 0edfede0
CR: M/C/I
Using default environment
no mmc device at slot 1
ENVF: Primary 0x00000000 - 0x00008000
ENVF: OK
mmc@ffa90000: 0, mmc@ffaa0000: 1 (SD)
Bootdev(atags): mmc 1
MMC1: Legacy, 52Mhz
PartType: ENV
DM: v2
No misc partition
boot mode: None
FIT: no signed, no conf required
DTB: rk-kernel.dtb
HASH(c): OK
Model: Luckfox Pico Max
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
apll 816000 KHz
dpll 924000 KHz
gpll 1188000 KHz
cpll 1000000 KHz
aclk_peri_root 400000 KHz
hclK_peri_root 200000 KHz
pclk_peri_root 100000 KHz
aclk_bus_root 300000 KHz
pclk_top_root 100000 KHz
pclk_pmu_root 100000 KHz
hclk_pmu_root 200000 KHz
No misc partition
## retrieving sd_update.txt ...
bad MBR sector signature 0x0000
Invalid partition 1
Net: eth0: ethernet@ffa80000
Hit key to stop autoboot('CTRL+C'): 0
## Booting FIT Image at 0xe90d680 with size 0x002ec600
Fdt Ramdisk skip relocation
No misc partition
## Loading kernel from FIT Image at 0e90d680 ...
Using 'conf' configuration
## Verified-boot: 0
Trying 'kernel' kernel subimage
Description: unavailable
Type: Kernel Image
Compression: uncompressed
Data Start: 0x0e916a80
Data Size: 3027200 Bytes = 2.9 MiB
Architecture: ARM
OS: Linux
Load Address: 0x00008000
Entry Point: 0x00008000
Hash algo: sha256
Hash value: 66929aa0a4d3f91d2b47fa6dae6865e75d0a7a606cda288fb10179af657ecf17
Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 0e90d680 ...
Using 'conf' configuration
Trying 'fdt' fdt subimage
Description: unavailable
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x0e90de80
Data Size: 35369 Bytes = 34.5 KiB
Architecture: ARM
Load Address: 0x00c00000
Hash algo: sha256
Hash value: 5bbf3ddfda5c9b1853ee5b6c19a8fd387a5d0fdb15aee1f921a80a7e33bab5eb
Verifying Hash Integrity ... sha256+ OK
Loading fdt from 0x0e90d680 to 0x00c00000
Booting using the fdt blob at 0x00c00000
Loading Kernel Image from 0x0e916a80 to 0x00008000 ... OK
kernel loaded at 0x00008000, end = 0x002eb100
Using Device Tree in place at 00c00000, end 00c0ba28
Adding bank: 0x00000000 - 0x10000000 (size: 0x10000000)
Total: 646.464 ms
Starting kernel ...
Do you have any suggestions on what could be causing the kernel not to start? Are there any hardware traps, bootstraps, or PMIC/GPIO differences I might have missed that are critical for kernel boot?
Any help or insights would be greatly appreciated!
Thanks in advance!