summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2023-04-24 18:06:00 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2023-04-24 19:33:46 -0300
commit90df14f9af28fd55783a689a00ac9e20f674ca4e (patch)
tree05985bf81b2fb92ec504d53146c828d0839510f5
parente67e62d26da5ec5be31b8341fb98720379766a64 (diff)
downloadmeta-freescale-rework-firmware-imx.tar.gz
imx-boot-firmware-files: consolidate deploy firmware files across SoCsrework-firmware-imx
The firmware-imx-8 and firmware-imx-8m recipes are mostly code duplication and some parts even used by i.MX93 so consolidating it allows code reuse and clearness. Fixes: #1426. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--conf/machine/include/imx-base.inc6
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb39
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb24
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb62
4 files changed, 65 insertions, 66 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 0959dfe3..10c3601a 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -380,11 +380,11 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \
380 380
381# Firmware used for boot. 381# Firmware used for boot.
382IMX_EXTRA_FIRMWARE ?= "" 382IMX_EXTRA_FIRMWARE ?= ""
383IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "firmware-imx-8 imx-sc-firmware imx-seco" 383IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware imx-seco"
384IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m" 384IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
385IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" 385IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
386IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-sentinel" 386IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-sentinel"
387IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "firmware-imx-8 firmware-sentinel" 387IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-sentinel"
388 388
389# Firmware 389# Firmware
390MACHINE_FIRMWARE ?= "" 390MACHINE_FIRMWARE ?= ""
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb
deleted file mode 100644
index 588d45ee..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.18.bb
+++ /dev/null
@@ -1,39 +0,0 @@
1# Copyright (C) 2018-2020 NXP
2SUMMARY = "Freescale i.MX firmware for 8 family"
3DESCRIPTION = "Freescale i.MX firmware for 8 family"
4
5require firmware-imx-${PV}.inc
6
7inherit deploy nopackages
8
9do_install[noexec] = "1"
10
11SOC_FAMILY = "INVALID"
12SOC_FAMILY:mx8-generic-bsp = "mx8"
13SOC_FAMILY:mx9-generic-bsp = "mx9"
14
15deploy_mx8() {
16 # Cadence HDMI
17 install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
18 install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
19 install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
20}
21
22deploy_mx9() {
23 # Synopsys DDR
24 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
25 install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
26 done
27}
28
29do_deploy() {
30 deploy_${SOC_FAMILY}
31}
32
33addtask deploy after do_install before do_build
34
35PACKAGE_ARCH = "${MACHINE_SOCARCH}"
36
37COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
38COMPATIBLE_MACHINE:mx8m-generic-bsp = "(^$)"
39COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb
deleted file mode 100644
index 152ef0b5..00000000
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.18.bb
+++ /dev/null
@@ -1,24 +0,0 @@
1# Copyright (C) 2018-2020 NXP
2SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family"
3DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family"
4
5require firmware-imx-${PV}.inc
6
7inherit deploy
8
9do_install[noexec] = "1"
10
11do_deploy() {
12 # Synopsys DDR
13 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
14 install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
15 done
16 # Cadence DP and HDMI
17 install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
18 install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
19}
20addtask deploy after do_install before do_build
21
22PACKAGE_ARCH = "${MACHINE_SOCARCH}"
23
24COMPATIBLE_MACHINE = "(mx8m-generic-bsp)"
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb
new file mode 100644
index 00000000..d4408cf1
--- /dev/null
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb
@@ -0,0 +1,62 @@
1# Copyright (C) 2018-2020 NXP
2SUMMARY = "Freescale i.MX firmware for 8 family"
3DESCRIPTION = "Freescale i.MX firmware for 8 family"
4
5require firmware-imx-${PV}.inc
6
7inherit deploy nopackages
8
9do_install[noexec] = "1"
10
11DEPLOY_FOR = ""
12DEPLOY_FOR:mx8-generic-bsp = "mx8"
13DEPLOY_FOR:mx8m-generic-bsp = "mx8 mx8m"
14DEPLOY_FOR:mx9-generic-bsp = "mx9"
15
16deploy_for_mx8() {
17 # Cadence HDMI
18 install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
19 install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
20 install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
21}
22
23deploy_for_mx8m() {
24 # Synopsys DDR
25 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
26 install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
27 done
28
29 # Cadence DP and HDMI
30 install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
31 install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
32}
33
34
35deploy_for_mx9() {
36 # Synopsys DDR
37 for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
38 install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
39 done
40}
41
42python () {
43 # Manually add the required functions as dependencies otherwise they won't be included in the
44 # final run script.
45 deploy_for = d.getVar('DEPLOY_FOR', True).split()
46 for soc in deploy_for:
47 d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc)
48}
49
50do_deploy () {
51 for soc in ${DEPLOY_FOR}; do
52 bbnote "Running deploy for $soc"
53 deploy_for_$soc
54 done
55}
56
57addtask deploy after do_install before do_build
58
59PACKAGE_ARCH = "${MACHINE_SOCARCH}"
60
61COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
62COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)"