diff options
-rw-r--r-- | conf/machine/include/imx-base.inc | 4 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8.8.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.5.inc) | 9 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8_8.8.bb (renamed from recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb) | 2 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8m_8.8.bb (renamed from recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb) | 2 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx_8.5.bb | 76 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx_8.8.bb | 132 |
6 files changed, 140 insertions, 85 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index b64596b4..80392f38 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc | |||
@@ -217,6 +217,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS_append = " \ | |||
217 | # Firmware | 217 | # Firmware |
218 | MACHINE_FIRMWARE ?= "" | 218 | MACHINE_FIRMWARE ?= "" |
219 | MACHINE_FIRMWARE_append_mx25 = " firmware-imx-sdma-imx25" | 219 | MACHINE_FIRMWARE_append_mx25 = " firmware-imx-sdma-imx25" |
220 | MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27" | ||
220 | MACHINE_FIRMWARE_append_mx7d = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc" | 221 | MACHINE_FIRMWARE_append_mx7d = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc" |
221 | MACHINE_FIRMWARE_append_mx6 = " linux-firmware-imx-sdma-imx6q" | 222 | MACHINE_FIRMWARE_append_mx6 = " linux-firmware-imx-sdma-imx6q" |
222 | MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q" | 223 | MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q" |
@@ -226,11 +227,10 @@ MACHINE_FIRMWARE_append_mx6sll = " firmware-imx-epdc" | |||
226 | MACHINE_FIRMWARE_append_mx6ull = " firmware-imx-epdc" | 227 | MACHINE_FIRMWARE_append_mx6ull = " firmware-imx-epdc" |
227 | MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53" | 228 | MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53" |
228 | MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51" | 229 | MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51" |
229 | MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8qxp" | ||
230 | MACHINE_FIRMWARE_append_use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" | 230 | MACHINE_FIRMWARE_append_use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" |
231 | 231 | ||
232 | # FIXME: Needs addition of firmware-imx of official BSPs | 232 | # FIXME: Needs addition of firmware-imx of official BSPs |
233 | #MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27" | 233 | #MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8qxp" |
234 | 234 | ||
235 | MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" | 235 | MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" |
236 | 236 | ||
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.5.inc b/recipes-bsp/firmware-imx/firmware-imx-8.8.inc index ae6b1d78..a2ba7f58 100644 --- a/recipes-bsp/firmware-imx/firmware-imx-8.5.inc +++ b/recipes-bsp/firmware-imx/firmware-imx-8.8.inc | |||
@@ -1,17 +1,16 @@ | |||
1 | # Copyright (C) 2012-2016 Freescale Semiconductor | 1 | # Copyright (C) 2012-2016 Freescale Semiconductor |
2 | # Copyright 2017-2019 NXP | 2 | # Copyright (C) 2017-2020 NXP |
3 | # Copyright (C) 2018 O.S. Systems Software LTDA. | 3 | # Copyright (C) 2018 O.S. Systems Software LTDA. |
4 | SECTION = "base" | 4 | SECTION = "base" |
5 | LICENSE = "Proprietary" | 5 | LICENSE = "Proprietary" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=6c12031a11b81db21cdfe0be88cac4b3" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" |
7 | 7 | ||
8 | SRCBRANCH ?= "master" | ||
9 | SRC_URI = " \ | 8 | SRC_URI = " \ |
10 | ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ | 9 | ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ |
11 | " | 10 | " |
12 | 11 | ||
13 | SRC_URI[md5sum] = "a6b926d087e1e642580da8a6d982abe6" | 12 | SRC_URI[md5sum] = "eabb27d28bba375a9f14d6306c07af5f" |
14 | SRC_URI[sha256sum] = "45b0a7392e7a4b2e6c7e1cb988dd660ff3f8cd465afdf796ff840a00db08389d" | 13 | SRC_URI[sha256sum] = "5ca1f8b6e6b191594d17ac7b51c38cdbc2ff808d15568ab4b0bbeb5dc6c621f6" |
15 | 14 | ||
16 | S = "${WORKDIR}/firmware-imx-${PV}" | 15 | S = "${WORKDIR}/firmware-imx-${PV}" |
17 | 16 | ||
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.8.bb index 64fa2885..650c1cfd 100644 --- a/recipes-bsp/firmware-imx/firmware-imx-8_8.5.bb +++ b/recipes-bsp/firmware-imx/firmware-imx-8_8.8.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | # Copyright 2018 NXP | 1 | # Copyright (C) 2018-2020 NXP |
2 | SUMMARY = "Freescale i.MX firmware for 8 family" | 2 | SUMMARY = "Freescale i.MX firmware for 8 family" |
3 | DESCRIPTION = "Freescale i.MX firmware for 8 family" | 3 | DESCRIPTION = "Freescale i.MX firmware for 8 family" |
4 | 4 | ||
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.8.bb index a605d226..44e9ff4a 100644 --- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.5.bb +++ b/recipes-bsp/firmware-imx/firmware-imx-8m_8.8.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | # Copyright 2018 NXP | 1 | # Copyright (C) 2018-2020 NXP |
2 | SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" | 2 | SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" |
3 | DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" | 3 | DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" |
4 | 4 | ||
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.5.bb b/recipes-bsp/firmware-imx/firmware-imx_8.5.bb deleted file mode 100644 index ff623057..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx_8.5.bb +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | # Copyright (C) 2012-2016 Freescale Semiconductor | ||
2 | # Copyright 2017-2019 NXP | ||
3 | # Copyright (C) 2018 O.S. Systems Software LTDA. | ||
4 | SUMMARY = "Freescale i.MX firmware" | ||
5 | DESCRIPTION = "Freescale i.MX firmware such as for the VPU" | ||
6 | |||
7 | require firmware-imx-${PV}.inc | ||
8 | |||
9 | PE = "1" | ||
10 | |||
11 | SRC_URI += " \ | ||
12 | git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH};destsuffix=${S}/git \ | ||
13 | " | ||
14 | SRCREV = "8ce9046f5058fdd2c5271f86ccfc61bc5a248ae3" | ||
15 | |||
16 | inherit allarch | ||
17 | |||
18 | do_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 | mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/ | ||
39 | mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw | ||
40 | |||
41 | find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';' | ||
42 | find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';' | ||
43 | |||
44 | # Remove files not going to be installed | ||
45 | rm ${D}${base_libdir}/firmware/sdma/sdma-imx6q.bin | ||
46 | rm ${D}${base_libdir}/firmware/sdma/sdma-imx7d.bin | ||
47 | find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';' | ||
48 | } | ||
49 | |||
50 | python populate_packages_prepend() { | ||
51 | vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d) | ||
52 | do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', | ||
53 | output_pattern='firmware-imx-vpu-%s', | ||
54 | description='Freescale IMX Firmware %s', | ||
55 | extra_depends='', | ||
56 | prepend=True) | ||
57 | |||
58 | sdmadir = bb.data.expand('${base_libdir}/firmware/sdma', d) | ||
59 | do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', | ||
60 | output_pattern='firmware-imx-sdma-%s', | ||
61 | description='Freescale IMX Firmware %s', | ||
62 | extra_depends='', | ||
63 | prepend=True) | ||
64 | } | ||
65 | |||
66 | ALLOW_EMPTY_${PN} = "1" | ||
67 | |||
68 | PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*" | ||
69 | |||
70 | PACKAGES =+ "${PN}-epdc ${PN}-scfw ${PN}-sdma" | ||
71 | |||
72 | FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/" | ||
73 | FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/" | ||
74 | FILES_${PN}-sdma = " ${base_libdir}/firmware/imx/sdma" | ||
75 | |||
76 | COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)" | ||
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.8.bb b/recipes-bsp/firmware-imx/firmware-imx_8.8.bb new file mode 100644 index 00000000..aff22ba6 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_8.8.bb | |||
@@ -0,0 +1,132 @@ | |||
1 | # Copyright (C) 2012-2016 Freescale Semiconductor | ||
2 | # Copyright (C) 2017-2020 NXP | ||
3 | # Copyright (C) 2018 O.S. Systems Software LTDA. | ||
4 | SUMMARY = "Freescale i.MX firmware" | ||
5 | DESCRIPTION = "Freescale i.MX firmware such as for the VPU" | ||
6 | |||
7 | require firmware-imx-${PV}.inc | ||
8 | |||
9 | PE = "1" | ||
10 | |||
11 | inherit allarch | ||
12 | |||
13 | do_install() { | ||
14 | install -d ${D}${nonarch_base_libdir}/firmware/imx | ||
15 | |||
16 | # SDMA Firmware section | ||
17 | install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma | ||
18 | install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma | ||
19 | |||
20 | # EASRC Firmware section | ||
21 | install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc | ||
22 | install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/ | ||
23 | |||
24 | # XCVR Firmware section | ||
25 | install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr | ||
26 | install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/ | ||
27 | |||
28 | # XUVI Firmware section | ||
29 | install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi | ||
30 | install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/ | ||
31 | |||
32 | # EPDC Firmware section | ||
33 | # NOTE: | ||
34 | # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should | ||
35 | # be installed with a different name | ||
36 | install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc | ||
37 | install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/ | ||
38 | install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw | ||
39 | |||
40 | # HDMI Firmware section | ||
41 | # NOTE: | ||
42 | # Only install pre-defined list of firmware files, since the source archive contains | ||
43 | # also HDMI binary files for imx8m derivatives, which are taken care of by another recipe | ||
44 | install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi | ||
45 | install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi | ||
46 | install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi | ||
47 | install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi | ||
48 | |||
49 | # VPU Firmware section | ||
50 | # NOTE: | ||
51 | # Do the same thing as above for HDMI - only install a pre-defined list of firmware files, | ||
52 | # as some of other files are provided by packages from other recipes. | ||
53 | install -d ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
54 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx27_TO1.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
55 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx27_TO2.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
56 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx51.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
57 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx53.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
58 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx6d.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
59 | install -m 0644 ${S}/firmware/vpu/vpu_fw_imx6q.bin ${D}${nonarch_base_libdir}/firmware/imx/vpu | ||
60 | } | ||
61 | |||
62 | # | ||
63 | # This prepend is here to produce separate packages containing firmware, | ||
64 | # which could be included separately based on the machine definition. | ||
65 | # | ||
66 | # It operates similar to the FILES mechanism by travesing through | ||
67 | # ${D} + folder supplied as a first parameter, matches the regexp supplied | ||
68 | # as second one, and for every file match - it creates a separate package, | ||
69 | # which contains only files that matches the pattern. | ||
70 | # | ||
71 | python populate_packages_prepend() { | ||
72 | easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) | ||
73 | do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', | ||
74 | output_pattern='firmware-imx-easrc-%s', | ||
75 | description='Freescale IMX EASRC Firmware [%s]', | ||
76 | extra_depends='', | ||
77 | prepend=True) | ||
78 | |||
79 | vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/vpu', d) | ||
80 | do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', | ||
81 | output_pattern='firmware-imx-vpu-%s', | ||
82 | description='Freescale IMX VPU Firmware [%s]', | ||
83 | extra_depends='', | ||
84 | prepend=True) | ||
85 | |||
86 | sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) | ||
87 | do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', | ||
88 | output_pattern='firmware-imx-sdma-%s', | ||
89 | description='Freescale IMX SDMA Firmware [%s]', | ||
90 | extra_depends='', | ||
91 | prepend=True) | ||
92 | |||
93 | xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) | ||
94 | do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', | ||
95 | output_pattern='firmware-imx-xcvr-%s', | ||
96 | description='Freescale IMX XCVR Firmware [%s]', | ||
97 | extra_depends='', | ||
98 | prepend=True) | ||
99 | |||
100 | xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) | ||
101 | do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', | ||
102 | output_pattern='firmware-imx-xuvi-%s', | ||
103 | description='Freescale IMX XUVI Firmware [%s]', | ||
104 | extra_depends='', | ||
105 | prepend=True) | ||
106 | } | ||
107 | |||
108 | # Declare a contract that we would provide packages produced by prepend above | ||
109 | PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*" | ||
110 | |||
111 | # | ||
112 | # Deal with the rest of Firmware packages here | ||
113 | # | ||
114 | # Provide EPDC and HDMI Firmware in common packages as they tend to be special in | ||
115 | # terms of the content. | ||
116 | # | ||
117 | # NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated | ||
118 | # complimentary packages (-dev and -dbg). | ||
119 | # This is done in order to be able to keep the main package empty and fail when | ||
120 | # somebody tries to install it in the image. | ||
121 | # If -dev package is present in that setup, and dev-pkgs is enabled in | ||
122 | # IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev | ||
123 | # packages would be installed, and -dev package would fail because the main one | ||
124 | # is empty. | ||
125 | # Therefore, we opt-out from producing -dev package here, since also for firmware | ||
126 | # files it makes no sense. | ||
127 | PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi" | ||
128 | |||
129 | FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" | ||
130 | FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/" | ||
131 | |||
132 | COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)" | ||