summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/firmware-imx/firmware-imx_8.5.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/firmware-imx/firmware-imx_8.5.bb')
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.5.bb78
1 files changed, 78 insertions, 0 deletions
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.5.bb b/recipes-bsp/firmware-imx/firmware-imx_8.5.bb
new file mode 100644
index 00000000..549a86e6
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.5.bb
@@ -0,0 +1,78 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright 2017-2019 NXP
3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SUMMARY = "Freescale i.MX firmware"
5DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
6
7require firmware-imx-${PV}.inc
8
9PE = "1"
10
11SRC_URI += " \
12 git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH};destsuffix=${S}/git \
13"
14SRCREV = "8ce9046f5058fdd2c5271f86ccfc61bc5a248ae3"
15
16inherit allarch
17
18do_install() {
19 install -d ${D}${base_libdir}/firmware/imx
20
21 cd firmware
22 for d in *; do
23 case $d in
24 easrc)
25 # excluding as only applies Nano SoC
26 ;;
27 ddr|hdmi|seco)
28 # These folders are for i.MX 8 and are included in the boot image via imx-boot
29 bbnote Excluding folder $d
30 ;;
31 *)
32 cp -rfv $d ${D}${base_libdir}/firmware
33 ;;
34 esac
35 done
36 cd -
37
38 install -d ${D}${base_libdir}/firmware/imx/sdma
39 mv ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin ${D}${base_libdir}/firmware/imx/sdma
40 mv ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin ${D}${base_libdir}/firmware/imx/sdma
41
42 mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/
43 mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
44
45 find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';'
46 find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';'
47
48 # Remove files not going to be installed
49 find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';'
50}
51
52python populate_packages_prepend() {
53 vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d)
54 do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
55 output_pattern='firmware-imx-vpu-%s',
56 description='Freescale IMX Firmware %s',
57 extra_depends='',
58 prepend=True)
59
60 sdmadir = bb.data.expand('${base_libdir}/firmware/sdma', d)
61 do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
62 output_pattern='firmware-imx-sdma-%s',
63 description='Freescale IMX Firmware %s',
64 extra_depends='',
65 prepend=True)
66}
67
68ALLOW_EMPTY_${PN} = "1"
69
70PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
71
72PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma"
73
74FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/"
75FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/"
76FILES_${PN}-sdma = " ${base_libdir}/firmware/imx/sdma"
77
78COMPATIBLE_MACHINE = "(imx)"