aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ti-extras/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-extras/recipes-bsp')
-rw-r--r--meta-ti-extras/recipes-bsp/bt-fw/bt-fw_git.bb24
-rw-r--r--meta-ti-extras/recipes-bsp/dspdce-fw/dspdce-fw_git.bb65
-rw-r--r--meta-ti-extras/recipes-bsp/dsptop/debugss-module-drv_git.bb22
-rw-r--r--meta-ti-extras/recipes-bsp/dsptop/dsptop.inc8
-rw-r--r--meta-ti-extras/recipes-bsp/dsptop/dsptop_git.bb28
-rw-r--r--meta-ti-extras/recipes-bsp/dsptop/libulm_git.bb45
-rw-r--r--meta-ti-extras/recipes-bsp/ipumm-fw/ipumm-fw_git.bb67
-rw-r--r--meta-ti-extras/recipes-bsp/pru/pru-icss_git.bb383
-rw-r--r--meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch31
-rw-r--r--meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb29
10 files changed, 702 insertions, 0 deletions
diff --git a/meta-ti-extras/recipes-bsp/bt-fw/bt-fw_git.bb b/meta-ti-extras/recipes-bsp/bt-fw/bt-fw_git.bb
new file mode 100644
index 00000000..9a5a6ffa
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/bt-fw/bt-fw_git.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Firmware files for Bluetooth"
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f39eac9f4573be5b012e8313831e72a9"
+
+PV = "8.7.1+git"
+
+CLEANBROKEN = "1"
+
+SRCREV = "0ee619b598d023fffc77679f099bc2a4815510e4"
+BRANCH = "master"
+SRC_URI = "git://git.ti.com/git/ti-bt/service-packs.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-connectivity
+ oe_runmake "DEST_DIR=${D}" "BASE_LIB_DIR=${nonarch_base_libdir}" install
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/ti-connectivity/*"
diff --git a/meta-ti-extras/recipes-bsp/dspdce-fw/dspdce-fw_git.bb b/meta-ti-extras/recipes-bsp/dspdce-fw/dspdce-fw_git.bb
new file mode 100644
index 00000000..491ee0f3
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/dspdce-fw/dspdce-fw_git.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Firmware for DSP for an example application called copycodectest"
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://src/ti/framework/dce/dce.c;startline=1;endline=31;md5=2c6e9aba6ed75f22b1a2b7544b1c809d"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+inherit features_check
+
+REQUIRED_MACHINE_FEATURES = "dsp"
+
+SRC_URI = "git://git.ti.com/git/glsdk/dspdce.git;protocol=https;branch=master"
+
+SRCREV = "de6e599f067b25c46cc0c8f74a22cc3b8aafbae8"
+
+PV = "1.00.00.07"
+
+S = "${WORKDIR}/git"
+
+require recipes-ti/includes/ti-paths.inc
+
+PR = "r4"
+inherit update-alternatives
+
+DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-ipc-rtos ti-osal ti-cgt6x-native"
+
+export HWVERSION = "ES10"
+export BIOSTOOLSROOT = "${STAGING_DIR_TARGET}/usr/share/ti"
+
+export XDCVERSION = "ti-xdctools-tree"
+export BIOSVERSION = "ti-sysbios-tree"
+export IPCVERSION = "ti-ipc-tree"
+export CEVERSION = "ti-codec-engine-tree"
+export FCVERSION = "ti-framework-components-tree"
+export XDAISVERSION = "ti-xdais-tree"
+export OSALVERSION = "ti-osal-tree"
+
+export IPCSRC = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
+export C66XCGTOOLSPATH = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
+
+do_configure() {
+ cd ${S}
+ make unconfig
+ make vayu_config
+}
+
+do_compile() {
+ cd ${S}
+ make dspbin
+}
+
+TARGET = "dra7-dsp1-fw.xe66"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/dra7xx-c66x-dsp.xe66 ${D}${nonarch_base_libdir}/firmware/${TARGET}.${BPN}
+}
+
+ALTERNATIVE:${PN} = "dra7-dsp1-fw.xe66"
+ALTERNATIVE_LINK_NAME[dra7-dsp1-fw.xe66] = "${nonarch_base_libdir}/firmware/${TARGET}"
+ALTERNATIVE_TARGET[dra7-dsp1-fw.xe66] = "${nonarch_base_libdir}/firmware/${TARGET}.${BPN}"
+ALTERNATIVE_PRIORITY = "10"
+
+INSANE_SKIP:${PN} = "arch"
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/*"
diff --git a/meta-ti-extras/recipes-bsp/dsptop/debugss-module-drv_git.bb b/meta-ti-extras/recipes-bsp/dsptop/debugss-module-drv_git.bb
new file mode 100644
index 00000000..9d85829b
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/dsptop/debugss-module-drv_git.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Debug Sub-System (DebugSS) driver for Keystone and DRA7xx devices"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=9d4316fe434ba450dca4da25348ca5a3"
+
+# This package builds a kernel module, use kernel PR as base and append a local
+MACHINE_KERNEL_PR:append = "d"
+PR = "${MACHINE_KERNEL_PR}"
+PV:append = "+git"
+
+S = "${WORKDIR}/git/debugss_module/debugss-mod"
+
+inherit module
+
+PLATFORM = ""
+PLATFORM:dra7xx = "DRA7xx_PLATFORM"
+
+EXTRA_OEMAKE = "'PLATFORM=${PLATFORM}' KVERSION=${KERNEL_VERSION} KERNEL_SRC=${STAGING_KERNEL_DIR}"
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+include dsptop.inc
diff --git a/meta-ti-extras/recipes-bsp/dsptop/dsptop.inc b/meta-ti-extras/recipes-bsp/dsptop/dsptop.inc
new file mode 100644
index 00000000..ec159c75
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/dsptop/dsptop.inc
@@ -0,0 +1,8 @@
+# This corresponds to version 1.4.0
+SRCREV = "816485e68430bbec643eac9498bfa5303eb2c2e1"
+PV = "1.4.0"
+INC_PR = "r2"
+
+SRC_URI = "git://git.ti.com/git/sdo-emu/dsptop.git;protocol=https;branch=${BRANCH}"
+
+BRANCH = "master"
diff --git a/meta-ti-extras/recipes-bsp/dsptop/dsptop_git.bb b/meta-ti-extras/recipes-bsp/dsptop/dsptop_git.bb
new file mode 100644
index 00000000..90ce8943
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/dsptop/dsptop_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "TI dsptop utility."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979"
+
+DEPENDS = "libulm ncurses"
+
+PR = "${INC_PR}.2"
+
+S = "${WORKDIR}/git/dsptop"
+
+DEVICE = ""
+DEVICE:dra7xx = "DRA7xx"
+
+EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}""
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}
+}
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+RDEPENDS:${PN} = "debugss-module-drv bash"
+
+include dsptop.inc
+
+PARALLEL_MAKE = ""
diff --git a/meta-ti-extras/recipes-bsp/dsptop/libulm_git.bb b/meta-ti-extras/recipes-bsp/dsptop/libulm_git.bb
new file mode 100644
index 00000000..6a2cde30
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/dsptop/libulm_git.bb
@@ -0,0 +1,45 @@
+SUMMARY = "TI Usage & Load Monitor Implementation"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://../debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979"
+
+inherit features_check
+
+REQUIRED_MACHINE_FEATURES = "dsp"
+
+DEPENDS = "ti-cgt6x-native"
+PR = "${INC_PR}.0"
+
+S = "${WORKDIR}/git/dsptop/ulm"
+
+DEVICE=""
+DEVICE:dra7xx = "DRA7xx"
+
+EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX}"
+
+do_compile() {
+ oe_runmake arm XPORT_ONLY CC="${CC}"
+ oe_runmake dsp C6X_C_DIR=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x/include
+}
+
+do_install() {
+ install -d ${D}${includedir}
+ install -d ${D}${libdir}
+ install -d ${D}${datadir}/ti/ulm
+ cp -f tiulm.h ${D}${includedir}
+ cp -f release/libtiulm.a ${D}${libdir}
+ cp -f tiulm.h ${D}${datadir}/ti/ulm
+ cp -f release/libtiulm.ae66 ${D}${datadir}/ti/ulm
+}
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES:${PN}-dev += "\
+ ${datadir}/ti/ulm \
+"
+
+include dsptop.inc
+
+ALLOW_EMPTY:${PN} = "1"
+
+PARALLEL_MAKE= ""
diff --git a/meta-ti-extras/recipes-bsp/ipumm-fw/ipumm-fw_git.bb b/meta-ti-extras/recipes-bsp/ipumm-fw/ipumm-fw_git.bb
new file mode 100644
index 00000000..8d066eb0
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/ipumm-fw/ipumm-fw_git.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Firmware for IPU to suppor Accelerated MM decode and encode"
+LICENSE = "TI-TSPA"
+
+LIC_FILES_CHKSUM = "file://Texas_Instruments_ipumm_Manifest.pdf;md5=5cc572579f07af266ab57fc17d762c7f"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+inherit features_check
+
+REQUIRED_MACHINE_FEATURES = "mmip"
+
+RDEPENDS:${PN} = "libdce"
+
+SRC_URI = "git://git.ti.com/git/ivimm/ipumm.git;protocol=https;branch=master"
+
+SRCREV = "df4c50aecc9aad7ab3eb1ca9ebacfe473fcad7c5"
+
+S = "${WORKDIR}/git"
+
+PV = "3.00.15.00"
+PR = "r7"
+
+require recipes-ti/includes/ti-paths.inc
+
+inherit update-alternatives
+
+DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-cgt-arm-native ti-ipc-rtos"
+
+export HWVERSION="ES10"
+export BIOSTOOLSROOT="${STAGING_DIR_TARGET}/usr/share/ti"
+
+export XDCVERSION="ti-xdctools-tree"
+export BIOSVERSION="ti-sysbios-tree"
+export IPCVERSION="ti-ipc-tree"
+export CEVERSION="ti-codec-engine-tree"
+export FCVERSION="ti-framework-components-tree"
+export XDAISVERSION="ti-xdais-tree"
+
+export TMS470CGTOOLPATH="${M4_TOOLCHAIN_INSTALL_DIR}"
+export IPCSRC="${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
+
+EXTRA_OEMAKE += "XDCDIST_TREE=${STAGING_DIR_NATIVE}/usr/share/ti/${XDCVERSION}"
+
+do_configure() {
+ oe_runmake unconfig
+ oe_runmake vayu_smp_config
+}
+
+do_compile() {
+ oe_runmake
+}
+
+TARGET = "dra7-ipu2-fw.xem4"
+TARGET_MAP = "platform/ti/dce/baseimage/package/cfg/out/ipu/release/ipu.xem4.map"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/${TARGET} ${D}${nonarch_base_libdir}/firmware/${TARGET}.${BPN}
+ install -m 0644 ${S}/${TARGET_MAP} ${D}${nonarch_base_libdir}/firmware/${TARGET}.map
+}
+
+ALTERNATIVE:${PN} = "dra7-ipu2-fw.xem4"
+ALTERNATIVE_LINK_NAME[dra7-ipu2-fw.xem4] = "${nonarch_base_libdir}/firmware/${TARGET}"
+ALTERNATIVE_TARGET[dra7-ipu2-fw.xem4] = "${nonarch_base_libdir}/firmware/${TARGET}.${BPN}"
+ALTERNATIVE_PRIORITY = "20"
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/*"
diff --git a/meta-ti-extras/recipes-bsp/pru/pru-icss_git.bb b/meta-ti-extras/recipes-bsp/pru/pru-icss_git.bb
new file mode 100644
index 00000000..b01dd6a5
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/pru/pru-icss_git.bb
@@ -0,0 +1,383 @@
+DESCRIPTION = "Programmable Real-time Unit Software Package"
+HOMEPAGE = "http://processors.wiki.ti.com/index.php/PRU-ICSS"
+LICENSE = "BSD-3-Clause & PD"
+
+LIC_FILES_CHKSUM = "file://PRU-Package-v6.1-Manifest.html;md5=1e37797ebe9254922f4278bb6047211c"
+
+inherit update-alternatives
+
+BRANCH = "master"
+SRC_URI = "git://git.ti.com/git/pru-software-support-package/pru-software-support-package.git;protocol=https;branch=${BRANCH}"
+SRCREV = "00a5efa5157feb84cb2e4bf50b481f7082acca82"
+
+PV = "6.3.0"
+
+require recipes-ti/includes/ti-paths.inc
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|am62xx|am64xx|am65xx|j721e"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES:prepend = " \
+ ${PN}-halt \
+ ${PN}-rpmsg-echo \
+"
+
+RDEPENDS:${PN}:append = " \
+ ${PN}-halt \
+ ${PN}-rpmsg-echo \
+"
+
+DEPENDS = "ti-cgt-pru-native"
+
+S = "${WORKDIR}/git"
+
+export PRU_CGT = "${TI_CGT_PRU_INSTALL_DIR}"
+export PRU_SSP = "${S}"
+
+SUBDIRS = "examples pru_cape/pru_fw lib/src labs"
+
+PLATFORM:ti33x = "am335x"
+PLATFORM:ti43x = "am437x"
+PLATFORM:omap-a15 = "am572x"
+PLATFORM:am62xx = "am62x"
+PLATFORM:am64xx = "am64x"
+PLATFORM:am65xx = "am65x"
+PLATFORM:j721e = "j721e"
+
+do_compile() {
+ for dir in ${SUBDIRS}
+ do
+ make -C ${S}/$dir
+ done
+}
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${nonarch_base_libdir}/firmware/pru
+ install -d ${D}${includedir}
+ cp ${CP_ARGS} ${S}/include/* ${D}${includedir}
+ install -d ${D}${libdir}
+ install -m 0644 ${S}/lib/rpmsg_lib.lib ${D}${libdir}
+}
+
+FILES:${PN}-staticdev = "${libdir}"
+FILES:${PN}-dev = "${includedir}"
+
+do_install:append:ti33x() {
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ for i in 0 1
+ do
+ install -m 0644 ${S}/examples/am335x/PRU_RPMsg_Echo_Interrupt${i}/gen/PRU_RPMsg_Echo_Interrupt${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+}
+
+do_install:append:ti43x() {
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ for i in 0 1
+ do
+ for j in 0 1
+ do
+ install -m 0644 ${S}/examples/am437x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ done
+}
+
+do_install:append:omap-a15() {
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ for i in 1 2
+ do
+ for j in 0 1
+ do
+ install -m 0644 ${S}/examples/am572x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ done
+}
+
+do_install:append:am62xx() {
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ for i in 0 1
+ do
+ install -m 0644 ${S}/examples/${PLATFORM}/PRU_RPMsg_Echo_Interrupt${i}/gen/PRU_RPMsg_Echo_Interrupt${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+}
+
+do_install:append:am64xx(){
+ for i in 0 1
+ do
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ for i in 0 1
+ do
+ for j in 0 1
+ do
+ install -m 0644 ${S}/examples/${PLATFORM}/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 0644 ${S}/examples/${PLATFORM}/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ done
+}
+
+do_install:append:am65xx() {
+ for i in 0 1
+ do
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ for i in 0 1 2
+ do
+ for j in 0 1
+ do
+ install -m 0644 ${S}/examples/am65x/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 0644 ${S}/examples/am65x/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+
+ done
+ done
+}
+
+do_install:append:j721e() {
+ for i in 0 1
+ do
+ install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ done
+ for i in 0 1
+ do
+ for j in 0 1
+ do
+ install -m 0644 ${S}/examples/j721e/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+ install -m 0644 ${S}/examples/j721e/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
+ ${D}${nonarch_base_libdir}/firmware/pru
+
+ done
+ done
+}
+
+
+FILES:${PN}-halt = "${nonarch_base_libdir}/firmware/pru/PRU_Halt* ${nonarch_base_libdir}/firmware/pru/RTU_Halt* ${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt*"
+FILES:${PN}-rpmsg-echo = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt* ${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt*"
+
+# Set up names for the firmwares
+PRU_ICSS_ALTERNATIVES:ti33x = "am335x-pru0-fw am335x-pru1-fw"
+PRU_ICSS_ALTERNATIVES:ti43x = "am437x-pru0_0-fw am437x-pru0_1-fw am437x-pru1_0-fw am437x-pru1_1-fw"
+PRU_ICSS_ALTERNATIVES:omap-a15 = "am57xx-pru1_0-fw am57xx-pru1_1-fw am57xx-pru2_0-fw am57xx-pru2_1-fw"
+PRU_ICSS_ALTERNATIVES:am62xx = "am62x-pru0-fw am62x-pru1-fw"
+PRU_ICSS_ALTERNATIVES:am64xx = "am64x-pru0_0-fw am64x-pru0_1-fw am64x-pru1_0-fw am64x-pru1_1-fw am64x-rtu0_0-fw am64x-rtu0_1-fw am64x-rtu1_0-fw am64x-rtu1_1-fw"
+PRU_ICSS_ALTERNATIVES:am65xx = "am65x-pru0_0-fw am65x-pru0_1-fw am65x-pru1_0-fw am65x-pru1_1-fw am65x-pru2_0-fw am65x-pru2_1-fw am65x-rtu0_0-fw am65x-rtu0_1-fw am65x-rtu1_0-fw am65x-rtu1_1-fw am65x-rtu2_0-fw am65x-rtu2_1-fw"
+PRU_ICSS_ALTERNATIVES:j721e = "j7-pru0_0-fw j7-pru0_1-fw j7-pru1_0-fw j7-pru1_1-fw j7-rtu0_0-fw j7-rtu0_1-fw j7-rtu1_0-fw j7-rtu1_1-fw"
+
+# Set up link names for the firmwares
+ALTERNATIVE_LINK_NAME[am335x-pru0-fw] = "${nonarch_base_libdir}/firmware/am335x-pru0-fw"
+ALTERNATIVE_LINK_NAME[am335x-pru1-fw] = "${nonarch_base_libdir}/firmware/am335x-pru1-fw"
+
+ALTERNATIVE_LINK_NAME[am437x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/am437x-pru0_0-fw"
+ALTERNATIVE_LINK_NAME[am437x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/am437x-pru0_1-fw"
+ALTERNATIVE_LINK_NAME[am437x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/am437x-pru1_0-fw"
+ALTERNATIVE_LINK_NAME[am437x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/am437x-pru1_1-fw"
+
+ALTERNATIVE_LINK_NAME[am57xx-pru1_0-fw] = "${nonarch_base_libdir}/firmware/am57xx-pru1_0-fw"
+ALTERNATIVE_LINK_NAME[am57xx-pru1_1-fw] = "${nonarch_base_libdir}/firmware/am57xx-pru1_1-fw"
+ALTERNATIVE_LINK_NAME[am57xx-pru2_0-fw] = "${nonarch_base_libdir}/firmware/am57xx-pru2_0-fw"
+ALTERNATIVE_LINK_NAME[am57xx-pru2_1-fw] = "${nonarch_base_libdir}/firmware/am57xx-pru2_1-fw"
+
+ALTERNATIVE_LINK_NAME[am62x-pru0-fw] = "${nonarch_base_libdir}/firmware/am62x-pru0-fw"
+ALTERNATIVE_LINK_NAME[am62x-pru1-fw] = "${nonarch_base_libdir}/firmware/am62x-pru1-fw"
+
+ALTERNATIVE_LINK_NAME[am64x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/am64x-pru0_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/am64x-pru0_1-fw"
+ALTERNATIVE_LINK_NAME[am64x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/am64x-pru1_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/am64x-pru1_1-fw"
+ALTERNATIVE_LINK_NAME[am64x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/am64x-rtu0_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/am64x-rtu0_1-fw"
+ALTERNATIVE_LINK_NAME[am64x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/am64x-rtu1_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/am64x-rtu1_1-fw"
+ALTERNATIVE_LINK_NAME[am64x-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/am64x-txpru0_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/am64x-txpru0_1-fw"
+ALTERNATIVE_LINK_NAME[am64x-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/am64x-txpru1_0-fw"
+ALTERNATIVE_LINK_NAME[am64x-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/am64x-txpru1_1-fw"
+
+ALTERNATIVE_LINK_NAME[am65x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/am65x-pru0_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/am65x-pru0_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/am65x-pru1_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/am65x-pru1_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-pru2_0-fw] = "${nonarch_base_libdir}/firmware/am65x-pru2_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-pru2_1-fw] = "${nonarch_base_libdir}/firmware/am65x-pru2_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu0_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu0_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu1_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu1_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu2_0-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu2_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-rtu2_1-fw] = "${nonarch_base_libdir}/firmware/am65x-rtu2_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru0_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru0_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru1_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru1_1-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru2_0-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru2_0-fw"
+ALTERNATIVE_LINK_NAME[am65x-txpru2_1-fw] = "${nonarch_base_libdir}/firmware/am65x-txpru2_1-fw"
+
+ALTERNATIVE_LINK_NAME[j7-pru0_0-fw] = "${nonarch_base_libdir}/firmware/j7-pru0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-pru0_1-fw] = "${nonarch_base_libdir}/firmware/j7-pru0_1-fw"
+ALTERNATIVE_LINK_NAME[j7-pru1_0-fw] = "${nonarch_base_libdir}/firmware/j7-pru1_0-fw"
+ALTERNATIVE_LINK_NAME[j7-pru1_1-fw] = "${nonarch_base_libdir}/firmware/j7-pru1_1-fw"
+ALTERNATIVE_LINK_NAME[j7-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/j7-rtu0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/j7-rtu0_1-fw"
+ALTERNATIVE_LINK_NAME[j7-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/j7-rtu1_0-fw"
+ALTERNATIVE_LINK_NAME[j7-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/j7-rtu1_1-fw"
+ALTERNATIVE_LINK_NAME[j7-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/j7-txpru0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/j7-txpru0_1-fw"
+ALTERNATIVE_LINK_NAME[j7-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/j7-txpru1_0-fw"
+ALTERNATIVE_LINK_NAME[j7-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/j7-txpru1_1-fw"
+
+# Create the pru-icss-halt firmware alternatives
+ALTERNATIVE:pru-icss-halt = "${PRU_ICSS_ALTERNATIVES}"
+
+# Only Halt firmware images are supported for the Tx_PRU cores
+ALTERNATIVE:pru-icss-halt:append:am64xx = " am64x-txpru0_0-fw am64x-txpru0_1-fw am64x-txpru1_0-fw am64x-txpru1_1-fw"
+ALTERNATIVE:pru-icss-halt:append:am65xx = " am65x-txpru0_0-fw am65x-txpru0_1-fw am65x-txpru1_0-fw am65x-txpru1_1-fw am65x-txpru2_0-fw am65x-txpru2_1-fw"
+ALTERNATIVE:pru-icss-halt:append:j721e = " j7-txpru0_0-fw j7-txpru0_1-fw j7-txpru1_0-fw j7-txpru1_1-fw"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am62x-pru0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am62x-pru1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
+ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
+
+
+ALTERNATIVE_PRIORITY_pru-icss-halt = "50"
+
+# Create the pru-icss-rpmsg-echo firmware alternatives
+ALTERNATIVE:pru-icss-rpmsg-echo = "${PRU_ICSS_ALTERNATIVES}"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am62x-pru0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am62x-pru1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_1.out"
+
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_0-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_1-fw] = "${nonarch_base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_0-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
+ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_1-fw] = "${nonarch_base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
+
+ALTERNATIVE_PRIORITY_pru-icss-rpmsg-echo = "100"
+
+ALLOW_EMPTY:${PN} = "1"
+
+# This installs PRU firmware, so skip "arch" QA check
+INSANE_SKIP:${PN}-halt = "arch buildpaths"
+INSANE_SKIP:${PN}-rpmsg-echo = "arch buildpaths"
diff --git a/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch
new file mode 100644
index 00000000..bb05c6fe
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch
@@ -0,0 +1,31 @@
+From 3a8fc3ccf00796254d6cef4b6d4cd70dc37012e1 Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@ti.com>
+Date: Fri, 10 Mar 2017 13:28:29 -0500
+Subject: [PATCH] Add Makefile to install firmware files
+
+Upstream-Status: Pending
+
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+---
+ Makefile | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+ create mode 100644 Makefile
+
+diff --git a/Makefile b/Makefile
+new file mode 100644
+index 0000000..1cf38e3
+--- /dev/null
++++ b/Makefile
+@@ -0,0 +1,9 @@
++# Installs the the ti-connectivity wlan firmware files into the root file system
++
++install:
++ @if [ ! -d $(DESTDIR) ] ; then \
++ echo "Target filesystem directory doesn't exist."; \
++ exit 1; \
++ fi
++ install -d $(DEST_DIR)/lib/firmware/ti-connectivity
++ cp *.bin $(DEST_DIR)/lib/firmware/ti-connectivity/
+--
+2.7.4
+
diff --git a/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb
new file mode 100644
index 00000000..dbae5a21
--- /dev/null
+++ b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Firmware files for use with TI wl18xx"
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=4977a0fe767ee17765ae63c435a32a9e"
+
+SRC_URI = " \
+ git://git.ti.com/git/wilink8-wlan/wl18xx_fw.git;protocol=https;branch=${BRANCH} \
+ file://0001-Add-Makefile-to-install-firmware-files.patch \
+"
+
+SRCREV = "5ec05007f2662f460f881c5868311fd3ab7e6e71"
+BRANCH = "master"
+
+S = "${WORKDIR}/git"
+
+CLEANBROKEN = "1"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+ oe_runmake 'DEST_DIR=${D}/usr' install
+ else
+ oe_runmake 'DEST_DIR=${D}' install
+ fi
+}
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware/ti-connectivity/*"