opensbi_0.9.bb 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. DESCRIPTION = "Light Opensbi Components"
  2. LICENSE = "CLOSED"
  3. inherit deploy
  4. DEPENDS = "e2fsprogs-native"
  5. COMPATIBLE_MACHINE = "light-*"
  6. SRC_URI = " \
  7. git://git@gitee.com/thead-yocto/opensbi.git;branch=master;protocol=http \
  8. file://light_aon_fpga.bin;md5=9f0d26a65b54d7f72a21be519c1c09b4 \
  9. file://light_aon_fpga.elf;md5=447b37b51877dce013b21d845c6c602a \
  10. file://light_c906_audio.bin;md5=d11d1c42e6cbe432279286eac1eae940 \
  11. file://light_c906_audio.elf;md5=2663d4dab3fa10ec614467bf4a124fbe \
  12. file://lightA/light_aon_fpga.bin;md5=93d0bd559cda10adfd50463a142f8a37 \
  13. file://lightA/light_aon_fpga.elf;md5=11f6f5293f0b54e738d058116c4b9e98 \
  14. file://lightA/light_c906_audio.bin;md5=d11d1c42e6cbe432279286eac1eae940 \
  15. file://lightA/light_c906_audio.elf;md5=2663d4dab3fa10ec614467bf4a124fbe \
  16. file://lightB/light_aon_fpga.bin;md5=709d447f7973dc9789af54c1c820f383 \
  17. file://lightB/light_aon_fpga.elf;md5=87f55a3f0af394ea703eab379204dbb8 \
  18. file://lightB/light_c906_audio.bin;md5=67141bb799ccad041dd34c49081d6905 \
  19. file://lightB/light_c906_audio.elf;md5=f07966e101cb8c047b7b93c183dde9ac \
  20. file://light-ant-ref/light_aon_fpga.bin;md5=f87aa7be3675914d1842806f54f8a8d8 \
  21. file://light-ant-ref/light_aon_fpga.elf;md5=fa0df5c3f47a2475882aa171b7a72e96 \
  22. file://light-ant-ref/light_c906_audio.bin;md5=9124f7306370eb0d9e3f6178da1fa4fd \
  23. file://light-ant-ref/light_c906_audio.elf;md5=b4206da84148852df208088c96e4b2b3 \
  24. file://light-ant-discrete/light_aon_fpga.bin;md5=9b98df64aa4b95a32b1939e822ac912c \
  25. file://light-ant-discrete/light_aon_fpga.elf;md5=96d1e845e69d2a9b4e014d87e9e1e15a \
  26. file://light-ant-discrete/light_c906_audio.bin;md5=3c5d2ccb84c98fb1dbcacec72e49ee96 \
  27. file://light-ant-discrete/light_c906_audio.elf;md5=b4206da84148852df208088c96e4b2b3 \
  28. file://light-beagle/light_aon_fpga.bin;md5=6486aed6f815af4118e4e4a840ec5482 \
  29. file://light-beagle/light_aon_fpga.elf;md5=f447400d1df5ab59f23c738fe147260a \
  30. file://light-beagle/light_c906_audio.bin;md5=9124f7306370eb0d9e3f6178da1fa4fd \
  31. file://light-beagle/light_c906_audio.elf;md5=b4206da84148852df208088c96e4b2b3 \
  32. file://light-b-ref/light_aon_fpga.bin;md5=aaacb9a4382298f73472bb26a4c73a42 \
  33. file://light-b-ref/light_aon_fpga.elf;md5=501e828bb48bc6795bfd391518352fc2 \
  34. file://light-b-ref/light_c906_audio.bin;md5=9124f7306370eb0d9e3f6178da1fa4fd \
  35. file://light-b-ref/light_c906_audio.elf;md5=b4206da84148852df208088c96e4b2b3 \
  36. file://light-a-ref/light_aon_fpga.bin;md5=dfabc70fda5b845ee9d7123358a39bc8 \
  37. file://light-a-ref/light_aon_fpga.elf;md5=f8be0d51e17ad3fddd6cc721be42807d \
  38. file://light-a-ref/light_c906_audio.bin;md5=d11d1c42e6cbe432279286eac1eae940 \
  39. file://light-a-ref/light_c906_audio.elf;md5=2663d4dab3fa10ec614467bf4a124fbe \
  40. file://light-b-power/light_aon_fpga.bin;md5=701b9540f0585ea8030139d36960e75b \
  41. file://light-b-power/light_aon_fpga.elf;md5=b60dc93a181e09de2773c145ff04f79c \
  42. file://light-b-power/light_c906_audio.bin;md5=9124f7306370eb0d9e3f6178da1fa4fd \
  43. file://light-b-power/light_c906_audio.elf;md5=b4206da84148852df208088c96e4b2b3 \
  44. "
  45. THEAD_BSP_TAG ?= "${AUTOREV}"
  46. SRCREV = "${THEAD_BSP_TAG}"
  47. S = "${WORKDIR}/git"
  48. export ARCH?="riscv"
  49. export CROSS_COMPILE="riscv64-linux-"
  50. export PLATFORM="generic"
  51. export TOOLCHAIN_DIR?="${EXTERNAL_TOOLCHAIN}"
  52. PARALLEL_MAKEINST = "-j1"
  53. do_compile() {
  54. oe_runmake
  55. }
  56. do_deploy () {
  57. install -m 0755 ${S}/build/platform/generic/firmware/fw_dynamic.bin ${DEPLOYDIR}/
  58. install -m 0755 ${S}/build/platform/generic/firmware/fw_dynamic.elf ${DEPLOYDIR}/
  59. if echo "${MACHINE}" | grep -Eq "light-a-val|light-a-public-release"; then
  60. echo "Firmware INFO: light-evb opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  61. install -m 0755 ${WORKDIR}/light_aon_fpga.bin ${DEPLOYDIR}/
  62. install -m 0755 ${WORKDIR}/light_aon_fpga.elf ${DEPLOYDIR}/
  63. install -m 0755 ${WORKDIR}/light_c906_audio.bin ${DEPLOYDIR}/
  64. install -m 0755 ${WORKDIR}/light_c906_audio.elf ${DEPLOYDIR}/
  65. elif echo "${MACHINE}" | grep -q "light-ant-discrete"; then
  66. echo "Firmware INFO: light ant-discrete opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  67. install -m 0755 ${WORKDIR}/light-ant-discrete/light_aon_fpga.bin ${DEPLOYDIR}/
  68. install -m 0755 ${WORKDIR}/light-ant-discrete/light_aon_fpga.elf ${DEPLOYDIR}/
  69. install -m 0755 ${WORKDIR}/light-ant-discrete/light_c906_audio.bin ${DEPLOYDIR}/
  70. install -m 0755 ${WORKDIR}/light-ant-discrete/light_c906_audio.elf ${DEPLOYDIR}/
  71. elif echo "${MACHINE}" | grep -q "light-beagle"; then
  72. echo "Firmware INFO: light beagle opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  73. install -m 0755 ${WORKDIR}/light-beagle/light_aon_fpga.bin ${DEPLOYDIR}/
  74. install -m 0755 ${WORKDIR}/light-beagle/light_aon_fpga.elf ${DEPLOYDIR}/
  75. install -m 0755 ${WORKDIR}/light-beagle/light_c906_audio.bin ${DEPLOYDIR}/
  76. install -m 0755 ${WORKDIR}/light-beagle/light_c906_audio.elf ${DEPLOYDIR}/
  77. elif echo "${MACHINE}" | grep -q "light-a-ref"; then
  78. echo "Firmware INFO: light-a-ref opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  79. install -m 0755 ${WORKDIR}/light-a-ref/light_aon_fpga.bin ${DEPLOYDIR}/
  80. install -m 0755 ${WORKDIR}/light-a-ref/light_aon_fpga.elf ${DEPLOYDIR}/
  81. install -m 0755 ${WORKDIR}/light-a-ref/light_c906_audio.bin ${DEPLOYDIR}/
  82. install -m 0755 ${WORKDIR}/light-a-ref/light_c906_audio.elf ${DEPLOYDIR}/
  83. elif echo "${MACHINE}" | grep -q "light-b-ref"; then
  84. echo "Firmware INFO: light-b-ref opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  85. install -m 0755 ${WORKDIR}/light-b-ref/light_aon_fpga.bin ${DEPLOYDIR}/
  86. install -m 0755 ${WORKDIR}/light-b-ref/light_aon_fpga.elf ${DEPLOYDIR}/
  87. install -m 0755 ${WORKDIR}/light-b-ref/light_c906_audio.bin ${DEPLOYDIR}/
  88. install -m 0755 ${WORKDIR}/light-b-ref/light_c906_audio.elf ${DEPLOYDIR}/
  89. elif echo "${MACHINE}" | grep -q "light-ant-ref"; then
  90. echo "Firmware INFO: light ant-ref opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  91. install -m 0755 ${WORKDIR}/light-ant-ref/light_aon_fpga.bin ${DEPLOYDIR}/
  92. install -m 0755 ${WORKDIR}/light-ant-ref/light_aon_fpga.elf ${DEPLOYDIR}/
  93. install -m 0755 ${WORKDIR}/light-ant-ref/light_c906_audio.bin ${DEPLOYDIR}/
  94. install -m 0755 ${WORKDIR}/light-ant-ref/light_c906_audio.elf ${DEPLOYDIR}/
  95. elif echo "${MACHINE}" | grep -q "light-a-product"; then
  96. echo "Firmware INFO: light-a opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  97. install -m 0755 ${WORKDIR}/lightA/light_aon_fpga.bin ${DEPLOYDIR}/
  98. install -m 0755 ${WORKDIR}/lightA/light_aon_fpga.elf ${DEPLOYDIR}/
  99. install -m 0755 ${WORKDIR}/lightA/light_c906_audio.bin ${DEPLOYDIR}/
  100. install -m 0755 ${WORKDIR}/lightA/light_c906_audio.elf ${DEPLOYDIR}/
  101. elif echo "${MACHINE}" | grep -q "light-b-product-release"; then
  102. echo "Firmware INFO: light b opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  103. install -m 0755 ${WORKDIR}/lightB/light_aon_fpga.bin ${DEPLOYDIR}/
  104. install -m 0755 ${WORKDIR}/lightB/light_aon_fpga.elf ${DEPLOYDIR}/
  105. install -m 0755 ${WORKDIR}/lightB/light_c906_audio.bin ${DEPLOYDIR}/
  106. install -m 0755 ${WORKDIR}/lightB/light_c906_audio.elf ${DEPLOYDIR}/
  107. elif echo "${MACHINE}" | grep -Eq "light-b-product|light-b-public"; then
  108. echo "Firmware INFO: light b opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  109. install -m 0755 ${WORKDIR}/lightB/light_aon_fpga.bin ${DEPLOYDIR}/
  110. install -m 0755 ${WORKDIR}/lightB/light_aon_fpga.elf ${DEPLOYDIR}/
  111. install -m 0755 ${WORKDIR}/lightB/light_c906_audio.bin ${DEPLOYDIR}/
  112. install -m 0755 ${WORKDIR}/lightB/light_c906_audio.elf ${DEPLOYDIR}/
  113. elif echo "${MACHINE}" | grep -q "light-b-power"; then
  114. echo "Firmware INFO: light b power opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  115. install -m 0755 ${WORKDIR}/light-b-power/light_aon_fpga.bin ${DEPLOYDIR}/
  116. install -m 0755 ${WORKDIR}/light-b-power/light_aon_fpga.elf ${DEPLOYDIR}/
  117. install -m 0755 ${WORKDIR}/light-b-power/light_c906_audio.bin ${DEPLOYDIR}/
  118. install -m 0755 ${WORKDIR}/light-b-power/light_c906_audio.elf ${DEPLOYDIR}/
  119. else
  120. echo "Firmware INFO: light general opensbi and e902 c906 firmware build MACHINE = ${MACHINE}"
  121. install -m 0755 ${WORKDIR}/light_aon_fpga.bin ${DEPLOYDIR}/
  122. install -m 0755 ${WORKDIR}/light_aon_fpga.elf ${DEPLOYDIR}/
  123. install -m 0755 ${WORKDIR}/light_c906_audio.bin ${DEPLOYDIR}/
  124. install -m 0755 ${WORKDIR}/light_c906_audio.elf ${DEPLOYDIR}/
  125. fi
  126. if [ ! -d ${DEPLOY_DIR_IMAGE}/.boot ]; then
  127. mkdir -p ${DEPLOY_DIR_IMAGE}/.boot
  128. fi
  129. if [ -f ${DEPLOYDIR}/fw_dynamic.bin ]; then
  130. cp -f ${DEPLOYDIR}/fw_dynamic.bin ${DEPLOY_DIR_IMAGE}/.boot
  131. fi
  132. if [ -f ${DEPLOYDIR}/light_aon_fpga.bin ]; then
  133. cp -f ${DEPLOYDIR}/light_aon_fpga.bin ${DEPLOY_DIR_IMAGE}/.boot
  134. fi
  135. if [ -f ${DEPLOYDIR}/light_c906_audio.bin ]; then
  136. cp -f ${DEPLOYDIR}/light_c906_audio.bin ${DEPLOY_DIR_IMAGE}/.boot
  137. fi
  138. dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/boot.ext4 count=10000 bs=4096
  139. ${COMPONENTS_DIR}/x86_64/e2fsprogs-native/sbin/mkfs.ext4 -F ${DEPLOY_DIR_IMAGE}/boot.ext4 -d ${DEPLOY_DIR_IMAGE}/.boot
  140. }
  141. do_deploy[nostamp] = "1"
  142. addtask deploy before do_build after do_install
  143. FILES_${PN} += " ${datadir} "
  144. PACKAGES = "${PN}"
  145. INSANE_SKIP_${PN} += " debug-files "