Rock 3B U-Boot stuck

Hi, I’m trying to compile a custom image for the Rock3B but I can’t get the u-boot working. I’ve tried compiling just the u-boot following this guide. It produces both the SPL and the u-boot, and I flash them to the sd card using the dd commands, but when the board boots it gets stuck in the u-boot sequence.

Here is the output form the console, it gets stuck in that last line for ever.

U-Boot SPL latest-2023.10-1-gcc60ff40 (Nov 19 2024 - 11:40:14 +0000)
Trying to boot from MMC2
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
## Checking hash(es) for Image atf-4 ... sha256+ OK
## Checking hash(es) for Image atf-5 ... sha256+ OK
## Checking hash(es) for Image atf-6 ... sha256+ OK
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-645-g8cea6ab0b:cl, fwver: v1.44
NOTICE:  BL31: Built : 16:36:43, Sep 19 2023
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid 220114
INFO:    l3 cache partition cfg-0
INFO:    dfs DDR fsp_param[0].freq_mhz= 1560MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot latest-2023.10-1-gcc60ff40 (Nov 19 2024 - 11:40:14 +0000)

Model: Radxa ROCK 3 Model B
DRAM:  2 GiB
PMIC:  RK8090 (on=0x40, off=0x00)
Core:  338 devices, 29 uclasses, devicetree: separate
MMC:   mmc@fe2b0000: 1, mmc@fe310000: 0
Loading Environment from nowhere... OK
In:    serial@fe660000
Out:   serial@fe660000
Err:   serial@fe660000
Model: Radxa ROCK 3 Model B
Net:   No ethernet found.
starting USB...
Bus usb@fcc00000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb@fd000000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb@fd800000: USB EHCI 1.00
Bus usb@fd840000: USB OHCI 1.0
Bus usb@fd880000: USB EHCI 1.00
Bus usb@fd8c0000: USB OHCI 1.0
scanning bus usb@fcc00000 for devices... 1 USB Device(s) found
scanning bus usb@fd000000 for devices... 1 USB Device(s) found
scanning bus usb@fd800000 for devices... 2 USB Device(s) found
scanning bus usb@fd840000 for devices... 1 USB Device(s) found
scanning bus usb@fd880000 for devices... 1 USB Device(s) found
scanning bus usb@fd8c0000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
pcie_dw_rockchip pcie@fe260000: PCIe-0 Link Fail

can you send me your u-boot deb package? I’ll try it and try to reproduce your issue.

I doesn’t allow me to upload the file directly because I’m a new member.

File

reproduced, I’ll analyse later.

1 Like

Recently I’ve been porting the new U-boot for ROCK 3B, you can try the new U-boot in a few days!

Hi, has the new U-boot version been released?

Are there any news?

So sorry for that, because it took a long time to review pr and then this u-boot upgrade task got blocked by other things!

I just booted 3B with recent u-Boot image, works perfectly.

Did you follow the exact same guide I posted? I have done all the steps again but I can’t get it working. At the end I flash the idbloader.img and u-boot.itb files manually using the following commands (extracted form the setup.sh script)

sudo dd conv=notrunc,fsync if=/tmp/idbloader.img of=/dev/mmcblk0 bs=512 seek=64
sudo dd conv=notrunc,fsync if=/tmp/u-boot.itb of=/dev/mmcblk0 bs=512 seek=16384

No, I compiled it myself with custom image and mainline kernel.

And where did you download de u-boot from? I’m using the bsp tool from the radxa repo to compile it myself but that’s the one giving the error.

I used this one: https://github.com/u-boot/u-boot/releases/tag/v2025.01
And here You can find bootable image with it.

Where did you get the deconfig file from?

rock 3b defconfig for u-boot?
as far as I remember rock 3b is supported since about november, so it’s already on u-boot repository:

Thanks!! And to compile the armbian image have you used the rock3a profile? I can’t find support for the rock3b in the armbian official page.

yes, with just small changes to make it to work

It’s not paid or community supported, so they will not spend any time on it, even if it’s similar to other RK3568 boards. Of course You can clone repo and try yourself if You find anything useful for You :slight_smile: