u-boot-starfive.bb 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. require recipes-bsp/u-boot/u-boot-common.inc
  2. require recipes-bsp/u-boot/u-boot.inc
  3. inherit uboot-extlinux-config
  4. LIC_FILES_CHKSUM:starfive-dubhe = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
  5. LIC_FILES_CHKSUM:starfive-visionfive2 = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
  6. LIC_FILES_CHKSUM:starfive-jh8100 = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
  7. FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
  8. FORK:starfive-dubhe = "starfive-tech"
  9. BRANCH:starfive-dubhe = "dubhe_fpga_dev_v2023.10"
  10. SRCREV:starfive-dubhe = "cef715ce412e97f17acab08529540c9fa317a923"
  11. FORK:starfive-visionfive2 = "starfive-tech"
  12. BRANCH:starfive-visionfive2 = "JH7110_VisionFive2_devel"
  13. SRCREV:starfive-visionfive2 = "b6e2b0e85c774a18ae668223a6e5f7d335895243"
  14. FORK:starfive-jh8100 = "starfive-tech"
  15. BRANCH:starfive-jh8100 = "jh8100_fpga_dev_v2023.01"
  16. SRCREV:starfive-jh8100 = "7f3f31a04b3a0e2bd7f3c78d290648e33abbb646"
  17. SRC_URI:starfive-dubhe = "\
  18. git://github.com/${FORK}/u-boot.git;protocol=https;branch=${BRANCH} \
  19. file://run_qemu_virt.dtb \
  20. file://0001-include-configs-starfive-dubhe-fpga.h-Mask-ttyS0-and.patch \
  21. "
  22. SRC_URI:starfive-visionfive2 = "\
  23. git://github.com/${FORK}/u-boot.git;protocol=ssh;branch=${BRANCH} \
  24. file://vf2_uEnv.txt \
  25. file://vf2_nvme_uEnv.txt \
  26. file://tftp-mmc-boot.txt \
  27. file://visionfive2-fit-image.its \
  28. file://uboot_disable_logo.patch \
  29. "
  30. SRC_URI:starfive-jh8100 = "\
  31. git://github.com/${FORK}/u-boot.git;protocol=https;branch=${BRANCH} \
  32. file://tftp-mmc-boot.txt \
  33. file://run_qemu_virt.dtb \
  34. file://bootloader.bin.normal.out \
  35. file://firmware_merak.bin.normal.out \
  36. file://uboot.env \
  37. "
  38. DEPENDS:append:starfive-dubhe = " u-boot-tools-native bmap-tools-native opensbi"
  39. DEPENDS:append:starfive-visionfive2 = " u-boot-tools-native starfive-tool-native"
  40. DEPENDS:append:starfive-jh8100 = " u-boot-tools-native bmap-tools-native opensbi spltool-native"
  41. # Overwrite this for your server
  42. TFTP_SERVER_IP ?= "127.0.0.1"
  43. do_configure:prepend:starfive-visionfive2() {
  44. sed -i -e 's,@SERVERIP@,${TFTP_SERVER_IP},g' ${WORKDIR}/tftp-mmc-boot.txt
  45. mkimage -O linux -T script -C none -n "U-Boot boot script" \
  46. -d ${WORKDIR}/tftp-mmc-boot.txt ${WORKDIR}/${UBOOT_ENV_BINARY}
  47. }
  48. do_configure:prepend:starfive-jh8100() {
  49. sed -i -e 's,@SERVERIP@,${TFTP_SERVER_IP},g' ${WORKDIR}/tftp-mmc-boot.txt
  50. mkimage -O linux -T script -C none -n "U-Boot boot script" \
  51. -d ${WORKDIR}/tftp-mmc-boot.txt ${WORKDIR}/${UBOOT_ENV_BINARY}
  52. }
  53. do_compile:prepend:starfive-dubhe() {
  54. export OPENSBI=${DEPLOY_DIR_IMAGE}/fw_dynamic.bin
  55. }
  56. do_compile:prepend:starfive-jh8100() {
  57. export OPENSBI=${DEPLOY_DIR_IMAGE}/fw_dynamic.bin
  58. }
  59. do_deploy:append:starfive-visionfive2() {
  60. install -m 644 ${WORKDIR}/vf2_nvme_uEnv.txt ${DEPLOYDIR}/vf2_nvme_uEnv.txt
  61. install -m 644 ${WORKDIR}/vf2_uEnv.txt ${DEPLOYDIR}/vf2_uEnv.txt
  62. install -m 644 ${WORKDIR}/visionfive2-fit-image.its ${DEPLOYDIR}/visionfive2-fit-image.its
  63. spl_tool -c -f ${DEPLOYDIR}/${SPL_IMAGE}
  64. ln -sf ${SPL_IMAGE}.normal.out ${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out
  65. ln -sf ${SPL_IMAGE}.normal.out ${DEPLOYDIR}/${SPL_SYMLINK}.normal.out
  66. }
  67. do_deploy:append:starfive-dubhe() {
  68. install -m 644 ${B}/u-boot.itb ${DEPLOYDIR}/u-boot.itb
  69. install -m 644 ${WORKDIR}/run_qemu_virt.dtb ${DEPLOYDIR}/run_qemu_virt.dtb
  70. }
  71. do_deploy:append:starfive-jh8100() {
  72. install -m 644 ${WORKDIR}/uboot.env ${DEPLOYDIR}/uboot.env
  73. install -m 644 ${WORKDIR}/bootloader.bin.normal.out ${DEPLOYDIR}/bootloader.bin.normal.out
  74. install -m 644 ${WORKDIR}/firmware_merak.bin.normal.out ${DEPLOYDIR}/firmware_merak.bin.normal.out
  75. install -m 644 ${B}/u-boot.itb ${DEPLOYDIR}/u-boot.itb
  76. install -m 644 ${WORKDIR}/run_qemu_virt.dtb ${DEPLOYDIR}/run_qemu_virt.dtb
  77. mkbif ${DEPLOYDIR}/${SPL_BINARYNAME}
  78. dd if=${WORKDIR}/bootloader.bin.normal.out of=${DEPLOYDIR}/scp_raw.img count=1 bs=512k conv=sync
  79. dd if=${WORKDIR}/bootloader.bin.normal.out of=${DEPLOYDIR}/scp_raw.img seek=1 count=1 bs=512k conv=sync
  80. dd if=${WORKDIR}/firmware_merak.bin.normal.out of=${DEPLOYDIR}/scp_raw.img seek=2 count=1 bs=512k conv=sync
  81. dd if=${WORKDIR}/firmware_merak.bin.normal.out of=${DEPLOYDIR}/scp_raw.img seek=3 count=1 bs=512k conv=sync
  82. dd if=${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out of=${DEPLOYDIR}/scp_raw.img seek=4 count=1 bs=512k conv=sync
  83. dd if=${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out of=${DEPLOYDIR}/scp_raw.img seek=5 count=1 bs=512k conv=sync
  84. }
  85. TOOLCHAIN = "gcc"
  86. COMPATIBLE_MACHINE = "(starfive-dubhe|starfive-visionfive2|starfive-jh8100)"