u-boot-starfive.bb 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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 = "88c4bf23b45f807c9c4173ef24dc84c3e75b67bc"
  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-bmc-30Nov"
  16. SRCREV:starfive-jh8100 = "c1a4c841e01fbcd3f6d5e894e726e9f50abc6938"
  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://git@192.168.110.45/${FORK}/u-boot.git;protocol=ssh;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 starfive-tool"
  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_configure:prepend:starfive-dubhe() {
  54. cp ${DEPLOY_DIR_IMAGE}/fw_dynamic.bin ${WORKDIR}/build/fw_dynamic.bin
  55. export OPENSBI=${WORKDIR}/build/fw_dynamic.bin
  56. }
  57. do_configure:prepend:starfive-jh8100() {
  58. cp ${DEPLOY_DIR_IMAGE}/fw_dynamic.bin ${WORKDIR}/build/fw_dynamic.bin
  59. export OPENSBI=${WORKDIR}/build/fw_dynamic.bin
  60. }
  61. do_deploy:append:starfive-visionfive2() {
  62. install -m 644 ${WORKDIR}/vf2_nvme_uEnv.txt ${DEPLOYDIR}/vf2_nvme_uEnv.txt
  63. install -m 644 ${WORKDIR}/vf2_uEnv.txt ${DEPLOYDIR}/vf2_uEnv.txt
  64. install -m 644 ${WORKDIR}/visionfive2-fit-image.its ${DEPLOYDIR}/visionfive2-fit-image.its
  65. spl_tool -c -f ${DEPLOYDIR}/${SPL_IMAGE}
  66. ln -sf ${SPL_IMAGE}.normal.out ${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out
  67. ln -sf ${SPL_IMAGE}.normal.out ${DEPLOYDIR}/${SPL_SYMLINK}.normal.out
  68. }
  69. do_deploy:append:starfive-dubhe() {
  70. install -m 644 ${WORKDIR}/build/u-boot.itb ${DEPLOYDIR}/u-boot.itb
  71. rm ${WORKDIR}/build/fw_dynamic.bin
  72. install -m 644 ${WORKDIR}/run_qemu_virt.dtb ${DEPLOYDIR}/run_qemu_virt.dtb
  73. }
  74. do_deploy:append:starfive-jh8100() {
  75. install -m 644 ${WORKDIR}/uboot.env ${DEPLOYDIR}/uboot.env
  76. install -m 644 ${WORKDIR}/bootloader.bin.normal.out ${DEPLOYDIR}/bootloader.bin.normal.out
  77. install -m 644 ${WORKDIR}/firmware_merak.bin.normal.out ${DEPLOYDIR}/firmware_merak.bin.normal.out
  78. install -m 644 ${WORKDIR}/build/u-boot.itb ${DEPLOYDIR}/u-boot.itb
  79. rm ${WORKDIR}/build/fw_dynamic.bin
  80. install -m 644 ${WORKDIR}/run_qemu_virt.dtb ${DEPLOYDIR}/run_qemu_virt.dtb
  81. ${DEPLOY_DIR_IMAGE}/jh8100_cst/mkbif ${DEPLOYDIR}/${SPL_BINARYNAME}
  82. dd if=${WORKDIR}/bootloader.bin.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img count=1 bs=512k conv=sync
  83. dd if=${WORKDIR}/bootloader.bin.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img seek=1 count=1 bs=512k conv=sync
  84. dd if=${WORKDIR}/firmware_merak.bin.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img seek=2 count=1 bs=512k conv=sync
  85. dd if=${WORKDIR}/firmware_merak.bin.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img seek=3 count=1 bs=512k conv=sync
  86. dd if=${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img seek=4 count=1 bs=512k conv=sync
  87. dd if=${DEPLOYDIR}/${SPL_BINARYNAME}.normal.out of=${DEPLOY_DIR_IMAGE}/scp_raw.img seek=5 count=1 bs=512k conv=sync
  88. }
  89. TOOLCHAIN = "gcc"
  90. COMPATIBLE_MACHINE = "(starfive-dubhe|starfive-visionfive2|starfive-jh8100)"