summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Davis <afd@ti.com>2023-05-25 13:11:25 -0500
committerRyan Eatmon <reatmon@ti.com>2023-06-06 08:24:37 -0500
commita73e0f2e5f9e804b198f8544c48a24cef52d677c (patch)
tree8f1f03ea9866960a959c30d24f9cdbad39270860
parentaf13b78aa27c6b979f6e1e4b79a95edb4138e0b5 (diff)
downloadmeta-ti-a73e0f2e5f9e804b198f8544c48a24cef52d677c.tar.gz
ti-eth-fw: Add recipe for TI Ethernet firmware
Split out the TI Ethernet firmware from ti-rtos-firmware. Signed-off-by: Andrew Davis <afd@ti.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb118
-rw-r--r--meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb38
2 files changed, 123 insertions, 33 deletions
diff --git a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
new file mode 100644
index 00000000..1a8d4aef
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
@@ -0,0 +1,118 @@
1SUMMARY = "TI Ethernet prebuilt binary firmware images"
2
3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://${COREBASE}/../meta-ti/licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
5
6COMPATIBLE_MACHINE = "k3"
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10INHIBIT_DEFAULT_DEPS = "1"
11
12inherit deploy
13inherit update-alternatives
14
15require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
16
17PV = "${CORESDK_RTOS_VERSION}"
18PR = "${INC_PR}.0"
19
20CLEANBROKEN = "1"
21
22# Secure Build
23inherit ti-secdev
24
25PLAT_SFX = ""
26PLAT_SFX:j721e = "j721e"
27PLAT_SFX:j7200 = "j7200"
28PLAT_SFX:j721s2 = "j721s2"
29PLAT_SFX:j784s4 = "j784s4"
30PLAT_SFX:am65xx = "am65xx"
31PLAT_SFX:am64xx = "am64xx"
32PLAT_SFX:am62xx = "am62xx"
33PLAT_SFX:am62axx = "am62axx"
34
35ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
36
37INSTALL_ETH_FW_DIR = "${nonarch_base_libdir}/firmware/${ETH_FW_DIR}"
38
39ETH_FW = "app_remoteswitchcfg_server_strip.xer5f"
40
41ETH_FW_LIST = ""
42ETH_FW_LIST:j721e = "${ETH_FW}"
43ETH_FW_LIST:j7200 = "${ETH_FW}"
44ETH_FW_LIST:j721s2 = ""
45ETH_FW_LIST:j784s4 = "${ETH_FW}"
46ETH_FW_LIST:am65xx = ""
47ETH_FW_LIST:am64xx = ""
48ETH_FW_LIST:am62xx = ""
49ETH_FW_LIST:am62axx = ""
50
51do_install() {
52 # ETH firmware
53 for FW_NAME in ${ETH_FW_LIST}
54 do
55 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${ETH_FW_DIR}/${FW_NAME} ${S}/${ETH_FW_DIR}/${FW_NAME}.signed
56 done
57
58 # ETH firmware
59 install -d ${D}${INSTALL_ETH_FW_DIR}
60 for FW_NAME in ${ETH_FW_LIST}
61 do
62 install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME} ${D}${INSTALL_ETH_FW_DIR}
63 install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_ETH_FW_DIR}
64 done
65}
66
67# Set up names for the firmwares
68ALTERNATIVE:${PN}:j721e = "\
69 j7-main-r5f0_0-fw \
70 j7-main-r5f0_0-fw-sec \
71 "
72
73ALTERNATIVE:${PN}:j7200 = "\
74 j7200-main-r5f0_0-fw \
75 j7200-main-r5f0_0-fw-sec \
76 "
77
78ALTERNATIVE:${PN}:j784s4 = "\
79 j784s4-mcu-r5f0_0-fw \
80 j784s4-mcu-r5f0_0-fw-sec \
81 "
82
83# Set up link names for the firmwares
84ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
85ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw-sec"
86
87ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_0-fw"
88ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_0-fw-sec"
89
90ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-mcu-r5f0_0-fw"
91ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-mcu-r5f0_0-fw-sec"
92
93# Create the firmware alternatives
94ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
95ALTERNATIVE_TARGET[j7-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
96
97ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
98ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
99
100ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
101ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
102
103ALTERNATIVE_PRIORITY = "20"
104
105# make sure that lib/firmware, and all its contents are part of the package
106FILES:${PN} += "${nonarch_base_libdir}/firmware"
107
108# This is used to prevent the build system to_strip the executables
109INHIBIT_PACKAGE_STRIP = "1"
110INHIBIT_SYSROOT_STRIP = "1"
111# This is used to prevent the build system to split the debug info in a separate file
112INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
113# As it likely to be a different arch from the Yocto build, disable checking by adding "arch" to INSANE_SKIP
114INSANE_SKIP:${PN} += "arch"
115
116# we don't want to configure and build the source code
117do_compile[noexec] = "1"
118do_configure[noexec] = "1"
diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
index 55f55ed5..7958c0e6 100644
--- a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
+++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
@@ -1,4 +1,4 @@
1SUMMARY = "TI RTOS prebuilt binary firmware images" 1SUMMARY = "TI Echo Test prebuilt binary firmware images"
2 2
3LICENSE = "TI-TFL" 3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://${COREBASE}/../meta-ti/licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" 4LIC_FILES_CHKSUM = "file://${COREBASE}/../meta-ti/licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
@@ -34,10 +34,8 @@ CLEANBROKEN = "1"
34inherit ti-secdev 34inherit ti-secdev
35 35
36IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" 36IPC_FW_DIR = "ti-ipc/${PLAT_SFX}"
37ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
38 37
39INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" 38INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
40INSTALL_ETH_FW_DIR = "${nonarch_base_libdir}/firmware/${ETH_FW_DIR}"
41 39
42MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" 40MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f"
43MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" 41MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f"
@@ -54,8 +52,6 @@ C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71"
54C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" 52C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71"
55C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" 53C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71"
56 54
57ETH_FW = "app_remoteswitchcfg_server_strip.xer5f"
58
59IPC_FW_LIST = "" 55IPC_FW_LIST = ""
60IPC_FW_LIST:j721e = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C66_1_FW} ${C66_2_FW} ${C7X_1_FW}" 56IPC_FW_LIST:j721e = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C66_1_FW} ${C66_2_FW} ${C7X_1_FW}"
61IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}" 57IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}"
@@ -66,16 +62,6 @@ IPC_FW_LIST:am64xx = "${MCU_1_0_FW} ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} $
66IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}" 62IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}"
67IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}" 63IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}"
68 64
69ETH_FW_LIST = ""
70ETH_FW_LIST:j721e = "${ETH_FW}"
71ETH_FW_LIST:j7200 = "${ETH_FW}"
72ETH_FW_LIST:j721s2 = ""
73ETH_FW_LIST:j784s4 = "${ETH_FW}"
74ETH_FW_LIST:am65xx = ""
75ETH_FW_LIST:am64xx = ""
76ETH_FW_LIST:am62xx = ""
77ETH_FW_LIST:am62axx = ""
78
79# Update the am64xx ipc binaries to be consistent with other platforms 65# Update the am64xx ipc binaries to be consistent with other platforms
80do_install:prepend:am64xx() { 66do_install:prepend:am64xx() {
81 ( cd ${S}/${IPC_FW_DIR}; \ 67 ( cd ${S}/${IPC_FW_DIR}; \
@@ -108,12 +94,6 @@ do_install() {
108 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed 94 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed
109 done 95 done
110 96
111 # ETH firmware
112 for FW_NAME in ${ETH_FW_LIST}
113 do
114 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${ETH_FW_DIR}/${FW_NAME} ${S}/${ETH_FW_DIR}/${FW_NAME}.signed
115 done
116
117 # IPC Firmware 97 # IPC Firmware
118 install -d ${D}${INSTALL_IPC_FW_DIR} 98 install -d ${D}${INSTALL_IPC_FW_DIR}
119 for FW_NAME in ${IPC_FW_LIST} 99 for FW_NAME in ${IPC_FW_LIST}
@@ -121,14 +101,6 @@ do_install() {
121 install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} 101 install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR}
122 install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} 102 install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR}
123 done 103 done
124
125 # ETH firmware
126 install -d ${D}${INSTALL_ETH_FW_DIR}
127 for FW_NAME in ${ETH_FW_LIST}
128 do
129 install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME} ${D}${INSTALL_ETH_FW_DIR}
130 install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_ETH_FW_DIR}
131 done
132} 104}
133 105
134# Set up names for the firmwares 106# Set up names for the firmwares
@@ -303,7 +275,7 @@ ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
303ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" 275ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
304 276
305ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}" 277ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
306ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}" 278ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
307ALTERNATIVE_TARGET[j7-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}" 279ALTERNATIVE_TARGET[j7-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
308ALTERNATIVE_TARGET[j7-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}" 280ALTERNATIVE_TARGET[j7-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
309ALTERNATIVE_TARGET[j7-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}" 281ALTERNATIVE_TARGET[j7-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}"
@@ -311,7 +283,7 @@ ALTERNATIVE_TARGET[j7-c66_0-fw] = "${INSTALL_IPC_FW_DIR}/${C66_1_FW}"
311ALTERNATIVE_TARGET[j7-c66_1-fw] = "${INSTALL_IPC_FW_DIR}/${C66_2_FW}" 283ALTERNATIVE_TARGET[j7-c66_1-fw] = "${INSTALL_IPC_FW_DIR}/${C66_2_FW}"
312ALTERNATIVE_TARGET[j7-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" 284ALTERNATIVE_TARGET[j7-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
313 285
314ALTERNATIVE_TARGET[j7-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed" 286ALTERNATIVE_TARGET[j7-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
315ALTERNATIVE_TARGET[j7-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed" 287ALTERNATIVE_TARGET[j7-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
316ALTERNATIVE_TARGET[j7-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed" 288ALTERNATIVE_TARGET[j7-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
317ALTERNATIVE_TARGET[j7-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed" 289ALTERNATIVE_TARGET[j7-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed"
@@ -320,10 +292,10 @@ ALTERNATIVE_TARGET[j7-c66_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C66_2_FW}.signed"
320ALTERNATIVE_TARGET[j7-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" 292ALTERNATIVE_TARGET[j7-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
321 293
322ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}" 294ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
323ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}" 295ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
324ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}" 296ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
325 297
326ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed" 298ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
327ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed" 299ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
328 300
329ALTERNATIVE_TARGET[j721s2-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}" 301ALTERNATIVE_TARGET[j721s2-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"