Orange Pi 4/B Mainline Uboot HDMI SD > USB3 ,USB-C,Sd,?EMMC,NVME? SPI > USB3 ,SD,USBC, ?EMMC,NVME?

Recommended Posts

After Seeing all that spi nmve boot hype for the other boards and some time left i took the effort to level up the Orange Pi boards because they are the same as the rest it has a rk3399.


The Uboot was a mess so i matched it with the kerenel dts a lot and corrected some issues.

Dts debug is not the friendliest debug it compiles or not :)


And after some trial and error (a lot ) and finding a spi nor flash wich is supported (or you add one of your own) it costs a esp8266 has 4mb spi flash or a old printer who had a 4mb and 8mb :)

i got a boot from spi so :beer: . and with reading the armbian forum i saw 150balbes talked about usb boot and didnt know if usb3 works well after adding some tcphy usb was seen by uboot  .


so SPI > USB3 boot works and take note USB3 not USBC (fusb30x) yet


so next attempt was emmc so ordered some emmc chips , and because there are a lot i made the mistake to order 4.5 instead at least 5.0 so emmc is not checked but should work nothing realy changed there maybey the env in uboot option


and you saw also the ? with nvme yeah that is in the mailbox from ali but should also work but is not tested .


And even take the kernel dts and changed that to match the other dts in alphabetic order and added USBC so kernel sees the usbc port and change to what is connected as you can see in the kernel logs .only it broke a little the hdmi uboot option why i think it was late and forgot a dts option but i got both the dtb so only have to check what option i forogot to combine those 2 usbc and hdmi .


And sure there will be mistakes by me but at least the orangepi4 has is dts updated and more boot options as before and even more as other boards.


i attach the armbian patches and log files for who is interested .


have fun with it


ow ps

you have to change the



and add



and in










hdmi.dtb hdmi.dts kernel-rockchip64-dev.patch orangepi-4-rk3399_defconfig rk3399-orangepi-4-kernel.dts rk3399-orangepi-4-uboot.dts sd-boot-log.txt sd-dmesg.txt spi-sd-sd-bootlog.txt spi-sd-sd-dmesg.txt spi-sd-sd-dmesg-usbc.txt spi-usb3-hdmi-bootlog.txt spi-usb3-hdmi-dmesg-console.txt spi-usb3-hdmi-dmesg-desktop.txt u-boot-rockchip64-dev.patch usbc.dtb usbc.dts

Edited by thc013
updates in progress
Link to post
Share on other sites
Donate and support the project!

  • thc013 changed the title to Orange Pi 4/B Mainline Uboot HDMI SD > USB3 ,USB-C,Sd,?EMMC,NVME? SPI > USB3 ,SD, ?EMMC,NVME?

Thnx Werner little cryptic message :)


Yah already updated topic titel i made some fixes


HDMI Uboot support works it was a dts change in the kernel dts , &cdn_dp and hantro are not good friends with hdmi yet


from SD

 SD (duh) ,USB3, USB-C works so pi 4b users can have some more options as the sd and mmc ,emmc and nvme not tested yet.

From SPI

SD ,USB3 , somehow fusb302 keeps his f up to still be fuzzy so no USB-C yet Uboot gives it no power :( and mmc and nvme not tested yet .


HavE Fun :)


Ps you can now change pi to his own


elif [[ $BOARD == orangepi4 ]]; then

    DDR_BLOB='rk33/rk3399_ddr_933MHz_v1.24.bin' # Orange Pi 4 does it has 4gb standard and is cheaper and b has also a ai  :)



elif [[ $BOARD == orangepi4 ]]; then



if you apply the changes ;)








kernel-rockchip64-dev.patch linux-dtb-dev-rockchip64_21.02.0-trunk_arm64.deb linux-u-boot-dev-orangepi4_21.02.0-trunk_arm64.deb orangepi-4-rk3399_defconfig rk3399-orangepi-4-kernel.dts rk3399-orangepi-4-u-boot.dtsi rk3399-orangepi-4-uboot.dts sd-usbc-dmesg.txt spi-uboot-atf-log.txt u-boot-rockchip64-dev.patch

Link to post
Share on other sites
  • thc013 changed the title to Orange Pi 4/B Mainline Uboot HDMI SD > USB3 ,USB-C,Sd,?EMMC,NVME? SPI > USB3 ,SD,USBC, ?EMMC,NVME?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.