Can you link the image you were using? I did find out that ROCK 4B’s U-Boot is not configured correctly that it will load ROCK 4A’s DTS, but I did not notice anything like you mentioned for 4B+.
[230315] System Release Notice for ROCK 4 family
At first, I tried the image [ rock-pi-4b-plus_debian_bullseye_cli_b21.img.xz ] from here https://github.com/radxa-build/rock-pi-4b-plus/releases
Now I am on the image built via “rbuild”.
Device hostname is set correctly to “rock-pi-4b-plus”.
/sys/firmware/devicetree/base/compatible reports “radxa,rockpi4bradxa,rockpi4rockchip,rk3399”
Thanks. I’ll test this on a real device tomorrow.
In the mean time, you can override the default DTS by editing /etc/default/u-boot
. You need to add this line:
U_BOOT_FDT="rockchip/rk3399-rock-pi-4b-plus.dtb"
You can then run sudo u-boot-update
to generate a new boot configuration.
Check the generated /boot/extlinux/extlinux.conf
to make sure the fdt
line is pointing to the correct DTB.
Excellent! This works. Thank you very much.
One more thing. While the system seems to be working correctly, tons of errors are logged in to screen and dmesg, e.g. on every key press etc.:
[ 380.416354] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 380.536416] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 380.760460] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 380.808414] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 381.128451] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 381.208412] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 388.160461] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 388.280415] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 388.808457] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
And maybe related during the boot:
[ 15.442202] cpu cpu0: Failed to get cpu_leakage
[ 15.442263] cpu cpu4: Failed to get cpu_leakage
…
[ 15.455524] rockchip-dmc dmc: Failed to get ddr_leakage
…
[ 15.455948] rockchip-dmc dmc: could not find power_model node
…
[ 15.455986] rockchip-dmc dmc: Get wrong frequency, Request 856000000, Current 800000000
[ 15.457243] vcc_sdio: unsupportable voltage range: 3300000-3000000uV
This is probably caused by unsupported frequencies on dmc_opp_table defined in device tree overlay:
while mainline linux code defines them differently: