summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb185
1 files changed, 166 insertions, 19 deletions
diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
index e50cb933..198426ed 100644
--- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
+++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb
@@ -10,6 +10,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
10INHIBIT_DEFAULT_DEPS = "1" 10INHIBIT_DEFAULT_DEPS = "1"
11 11
12inherit deploy 12inherit deploy
13inherit update-alternatives
13 14
14PLAT_SFX = "" 15PLAT_SFX = ""
15PLAT_SFX_j7 = "j721e" 16PLAT_SFX_j7 = "j721e"
@@ -23,8 +24,7 @@ CORESDK_RTOS_VERSION ?= "08.00.00.26"
23PV = "${CORESDK_RTOS_VERSION}" 24PV = "${CORESDK_RTOS_VERSION}"
24 25
25CLEANBROKEN = "1" 26CLEANBROKEN = "1"
26PR = "r1" 27PR = "${INC_PR}.0"
27
28 28
29# Secure Build 29# Secure Build
30DEPENDS += "openssl-native" 30DEPENDS += "openssl-native"
@@ -39,13 +39,13 @@ RTOS_IPC_FW_DIR = "${S}/ti-ipc/${PLAT_SFX}"
39 39
40# For back-ward compatability keeping legacy firmware folder name 40# For back-ward compatability keeping legacy firmware folder name
41# TODO: fix this in next version 41# TODO: fix this in next version
42LEGACY_ETH_FW_DIR = "${D}${base_libdir}/firmware/ethfw" 42LEGACY_ETH_FW_DIR = "${D}${base_libdir}/firmware/ethfw/"
43LEGACY_IPC_FW_DIR = "${D}${base_libdir}/firmware/pdk-ipc" 43LEGACY_IPC_FW_DIR = "${D}${base_libdir}/firmware/pdk-ipc/"
44LEGACY_DM_FW_DIR = "${D}${base_libdir}/firmware/ethfw" 44LEGACY_DM_FW_DIR = "${D}${base_libdir}/firmware/pdk-ipc/"
45 45
46DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" 46DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
47 47
48# Install 48# J7 HS support
49do_install_prepend_j7-hs-evm() { 49do_install_prepend_j7-hs-evm() {
50 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} 50 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
51 ( cd ${RTOS_DM_FW_DIR}; \ 51 ( cd ${RTOS_DM_FW_DIR}; \
@@ -54,35 +54,182 @@ do_install_prepend_j7-hs-evm() {
54 ) 54 )
55} 55}
56 56
57# Update the am64xx ipc binaries to be consistent with other platforms
58do_install_prepend_am64xx() {
59 ( cd ${RTOS_IPC_FW_DIR}; \
60 mv am64-main-r5f0_0-fw ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f; \
61 mv am64-main-r5f0_1-fw ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f; \
62 mv am64-main-r5f1_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \
63 mv am64-main-r5f1_1-fw ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f; \
64 )
65}
66
67#Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level
57do_install() { 68do_install() {
58 CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" 69
59 install -d ${LEGACY_ETH_FW_DIR} 70}
60 install -d ${LEGACY_IPC_FW_DIR} 71
61 cp ${CP_ARGS} "${RTOS_ETH_FW_DIR}/." ${LEGACY_ETH_FW_DIR} 72do_install_j7() {
62 cp ${CP_ARGS} "${RTOS_IPC_FW_DIR}/." ${LEGACY_IPC_FW_DIR} 73 install -d ${LEGACY_IPC_FW_DIR}
63 cp ${CP_ARGS} "${RTOS_DM_FW_DIR}/." ${LEGACY_IPC_FW_DIR} 74 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
75 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
76 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
77 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
78 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
79 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c66xdsp_1_release_strip.xe66 ${LEGACY_IPC_FW_DIR}
80 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c66xdsp_2_release_strip.xe66 ${LEGACY_IPC_FW_DIR}
81 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 ${LEGACY_IPC_FW_DIR}
82 # DM Firmware
83 install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR}
84 # ETH firmware
85 install -d ${LEGACY_ETH_FW_DIR}
86 install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
87}
88
89do_install_j7200-evm() {
90 install -d ${LEGACY_IPC_FW_DIR}
91 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
92 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
93 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
94 # DM Firmware
95 install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR}
96 # ETH firmware
97 install -d ${LEGACY_ETH_FW_DIR}
98 install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR}
64} 99}
65 100
66do_install_am65xx() { 101do_install_am65xx() {
67 CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" 102 install -d ${LEGACY_IPC_FW_DIR}
68 install -d ${LEGACY_IPC_FW_DIR} 103 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
69 cp ${CP_ARGS} "${RTOS_IPC_FW_DIR}/." ${LEGACY_IPC_FW_DIR} 104 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
70} 105}
71 106
72do_install_am64xx() { 107do_install_am64xx() {
73 CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" 108 install -d ${LEGACY_IPC_FW_DIR}
74 install -d ${LEGACY_IPC_FW_DIR} 109 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
75 cp ${CP_ARGS} "${RTOS_IPC_FW_DIR}/." ${LEGACY_IPC_FW_DIR} 110 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
111 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
112 install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR}
76} 113}
77 114
115# Set up names for the firmwares
116ALTERNATIVE_${PN}_am65xx = "\
117 am65x-mcu-r5f0_0-fw \
118 am65x-mcu-r5f0_1-fw \
119 "
120
121ALTERNATIVE_${PN}_am64xx = "\
122 am64-main-r5f0_0-fw \
123 am64-main-r5f0_1-fw \
124 am64-main-r5f1_0-fw \
125 am64-main-r5f1_1-fw \
126 "
127
128ALTERNATIVE_${PN}_j7 = "\
129 j7-mcu-r5f0_0-fw \
130 j7-mcu-r5f0_1-fw \
131 j7-main-r5f0_0-fw \
132 j7-main-r5f0_1-fw \
133 j7-main-r5f1_0-fw \
134 j7-main-r5f1_1-fw \
135 j7-c66_0-fw \
136 j7-c66_1-fw \
137 j7-c71_0-fw\
138 "
139
140ALTERNATIVE_${PN}_j7200-evm = "\
141 j7200-mcu-r5f0_0-fw \
142 j7200-mcu-r5f0_1-fw \
143 j7200-main-r5f0_0-fw \
144 j7200-main-r5f0_1-fw \
145 "
146
147# Set up link names for the firmwares
148
149TARGET_MCU_R5FSS0_0_am65xx = "am65x-mcu-r5f0_0-fw"
150TARGET_MCU_R5FSS0_1_am65xx = "am65x-mcu-r5f0_1-fw"
151
152TARGET_MAIN_R5FSS0_0_am64xx = "am64-main-r5f0_0-fw"
153TARGET_MAIN_R5FSS0_1_am64xx = "am64-main-r5f0_1-fw"
154TARGET_MAIN_R5FSS1_0_am64xx = "am64-main-r5f1_0-fw"
155TARGET_MAIN_R5FSS1_1_am64xx = "am64-main-r5f1_1-fw"
156
157TARGET_MCU_R5FSS0_0_j7 = "j7-mcu-r5f0_0-fw"
158TARGET_MCU_R5FSS0_1_j7 = "j7-mcu-r5f0_1-fw"
159TARGET_MAIN_R5FSS0_0_j7 = "j7-main-r5f0_0-fw"
160TARGET_MAIN_R5FSS0_1_j7 = "j7-main-r5f0_1-fw"
161TARGET_MAIN_R5FSS1_0_j7 = "j7-main-r5f1_0-fw"
162TARGET_MAIN_R5FSS1_1_j7 = "j7-main-r5f1_1-fw"
163TARGET_C66_0_j7 = "j7-c66_0-fw"
164TARGET_C66_1_j7 = "j7-c66_1-fw"
165TARGET_C7X_j7 = "j7-c71_0-fw"
166
167TARGET_MCU_R5FSS0_0_j7200-evm = "j7200-mcu-r5f0_0-fw"
168TARGET_MCU_R5FSS0_1_j7200-evm = "j7200-mcu-r5f0_1-fw"
169TARGET_MAIN_R5FSS0_0_j7200-evm = "j7200-main-r5f0_0-fw"
170TARGET_MAIN_R5FSS0_1_j7200-evm = "j7200-main-r5f0_1-fw"
171
172ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
173ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
174
175ALTERNATIVE_LINK_NAME[am64-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
176ALTERNATIVE_LINK_NAME[am64-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
177ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
178ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
179
180ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
181ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
182ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
183ALTERNATIVE_LINK_NAME[j7-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
184ALTERNATIVE_LINK_NAME[j7-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}"
185ALTERNATIVE_LINK_NAME[j7-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}"
186ALTERNATIVE_LINK_NAME[j7-c66_0-fw] = "${base_libdir}/firmware/${TARGET_C66_0}"
187ALTERNATIVE_LINK_NAME[j7-c66_1-fw] = "${base_libdir}/firmware/${TARGET_C66_1}"
188ALTERNATIVE_LINK_NAME[j7-c71_0-fw] = "${base_libdir}/firmware/${TARGET_C7X}"
189
190ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}"
191ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}"
192ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
193ALTERNATIVE_LINK_NAME[j7200-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}"
194
195# Create the firmware alternatives
196
197ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f"
198ALTERNATIVE_TARGET[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f"
199
200ALTERNATIVE_TARGET[am64-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f"
201ALTERNATIVE_TARGET[am64-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f"
202ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f"
203ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f"
204
205ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f"
206ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f"
207ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f"
208ALTERNATIVE_TARGET[j7-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f"
209ALTERNATIVE_TARGET[j7-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f"
210ALTERNATIVE_TARGET[j7-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f"
211ALTERNATIVE_TARGET[j7-c66_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release_strip.xe66"
212ALTERNATIVE_TARGET[j7-c66_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release_strip.xe66"
213ALTERNATIVE_TARGET[j7-c71_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71"
214
215ALTERNATIVE_TARGET[j7200-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f"
216ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f"
217ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f"
218ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f"
219
220ALTERNATIVE_PRIORITY = "10"
78 221
79# make sure that lib/firmware, and all its contents are part of the package 222# make sure that lib/firmware, and all its contents are part of the package
80FILES_${PN} += "${base_libdir}/firmware" 223FILES_${PN} += "${base_libdir}/firmware"
81 224
82 225# This is used to prevent the build system to_strip the executables
83INHIBIT_PACKAGE_STRIP = "1" 226INHIBIT_PACKAGE_STRIP = "1"
227INHIBIT_SYSROOT_STRIP = "1"
228# This is used to prevent the build system to split the debug info in a separate file
84INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 229INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
230# As it likely to be a different arch from the Yocto build, disable checking by adding "arch" to INSANE_SKIP
85INSANE_SKIP_${PN} += "arch" 231INSANE_SKIP_${PN} += "arch"
86 232
233# we don't want to configure and build the source code
87do_compile[noexec] = "1" 234do_compile[noexec] = "1"
88do_configure[noexec] = "1" 235do_configure[noexec] = "1"