summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-bsp/recipes-bsp')
-rw-r--r--meta-ti-bsp/recipes-bsp/bt-fw/bt-fw_git.bb24
-rw-r--r--meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb25
-rw-r--r--meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb29
-rw-r--r--meta-ti-bsp/recipes-bsp/cmem/cmem-mod_git.bb18
-rw-r--r--meta-ti-bsp/recipes-bsp/cmem/cmem.inc16
-rw-r--r--meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb13
-rwxr-xr-xmeta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb43
-rw-r--r--meta-ti-bsp/recipes-bsp/cuia/cuia_1.0.0.13.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/dspdce-fw/dspdce-fw_git.bb65
-rw-r--r--meta-ti-bsp/recipes-bsp/dsptop/debugss-module-drv_git.bb22
-rw-r--r--meta-ti-bsp/recipes-bsp/dsptop/dsptop.inc8
-rw-r--r--meta-ti-bsp/recipes-bsp/dsptop/dsptop_git.bb27
-rw-r--r--meta-ti-bsp/recipes-bsp/dsptop/libulm_git.bb45
-rw-r--r--meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb26
-rw-r--r--meta-ti-bsp/recipes-bsp/ipumm-fw/ipumm-fw_git.bb67
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch29
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb40
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb46
-rw-r--r--meta-ti-bsp/recipes-bsp/pru/pru-icss_git.bb363
-rw-r--r--meta-ti-bsp/recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb31
-rw-r--r--meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x-sr2_git.bb34
-rw-r--r--meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x_git.bb32
-rw-r--r--meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb31
-rw-r--r--meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb31
-rw-r--r--meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb32
-rw-r--r--meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw-am65x-sr2_git.bb34
-rw-r--r--meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb31
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb20
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb20
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb24
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc35
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-sci-fw/files/0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch64
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw-source_git.bb45
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb160
-rw-r--r--meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend41
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb18
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2020.01.bb7
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2021.01.bb9
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc290
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb35
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc19
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch35
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb22
-rw-r--r--meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb36
-rw-r--r--meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb25
-rw-r--r--meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch29
-rw-r--r--meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb25
49 files changed, 2211 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-bsp/bt-fw/bt-fw_git.bb b/meta-ti-bsp/recipes-bsp/bt-fw/bt-fw_git.bb
new file mode 100644
index 00000000..ea42c168
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/bt-fw/bt-fw_git.bb
@@ -0,0 +1,24 @@
1DESCRIPTION = "Firmware files for Bluetooth"
2LICENSE = "TI-TSPA"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=f39eac9f4573be5b012e8313831e72a9"
4
5PV = "8.7.1+git${SRCPV}"
6
7CLEANBROKEN = "1"
8
9SRCREV = "0ee619b598d023fffc77679f099bc2a4815510e4"
10BRANCH = "master"
11SRC_URI = "git://git.ti.com/ti-bt/service-packs.git;branch=${BRANCH}"
12
13S = "${WORKDIR}/git"
14
15do_compile() {
16 :
17}
18
19do_install() {
20 install -d ${D}${base_libdir}/firmware/ti-connectivity
21 oe_runmake "DEST_DIR=${D}" "BASE_LIB_DIR=${base_libdir}" install
22}
23
24FILES:${PN} += "${base_libdir}/firmware/ti-connectivity/*"
diff --git a/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb b/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb
new file mode 100644
index 00000000..c975e8a4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Cadence MHDP DP bridge firmware"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5LICENSE = "BSD-3-Clause | Apache-2.0"
6LIC_FILES_CHKSUM = "file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0"
7
8PV = "${CADENCE_MHDP_FW_VERSION}"
9PR = "${INC_PR}.0"
10
11CLEANBROKEN = "1"
12
13COMPATIBLE_MACHINE = "j7"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
16
17S = "${WORKDIR}/git"
18TARGET = "mhdp8546.bin"
19
20do_install() {
21 install -d ${D}${base_libdir}/firmware/cadence
22 install -m 0644 ${S}/cadence/${TARGET} ${D}${base_libdir}/firmware/cadence/${TARGET}
23}
24
25FILES:${PN} = "${base_libdir}/firmware"
diff --git a/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb b/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb
new file mode 100644
index 00000000..bd5c3693
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb
@@ -0,0 +1,29 @@
1DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
2
3LICENSE = "TI-TSPA"
4LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
5
6PV = "1.9.2"
7PR = "r0"
8
9SRCREV = "fb484c5e54f2e31cf0a338d2927a06a2870bcc2c"
10BRANCH ?= "ti-v4.1.y"
11
12SRC_URI = "git://git.ti.com/processor-firmware/ti-amx3-cm3-pm-firmware.git;protocol=git;branch=${BRANCH}"
13
14S = "${WORKDIR}/git"
15
16do_compile() {
17 make CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${SECURITY_NOPIE_CFLAGS}"
18}
19
20do_install() {
21 install -d ${D}${base_libdir}/firmware
22 install -m 0644 bin/am335x-pm-firmware.elf ${D}${base_libdir}/firmware/
23 install -m 0644 bin/*-scale-data.bin ${D}${base_libdir}/firmware/
24}
25
26FILES:${PN} += "${base_libdir}/firmware"
27
28COMPATIBLE_MACHINE = "(ti-soc)"
29TOOLCHAIN = "gcc"
diff --git a/meta-ti-bsp/recipes-bsp/cmem/cmem-mod_git.bb b/meta-ti-bsp/recipes-bsp/cmem/cmem-mod_git.bb
new file mode 100644
index 00000000..f7965593
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cmem/cmem-mod_git.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "Kernel module for contiguous memory allocation from userspace"
2
3include cmem.inc
4
5# This package builds a kernel module, use kernel PR as base and append a local
6MACHINE_KERNEL_PR:append = "a"
7PR = "${MACHINE_KERNEL_PR}"
8
9inherit module
10
11EXTRA_OEMAKE += '-f lu.mak KERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" TOOLCHAIN_PREFIX="${TOOLCHAIN_PREFIX}" EXEC_DIR="${D}/lib/modules/${KERNEL_VERSION}/extra"'
12MAKE_TARGETS = "module"
13
14KERNEL_MODULE_AUTOLOAD += "cmemk"
15
16do_install:prepend() {
17 cp ${B}/src/cmem/module/Module.symvers ${B}/ || true
18}
diff --git a/meta-ti-bsp/recipes-bsp/cmem/cmem.inc b/meta-ti-bsp/recipes-bsp/cmem/cmem.inc
new file mode 100644
index 00000000..aaed8f06
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cmem/cmem.inc
@@ -0,0 +1,16 @@
1HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:CMEM"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://include/ti/cmem.h;beginline=1;endline=30;md5=26be509e4bb413905bda8309e338e2b1"
5
6BRANCH = "master"
7# This corresponds to version 4.20.00.01
8SRCREV = "86269258a48e0a9008dd9d5ebfae9da7ce843393"
9
10PV = "4.20.00.01+git${SRCPV}"
11
12SRC_URI = "git://git.ti.com/ipc/ludev.git;protocol=git;branch=${BRANCH}"
13
14S = "${WORKDIR}/git"
15COMPATIBLE_HOST ?= "null"
16COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb b/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb
new file mode 100644
index 00000000..f69c22fb
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb
@@ -0,0 +1,13 @@
1DESCRIPTION = "The cmem component supports contiguous memory allocation from userspace"
2
3include cmem.inc
4
5RDEPENDS:${PN} = "cmem-mod"
6
7PR = "r0"
8
9PACKAGES =+ "${PN}-test"
10
11FILES:${PN}-test = "${bindir}/*"
12
13inherit autotools
diff --git a/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb b/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb
new file mode 100755
index 00000000..ed36951f
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb
@@ -0,0 +1,43 @@
1SUMMARY = "R5 PSDK CPSW9G Ethernet Switch Firmware"
2
3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=04ad0a015d4bb63c2b9e7b112debf3db"
5
6PV = "6.2+git${SRCPV}"
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8
9inherit deploy
10inherit update-alternatives
11
12PROTOCOL = "git"
13BRANCH = "master"
14SRCREV = "91f1628507bf7f8716f0bc7cafe88ad7f14c94f5"
15
16SRC_URI = "git://git.ti.com/glsdk/ti-eth-fw.git;protocol=${PROTOCOL};branch=${BRANCH}"
17
18S = "${WORKDIR}/git"
19
20CPSW9G_FW_DIR = "${S}/ethfw"
21CPSW9G_FW_FILENAME = "app_remoteswitchcfg_server_pdk_mem_map_strip.xer5f"
22
23# make sure that lib/firmware, and all its contents are part of the package
24FILES:${PN} += "${base_libdir}/firmware"
25
26do_install() {
27 install -d ${D}${base_libdir}/firmware
28# Ethernet firmware to be loaded on Main R5 core(needs read permission)
29 install -m 0644 ${CPSW9G_FW_DIR}/${CPSW9G_FW_FILENAME} ${D}${base_libdir}/firmware
30}
31
32TARGET_MAIN_R5FSS0_0 = "j7-main-r5f0_0-fw"
33ALTERNATIVE:${PN} = "j7-main-r5f0_0-fw"
34ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
35ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${CPSW9G_FW_FILENAME}"
36ALTERNATIVE_PRIORITY = "17"
37
38INHIBIT_PACKAGE_STRIP = "1"
39INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
40INSANE_SKIP:${PN} += "arch"
41
42do_compile[noexec] = "1"
43do_configure[noexec] = "1"
diff --git a/meta-ti-bsp/recipes-bsp/cuia/cuia_1.0.0.13.bb b/meta-ti-bsp/recipes-bsp/cuia/cuia_1.0.0.13.bb
new file mode 100644
index 00000000..1cda366d
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cuia/cuia_1.0.0.13.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "TI Unified Instrumentation Architecture in C (cUIA)"
2LICENSE = "BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://cuia_${CUIA_PV}_manifest.html;md5=0eea94e3bb94de4ddee77653eba1c7c5"
4
5CUIA_PV = "1_00_00_13"
6CUIA_PVExtra = ""
7
8SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/UIA/SCMCSDK/cuia_${CUIA_PV}${CUIA_PVExtra}.tar.gz;name=cuia"
9SRC_URI[cuia.md5sum] = "ef53989ac70c191841cd656cdc8770be"
10SRC_URI[cuia.sha256sum] = "f16d138a9146fdc7d52cba77bd30596da65835f6ffe4092baf2b33d1c1a4fb0d"
11
12S = "${WORKDIR}/cuia_${CUIA_PV}${CUIA_PVExtra}"
13
14CLEANBROKEN = "1"
15
16do_compile () {
17 cd ${S}
18 oe_runmake clean
19 oe_runmake all
20}
21
22do_install() {
23 cd ${S}
24 oe_runmake DESTDIR=${D} libdir=${libdir} includedir=${includedir} install
25}
26
27COMPATIBLE_HOST ?= "null"
28COMPATIBLE_HOST:ti-soc = "(.*)"
29
30INSANE_SKIP:${PN} += "textrel installed-vs-shipped"
diff --git a/meta-ti-bsp/recipes-bsp/dspdce-fw/dspdce-fw_git.bb b/meta-ti-bsp/recipes-bsp/dspdce-fw/dspdce-fw_git.bb
new file mode 100644
index 00000000..4e863099
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/dspdce-fw/dspdce-fw_git.bb
@@ -0,0 +1,65 @@
1SUMMARY = "Firmware for DSP for an example application called copycodectest"
2LICENSE = "TI-TSPA"
3LIC_FILES_CHKSUM = "file://src/ti/framework/dce/dce.c;startline=1;endline=31;md5=2c6e9aba6ed75f22b1a2b7544b1c809d"
4
5COMPATIBLE_MACHINE = "dra7xx"
6
7inherit features_check
8
9REQUIRED_MACHINE_FEATURES = "dsp"
10
11SRC_URI = "git://git.ti.com/glsdk/dspdce.git;protocol=git"
12
13SRCREV = "de6e599f067b25c46cc0c8f74a22cc3b8aafbae8"
14
15PV = "1.00.00.07"
16
17S = "${WORKDIR}/git"
18
19require recipes-ti/includes/ti-paths.inc
20
21PR = "r4"
22inherit update-alternatives
23
24DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-ipc-rtos ti-osal ti-cgt6x-native"
25
26export HWVERSION = "ES10"
27export BIOSTOOLSROOT = "${STAGING_DIR_TARGET}/usr/share/ti"
28
29export XDCVERSION = "ti-xdctools-tree"
30export BIOSVERSION = "ti-sysbios-tree"
31export IPCVERSION = "ti-ipc-tree"
32export CEVERSION = "ti-codec-engine-tree"
33export FCVERSION = "ti-framework-components-tree"
34export XDAISVERSION = "ti-xdais-tree"
35export OSALVERSION = "ti-osal-tree"
36
37export IPCSRC = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
38export C66XCGTOOLSPATH = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
39
40do_configure() {
41 cd ${S}
42 make unconfig
43 make vayu_config
44}
45
46do_compile() {
47 cd ${S}
48 make dspbin
49}
50
51TARGET = "dra7-dsp1-fw.xe66"
52
53do_install() {
54 install -d ${D}${base_libdir}/firmware
55 install -m 0644 ${S}/dra7xx-c66x-dsp.xe66 ${D}${base_libdir}/firmware/${TARGET}.${BPN}
56}
57
58ALTERNATIVE:${PN} = "dra7-dsp1-fw.xe66"
59ALTERNATIVE_LINK_NAME[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/${TARGET}"
60ALTERNATIVE_TARGET[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/${TARGET}.${BPN}"
61ALTERNATIVE_PRIORITY = "10"
62
63INSANE_SKIP:${PN} = "arch"
64
65FILES:${PN} += "${base_libdir}/firmware/*"
diff --git a/meta-ti-bsp/recipes-bsp/dsptop/debugss-module-drv_git.bb b/meta-ti-bsp/recipes-bsp/dsptop/debugss-module-drv_git.bb
new file mode 100644
index 00000000..a250b825
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/dsptop/debugss-module-drv_git.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "Debug Sub-System (DebugSS) driver for Keystone and DRA7xx devices"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING.txt;md5=9d4316fe434ba450dca4da25348ca5a3"
4
5# This package builds a kernel module, use kernel PR as base and append a local
6MACHINE_KERNEL_PR:append = "d"
7PR = "${MACHINE_KERNEL_PR}"
8PV:append = "+git${SRCPV}"
9
10S = "${WORKDIR}/git/debugss_module/debugss-mod"
11
12inherit module
13
14PLATFORM = ""
15PLATFORM:dra7xx = "DRA7xx_PLATFORM"
16
17EXTRA_OEMAKE = "'PLATFORM=${PLATFORM}' KVERSION=${KERNEL_VERSION} KERNEL_SRC=${STAGING_KERNEL_DIR}"
18
19COMPATIBLE_MACHINE = "dra7xx"
20PACKAGE_ARCH = "${MACHINE_ARCH}"
21
22include dsptop.inc
diff --git a/meta-ti-bsp/recipes-bsp/dsptop/dsptop.inc b/meta-ti-bsp/recipes-bsp/dsptop/dsptop.inc
new file mode 100644
index 00000000..31f775e2
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/dsptop/dsptop.inc
@@ -0,0 +1,8 @@
1# This corresponds to version 1.4.0
2SRCREV = "816485e68430bbec643eac9498bfa5303eb2c2e1"
3PV = "1.4.0"
4INC_PR = "r2"
5
6SRC_URI = "git://git.ti.com/sdo-emu/dsptop.git;protocol=git;branch=${BRANCH}"
7
8BRANCH = "master"
diff --git a/meta-ti-bsp/recipes-bsp/dsptop/dsptop_git.bb b/meta-ti-bsp/recipes-bsp/dsptop/dsptop_git.bb
new file mode 100644
index 00000000..20818443
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/dsptop/dsptop_git.bb
@@ -0,0 +1,27 @@
1DESCRIPTION = "TI dsptop utility."
2LICENSE = "BSD"
3LIC_FILES_CHKSUM = "file://debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979"
4
5DEPENDS = "libulm ncurses"
6
7PR = "${INC_PR}.2"
8
9S = "${WORKDIR}/git/dsptop"
10
11DEVICE = ""
12DEVICE:dra7xx = "DRA7xx"
13
14EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}""
15
16do_install() {
17 oe_runmake install DESTDIR=${D}
18}
19
20COMPATIBLE_MACHINE = "dra7xx"
21PACKAGE_ARCH = "${MACHINE_ARCH}"
22
23RDEPENDS:${PN} = "debugss-module-drv bash"
24
25include dsptop.inc
26
27PARALLEL_MAKE = ""
diff --git a/meta-ti-bsp/recipes-bsp/dsptop/libulm_git.bb b/meta-ti-bsp/recipes-bsp/dsptop/libulm_git.bb
new file mode 100644
index 00000000..f3e7ec3c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/dsptop/libulm_git.bb
@@ -0,0 +1,45 @@
1SUMMARY = "TI Usage & Load Monitor Implementation"
2LICENSE = "BSD"
3LIC_FILES_CHKSUM = "file://../debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979"
4
5inherit features_check
6
7REQUIRED_MACHINE_FEATURES = "dsp"
8
9DEPENDS = "ti-cgt6x-native"
10PR = "${INC_PR}.0"
11
12S = "${WORKDIR}/git/dsptop/ulm"
13
14DEVICE=""
15DEVICE:dra7xx = "DRA7xx"
16
17EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX}"
18
19do_compile() {
20 oe_runmake arm XPORT_ONLY CC="${CC}"
21 oe_runmake dsp C6X_C_DIR=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x/include
22}
23
24do_install() {
25 install -d ${D}${includedir}
26 install -d ${D}${libdir}
27 install -d ${D}${datadir}/ti/ulm
28 cp -f tiulm.h ${D}${includedir}
29 cp -f release/libtiulm.a ${D}${libdir}
30 cp -f tiulm.h ${D}${datadir}/ti/ulm
31 cp -f release/libtiulm.ae66 ${D}${datadir}/ti/ulm
32}
33
34COMPATIBLE_MACHINE = "dra7xx"
35PACKAGE_ARCH = "${MACHINE_ARCH}"
36
37FILES:${PN}-dev += "\
38 ${datadir}/ti/ulm \
39"
40
41include dsptop.inc
42
43ALLOW_EMPTY:${PN} = "1"
44
45PARALLEL_MAKE= ""
diff --git a/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb b/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb
new file mode 100644
index 00000000..e815ae29
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "Kernel drivers for the Vivante GC320 chipset found in TI SoCs"
2HOMEPAGE = "https://git.ti.com/graphics/ti-gc320-driver"
3LICENSE = "MIT | GPLv2"
4LIC_FILES_CHKSUM = "file://../LICENSE;md5=78d9818a51b9a8e9bb89dea418bac297"
5
6inherit module features_check
7
8REQUIRED_MACHINE_FEATURES = "gc320"
9
10MACHINE_KERNEL_PR:append = "i"
11PR = "${MACHINE_KERNEL_PR}"
12
13# Need to branch out with ${PV} var
14BRANCH = "ti-${PV}-k5.10"
15
16SRCREV = "e2a10f31e255a65ec30a6e10b890e77d7e9cb107"
17
18SRC_URI = "git://git.ti.com/graphics/ti-gc320-driver.git;protocol=git;branch=${BRANCH}"
19
20S = "${WORKDIR}/git/src"
21
22EXTRA_OEMAKE += "-f Kbuild AQROOT=${S} KERNEL_DIR=${STAGING_KERNEL_DIR} TOOLCHAIN_PATH=${TOOLCHAIN_PATH} CROSS_COMPILE=${TARGET_PREFIX} ARCH_TYPE=${TARGET_ARCH}"
23
24do_install() {
25 install -d ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
26 install -m 644 ${S}/galcore.ko ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
27}
28
29COMPATIBLE_HOST ?= "null"
30COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb b/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb
new file mode 100644
index 00000000..1f1c2b81
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb
@@ -0,0 +1,26 @@
1DESCRIPTION = "Goodix GT9271 config firmware"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5LICENSE = "BSD-3-Clause"
6LIC_FILES_CHKSUM = "file://LICENCE.Spectrum-GT9271;md5=2a6de6be7af1fe46370c684daf27c852"
7
8PV = "${GOODIX_FW_VERSION}"
9PR = "${INC_PR}.0"
10
11CLEANBROKEN = "1"
12
13COMPATIBLE_MACHINE = "dra7xx"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
16
17S = "${WORKDIR}/git"
18ORIGIN = "DRA71x-RevA-GT9271_SpecDig_Config.bin"
19TARGET = "goodix_9271_cfg.bin"
20
21do_install() {
22 install -d ${D}${base_libdir}/firmware
23 install -m 0644 ${S}/ti-evm/${ORIGIN} ${D}${base_libdir}/firmware/${TARGET}
24}
25
26FILES:${PN} = "${base_libdir}/firmware"
diff --git a/meta-ti-bsp/recipes-bsp/ipumm-fw/ipumm-fw_git.bb b/meta-ti-bsp/recipes-bsp/ipumm-fw/ipumm-fw_git.bb
new file mode 100644
index 00000000..14d28258
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ipumm-fw/ipumm-fw_git.bb
@@ -0,0 +1,67 @@
1SUMMARY = "Firmware for IPU to suppor Accelerated MM decode and encode"
2LICENSE = "TI-TSPA"
3
4LIC_FILES_CHKSUM = "file://Texas_Instruments_ipumm_Manifest.pdf;md5=5cc572579f07af266ab57fc17d762c7f"
5
6COMPATIBLE_MACHINE = "dra7xx"
7
8inherit features_check
9
10REQUIRED_MACHINE_FEATURES = "mmip"
11
12RDEPENDS:${PN} = "libdce"
13
14SRC_URI = "git://git.ti.com/ivimm/ipumm.git;protocol=git"
15
16SRCREV = "df4c50aecc9aad7ab3eb1ca9ebacfe473fcad7c5"
17
18S = "${WORKDIR}/git"
19
20PV = "3.00.15.00"
21PR = "r7"
22
23require recipes-ti/includes/ti-paths.inc
24
25inherit update-alternatives
26
27DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-cgt-arm-native ti-ipc-rtos"
28
29export HWVERSION="ES10"
30export BIOSTOOLSROOT="${STAGING_DIR_TARGET}/usr/share/ti"
31
32export XDCVERSION="ti-xdctools-tree"
33export BIOSVERSION="ti-sysbios-tree"
34export IPCVERSION="ti-ipc-tree"
35export CEVERSION="ti-codec-engine-tree"
36export FCVERSION="ti-framework-components-tree"
37export XDAISVERSION="ti-xdais-tree"
38
39export TMS470CGTOOLPATH="${M4_TOOLCHAIN_INSTALL_DIR}"
40export IPCSRC="${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
41
42EXTRA_OEMAKE += "XDCDIST_TREE=${STAGING_DIR_NATIVE}/usr/share/ti/${XDCVERSION}"
43
44do_configure() {
45 oe_runmake unconfig
46 oe_runmake vayu_smp_config
47}
48
49do_compile() {
50 oe_runmake
51}
52
53TARGET = "dra7-ipu2-fw.xem4"
54TARGET_MAP = "platform/ti/dce/baseimage/package/cfg/out/ipu/release/ipu.xem4.map"
55
56do_install() {
57 install -d ${D}${base_libdir}/firmware
58 install -m 0644 ${S}/${TARGET} ${D}${base_libdir}/firmware/${TARGET}.${BPN}
59 install -m 0644 ${S}/${TARGET_MAP} ${D}${base_libdir}/firmware/${TARGET}.map
60}
61
62ALTERNATIVE:${PN} = "dra7-ipu2-fw.xem4"
63ALTERNATIVE_LINK_NAME[dra7-ipu2-fw.xem4] = "${base_libdir}/firmware/${TARGET}"
64ALTERNATIVE_TARGET[dra7-ipu2-fw.xem4] = "${base_libdir}/firmware/${TARGET}.${BPN}"
65ALTERNATIVE_PRIORITY = "20"
66
67FILES:${PN} += "${base_libdir}/firmware/*"
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
new file mode 100644
index 00000000..f021cc39
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
@@ -0,0 +1,29 @@
1From 80d32fee3d768abbd77cce77ea9a7574651460a9 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denis@denix.org>
3Date: Wed, 7 Jul 2021 13:11:56 -0400
4Subject: [PATCH] compiler: support OpenEmbedded "nodistro" internal aarch64
5 toolchain
6
7Upstream-Status: Pending
8
9Signed-off-by: Denys Dmytriyenko <denis@denix.org>
10---
11 build/linux/config/compiler.mk | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/build/linux/config/compiler.mk b/build/linux/config/compiler.mk
15index 53a0bef..d788579 100644
16--- a/build/linux/config/compiler.mk
17+++ b/build/linux/config/compiler.mk
18@@ -65,7 +65,7 @@ define calculate-compiler-preferred-target
19 ifneq ($$(filter i386-% i486-% i586-% i686-%,$$($(1)_compiler_preferred_target)),)
20 $(1)_compiler_preferred_target := i386-linux-gnu
21 endif
22- ifneq ($$(filter aarch64-poky-linux,$$($(1)_compiler_preferred_target)),)
23+ ifneq ($$(filter aarch64-oe-linux aarch64-poky-linux,$$($(1)_compiler_preferred_target)),)
24 $(1)_compiler_preferred_target := aarch64-linux-gnu
25 endif
26 ifneq ($$(filter armv7a-cros-linux-gnueabi armv7l-tizen-linux-gnueabi,$$($(1)_compiler_preferred_target)),)
27--
282.7.4
29
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb
new file mode 100644
index 00000000..09f6f03a
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb
@@ -0,0 +1,40 @@
1DESCRIPTION = "Kernel drivers for the PowerVR Rogue GPU found in the TI SoCs"
2HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-driver"
3LICENSE = "MIT | GPLv2"
4LIC_FILES_CHKSUM = "file://README;beginline=14;endline=19;md5=0403c7dea01a2b8232261e805325fac2"
5
6inherit module features_check
7
8REQUIRED_MACHINE_FEATURES = "gpu"
9
10MACHINE_KERNEL_PR:append = "b"
11PR = "${MACHINE_KERNEL_PR}"
12
13PACKAGE_ARCH = "${MACHINE_ARCH}"
14COMPATIBLE_MACHINE = "j7"
15
16DEPENDS = "virtual/kernel"
17
18PROVIDES = "virtual/gpudriver"
19
20BRANCH = "1.13-5776728/linux-k5.10"
21
22SRC_URI = " \
23 git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \
24 file://0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch \
25"
26
27S = "${WORKDIR}/git"
28
29SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84"
30
31PVR_SOC = "j721e_linux"
32PVR_BVNC = "22.104.208.318"
33PVR_BUILD = "release"
34PVR_WS = "wayland"
35
36EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" RGX_BVNC=${PVR_BVNC} BUILD=${PVR_BUILD} PVR_BUILD_DIR=${PVR_SOC} WINDOW_SYSTEM=${PVR_WS}'
37
38do_install() {
39 make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${PVR_SOC}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
40}
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
new file mode 100644
index 00000000..5fe6c201
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
@@ -0,0 +1,46 @@
1DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the TI SoCs"
2HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-linux"
3LICENSE = "MIT | GPLv2"
4LIC_FILES_CHKSUM = "file://eurasia_km/README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
5
6inherit module features_check
7
8REQUIRED_MACHINE_FEATURES = "gpu"
9
10COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3"
11
12MACHINE_KERNEL_PR:append = "x"
13PR = "${MACHINE_KERNEL_PR}"
14
15PACKAGE_ARCH = "${MACHINE_ARCH}"
16
17DEPENDS = "virtual/kernel"
18
19PROVIDES = "virtual/gpudriver"
20
21BRANCH = "ti-img-sgx/${PV}/k5.10"
22
23SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-linux.git;protocol=git;branch=${BRANCH}"
24
25S = "${WORKDIR}/git"
26
27SRCREV = "eda7780bfd5277e16913c9bc0b0e6892b4e79063"
28
29TARGET_PRODUCT:omap-a15 = "jacinto6evm"
30TARGET_PRODUCT:ti33x = "ti335x"
31TARGET_PRODUCT:ti43x = "ti437x"
32TARGET_PRODUCT:k3 = "ti654x"
33
34EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" TARGET_PRODUCT=${TARGET_PRODUCT} WINDOW_SYSTEM=nulldrmws'
35
36do_compile:prepend() {
37 cd ${S}/eurasia_km/eurasiacon/build/linux2/omap_linux
38}
39
40do_install() {
41 make -C ${STAGING_KERNEL_DIR} M=${B}/eurasia_km/eurasiacon/binary_omap_linux_nulldrmws_release/target_armhf/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
42}
43
44do_install:k3() {
45 make -C ${STAGING_KERNEL_DIR} M=${B}/eurasia_km/eurasiacon/binary_omap_linux_nulldrmws_release/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
46}
diff --git a/meta-ti-bsp/recipes-bsp/pru/pru-icss_git.bb b/meta-ti-bsp/recipes-bsp/pru/pru-icss_git.bb
new file mode 100644
index 00000000..779f96fd
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pru/pru-icss_git.bb
@@ -0,0 +1,363 @@
1DESCRIPTION = "Programmable Real-time Unit Software Package"
2HOMEPAGE = "http://processors.wiki.ti.com/index.php/PRU-ICSS"
3LICENSE = "BSD-3-Clause & PD"
4
5LIC_FILES_CHKSUM = "file://PRU-Package-v6.1-Manifest.html;md5=1e37797ebe9254922f4278bb6047211c"
6
7inherit update-alternatives
8
9BRANCH = "master"
10SRC_URI = "git://git.ti.com/pru-software-support-package/pru-software-support-package.git;protocol=git;branch=${BRANCH}"
11SRCREV = "8eee431384b6a1a9c96ae91a8e99485176b4d2b3"
12
13PV = "6.0.1"
14PR = "r0"
15
16require recipes-ti/includes/ti-paths.inc
17
18COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3"
19PACKAGE_ARCH = "${MACHINE_ARCH}"
20
21PACKAGES:prepend = " \
22 ${PN}-halt \
23 ${PN}-rpmsg-echo \
24"
25
26RDEPENDS:${PN}:append = " \
27 ${PN}-halt \
28 ${PN}-rpmsg-echo \
29"
30
31DEPENDS = "ti-cgt-pru-native"
32
33S = "${WORKDIR}/git"
34
35export PRU_CGT = "${TI_CGT_PRU_INSTALL_DIR}"
36export PRU_SSP = "${S}"
37
38SUBDIRS = "examples pru_cape/pru_fw lib/src labs"
39
40PLATFORM:ti33x = "am335x"
41PLATFORM:ti43x = "am437x"
42PLATFORM:omap-a15 = "am572x"
43PLATFORM:am64xx = "am64x"
44PLATFORM:am65xx = "am65x"
45PLATFORM:j7 = "j721e"
46
47do_compile() {
48 for dir in ${SUBDIRS}
49 do
50 make -C ${S}/$dir
51 done
52}
53
54do_install() {
55 CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
56 install -d ${D}${base_libdir}/firmware/pru
57 install -d ${D}${includedir}
58 cp ${CP_ARGS} ${S}/include/* ${D}${includedir}
59 install -d ${D}${libdir}
60 install -m 0644 ${S}/lib/rpmsg_lib.lib ${D}${libdir}
61}
62
63FILES:${PN}-staticdev = "${libdir}"
64FILES:${PN}-dev = "${includedir}"
65
66do_install:append:ti33x() {
67 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
68 ${D}${base_libdir}/firmware/pru
69 for i in 0 1
70 do
71 install -m 0644 ${S}/examples/am335x/PRU_RPMsg_Echo_Interrupt${i}/gen/PRU_RPMsg_Echo_Interrupt${i}.out \
72 ${D}${base_libdir}/firmware/pru
73 done
74}
75
76do_install:append:ti43x() {
77 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
78 ${D}${base_libdir}/firmware/pru
79 for i in 0 1
80 do
81 for j in 0 1
82 do
83 install -m 0644 ${S}/examples/am437x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
84 ${D}${base_libdir}/firmware/pru
85 done
86 done
87}
88
89do_install:append:omap-a15() {
90 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \
91 ${D}${base_libdir}/firmware/pru
92 for i in 1 2
93 do
94 for j in 0 1
95 do
96 install -m 0644 ${S}/examples/am572x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
97 ${D}${base_libdir}/firmware/pru
98 done
99 done
100}
101
102do_install:append:am64xx(){
103 for i in 0 1
104 do
105 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
106 ${D}${base_libdir}/firmware/pru
107 install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
108 ${D}${base_libdir}/firmware/pru
109 install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
110 ${D}${base_libdir}/firmware/pru
111 done
112 for i in 0 1
113 do
114 for j in 0 1
115 do
116 install -m 0644 ${S}/examples/${PLATFORM}/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
117 ${D}${base_libdir}/firmware/pru
118 install -m 0644 ${S}/examples/${PLATFORM}/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
119 ${D}${base_libdir}/firmware/pru
120 done
121 done
122}
123
124do_install:append:am65xx() {
125 for i in 0 1
126 do
127 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
128 ${D}${base_libdir}/firmware/pru
129 install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
130 ${D}${base_libdir}/firmware/pru
131 install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
132 ${D}${base_libdir}/firmware/pru
133 done
134 for i in 0 1 2
135 do
136 for j in 0 1
137 do
138 install -m 0644 ${S}/examples/am65x/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
139 ${D}${base_libdir}/firmware/pru
140 install -m 0644 ${S}/examples/am65x/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
141 ${D}${base_libdir}/firmware/pru
142
143 done
144 done
145}
146
147do_install:append:j7() {
148 for i in 0 1
149 do
150 install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \
151 ${D}${base_libdir}/firmware/pru
152 install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \
153 ${D}${base_libdir}/firmware/pru
154 install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \
155 ${D}${base_libdir}/firmware/pru
156 done
157 for i in 0 1
158 do
159 for j in 0 1
160 do
161 install -m 0644 ${S}/examples/j721e/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \
162 ${D}${base_libdir}/firmware/pru
163 install -m 0644 ${S}/examples/j721e/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \
164 ${D}${base_libdir}/firmware/pru
165
166 done
167 done
168}
169
170
171FILES:${PN}-halt = "${base_libdir}/firmware/pru/PRU_Halt* ${base_libdir}/firmware/pru/RTU_Halt* ${base_libdir}/firmware/pru/TX_PRU_Halt*"
172FILES:${PN}-rpmsg-echo = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt* ${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt*"
173
174# Set up names for the firmwares
175PRU_ICSS_ALTERNATIVES:ti33x = "am335x-pru0-fw am335x-pru1-fw"
176PRU_ICSS_ALTERNATIVES:ti43x = "am437x-pru0_0-fw am437x-pru0_1-fw am437x-pru1_0-fw am437x-pru1_1-fw"
177PRU_ICSS_ALTERNATIVES:omap-a15 = "am57xx-pru1_0-fw am57xx-pru1_1-fw am57xx-pru2_0-fw am57xx-pru2_1-fw"
178PRU_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"
179PRU_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"
180PRU_ICSS_ALTERNATIVES:j7 = "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"
181
182# Set up link names for the firmwares
183ALTERNATIVE_LINK_NAME[am335x-pru0-fw] = "${base_libdir}/firmware/am335x-pru0-fw"
184ALTERNATIVE_LINK_NAME[am335x-pru1-fw] = "${base_libdir}/firmware/am335x-pru1-fw"
185
186ALTERNATIVE_LINK_NAME[am437x-pru0_0-fw] = "${base_libdir}/firmware/am437x-pru0_0-fw"
187ALTERNATIVE_LINK_NAME[am437x-pru0_1-fw] = "${base_libdir}/firmware/am437x-pru0_1-fw"
188ALTERNATIVE_LINK_NAME[am437x-pru1_0-fw] = "${base_libdir}/firmware/am437x-pru1_0-fw"
189ALTERNATIVE_LINK_NAME[am437x-pru1_1-fw] = "${base_libdir}/firmware/am437x-pru1_1-fw"
190
191ALTERNATIVE_LINK_NAME[am57xx-pru1_0-fw] = "${base_libdir}/firmware/am57xx-pru1_0-fw"
192ALTERNATIVE_LINK_NAME[am57xx-pru1_1-fw] = "${base_libdir}/firmware/am57xx-pru1_1-fw"
193ALTERNATIVE_LINK_NAME[am57xx-pru2_0-fw] = "${base_libdir}/firmware/am57xx-pru2_0-fw"
194ALTERNATIVE_LINK_NAME[am57xx-pru2_1-fw] = "${base_libdir}/firmware/am57xx-pru2_1-fw"
195
196ALTERNATIVE_LINK_NAME[am64x-pru0_0-fw] = "${base_libdir}/firmware/am64x-pru0_0-fw"
197ALTERNATIVE_LINK_NAME[am64x-pru0_1-fw] = "${base_libdir}/firmware/am64x-pru0_1-fw"
198ALTERNATIVE_LINK_NAME[am64x-pru1_0-fw] = "${base_libdir}/firmware/am64x-pru1_0-fw"
199ALTERNATIVE_LINK_NAME[am64x-pru1_1-fw] = "${base_libdir}/firmware/am64x-pru1_1-fw"
200ALTERNATIVE_LINK_NAME[am64x-rtu0_0-fw] = "${base_libdir}/firmware/am64x-rtu0_0-fw"
201ALTERNATIVE_LINK_NAME[am64x-rtu0_1-fw] = "${base_libdir}/firmware/am64x-rtu0_1-fw"
202ALTERNATIVE_LINK_NAME[am64x-rtu1_0-fw] = "${base_libdir}/firmware/am64x-rtu1_0-fw"
203ALTERNATIVE_LINK_NAME[am64x-rtu1_1-fw] = "${base_libdir}/firmware/am64x-rtu1_1-fw"
204ALTERNATIVE_LINK_NAME[am64x-txpru0_0-fw] = "${base_libdir}/firmware/am64x-txpru0_0-fw"
205ALTERNATIVE_LINK_NAME[am64x-txpru0_1-fw] = "${base_libdir}/firmware/am64x-txpru0_1-fw"
206ALTERNATIVE_LINK_NAME[am64x-txpru1_0-fw] = "${base_libdir}/firmware/am64x-txpru1_0-fw"
207ALTERNATIVE_LINK_NAME[am64x-txpru1_1-fw] = "${base_libdir}/firmware/am64x-txpru1_1-fw"
208
209ALTERNATIVE_LINK_NAME[am65x-pru0_0-fw] = "${base_libdir}/firmware/am65x-pru0_0-fw"
210ALTERNATIVE_LINK_NAME[am65x-pru0_1-fw] = "${base_libdir}/firmware/am65x-pru0_1-fw"
211ALTERNATIVE_LINK_NAME[am65x-pru1_0-fw] = "${base_libdir}/firmware/am65x-pru1_0-fw"
212ALTERNATIVE_LINK_NAME[am65x-pru1_1-fw] = "${base_libdir}/firmware/am65x-pru1_1-fw"
213ALTERNATIVE_LINK_NAME[am65x-pru2_0-fw] = "${base_libdir}/firmware/am65x-pru2_0-fw"
214ALTERNATIVE_LINK_NAME[am65x-pru2_1-fw] = "${base_libdir}/firmware/am65x-pru2_1-fw"
215ALTERNATIVE_LINK_NAME[am65x-rtu0_0-fw] = "${base_libdir}/firmware/am65x-rtu0_0-fw"
216ALTERNATIVE_LINK_NAME[am65x-rtu0_1-fw] = "${base_libdir}/firmware/am65x-rtu0_1-fw"
217ALTERNATIVE_LINK_NAME[am65x-rtu1_0-fw] = "${base_libdir}/firmware/am65x-rtu1_0-fw"
218ALTERNATIVE_LINK_NAME[am65x-rtu1_1-fw] = "${base_libdir}/firmware/am65x-rtu1_1-fw"
219ALTERNATIVE_LINK_NAME[am65x-rtu2_0-fw] = "${base_libdir}/firmware/am65x-rtu2_0-fw"
220ALTERNATIVE_LINK_NAME[am65x-rtu2_1-fw] = "${base_libdir}/firmware/am65x-rtu2_1-fw"
221ALTERNATIVE_LINK_NAME[am65x-txpru0_0-fw] = "${base_libdir}/firmware/am65x-txpru0_0-fw"
222ALTERNATIVE_LINK_NAME[am65x-txpru0_1-fw] = "${base_libdir}/firmware/am65x-txpru0_1-fw"
223ALTERNATIVE_LINK_NAME[am65x-txpru1_0-fw] = "${base_libdir}/firmware/am65x-txpru1_0-fw"
224ALTERNATIVE_LINK_NAME[am65x-txpru1_1-fw] = "${base_libdir}/firmware/am65x-txpru1_1-fw"
225ALTERNATIVE_LINK_NAME[am65x-txpru2_0-fw] = "${base_libdir}/firmware/am65x-txpru2_0-fw"
226ALTERNATIVE_LINK_NAME[am65x-txpru2_1-fw] = "${base_libdir}/firmware/am65x-txpru2_1-fw"
227
228ALTERNATIVE_LINK_NAME[j7-pru0_0-fw] = "${base_libdir}/firmware/j7-pru0_0-fw"
229ALTERNATIVE_LINK_NAME[j7-pru0_1-fw] = "${base_libdir}/firmware/j7-pru0_1-fw"
230ALTERNATIVE_LINK_NAME[j7-pru1_0-fw] = "${base_libdir}/firmware/j7-pru1_0-fw"
231ALTERNATIVE_LINK_NAME[j7-pru1_1-fw] = "${base_libdir}/firmware/j7-pru1_1-fw"
232ALTERNATIVE_LINK_NAME[j7-rtu0_0-fw] = "${base_libdir}/firmware/j7-rtu0_0-fw"
233ALTERNATIVE_LINK_NAME[j7-rtu0_1-fw] = "${base_libdir}/firmware/j7-rtu0_1-fw"
234ALTERNATIVE_LINK_NAME[j7-rtu1_0-fw] = "${base_libdir}/firmware/j7-rtu1_0-fw"
235ALTERNATIVE_LINK_NAME[j7-rtu1_1-fw] = "${base_libdir}/firmware/j7-rtu1_1-fw"
236ALTERNATIVE_LINK_NAME[j7-txpru0_0-fw] = "${base_libdir}/firmware/j7-txpru0_0-fw"
237ALTERNATIVE_LINK_NAME[j7-txpru0_1-fw] = "${base_libdir}/firmware/j7-txpru0_1-fw"
238ALTERNATIVE_LINK_NAME[j7-txpru1_0-fw] = "${base_libdir}/firmware/j7-txpru1_0-fw"
239ALTERNATIVE_LINK_NAME[j7-txpru1_1-fw] = "${base_libdir}/firmware/j7-txpru1_1-fw"
240
241# Create the pru-icss-halt firmware alternatives
242ALTERNATIVE:pru-icss-halt = "${PRU_ICSS_ALTERNATIVES}"
243
244# Only Halt firmware images are supported for the Tx_PRU cores
245ALTERNATIVE:pru-icss-halt:append:am64xx = " am64x-txpru0_0-fw am64x-txpru0_1-fw am64x-txpru1_0-fw am64x-txpru1_1-fw"
246ALTERNATIVE: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"
247ALTERNATIVE:pru-icss-halt:append:j7 = " j7-txpru0_0-fw j7-txpru0_1-fw j7-txpru1_0-fw j7-txpru1_1-fw"
248
249ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
250ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
251
252ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
253ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
254ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
255ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
256
257ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
258ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
259ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
260ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out"
261
262ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
263ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
264ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
265ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
266ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
267ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
268ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
269ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
270ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
271ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
272ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
273ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
274
275ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
276ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
277ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
278ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
279ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
280ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
281ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
282ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
283ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
284ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
285ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
286ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
287ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
288ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
289ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
290ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
291ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
292ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
293
294ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
295ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
296ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out"
297ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out"
298ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
299ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
300ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out"
301ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out"
302ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
303ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
304ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out"
305ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out"
306
307
308ALTERNATIVE_PRIORITY_pru-icss-halt = "50"
309
310# Create the pru-icss-rpmsg-echo firmware alternatives
311ALTERNATIVE:pru-icss-rpmsg-echo = "${PRU_ICSS_ALTERNATIVES}"
312
313ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0.out"
314ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1.out"
315
316ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
317ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
318ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
319ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
320
321ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
322ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
323ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out"
324ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out"
325
326ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
327ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
328ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
329ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
330ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
331ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
332ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
333ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
334
335ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
336ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
337ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
338ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
339ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out"
340ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out"
341ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
342ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
343ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
344ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
345ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_0.out"
346ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_1.out"
347
348ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out"
349ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out"
350ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out"
351ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out"
352ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out"
353ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out"
354ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out"
355ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out"
356
357ALTERNATIVE_PRIORITY_pru-icss-rpmsg-echo = "100"
358
359ALLOW_EMPTY:${PN} = "1"
360
361# This installs PRU firmware, so skip "arch" QA check
362INSANE_SKIP:${PN}-halt = "arch"
363INSANE_SKIP:${PN}-rpmsg-echo = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb b/meta-ti-bsp/recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
new file mode 100644
index 00000000..98ab387c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
@@ -0,0 +1,31 @@
1DESCRIPTION = "Builds eDMA module used by eDMA libraries for PRU sw example applications"
2HOMEPAGE = "https://gforge.ti.com/gf/project/pru_sw/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://edmautils.c;beginline=1;endline=23;md5=312e9cb8a37a044c617c98a9e980ad1b"
5
6COMPATIBLE_MACHINE = "omapl138"
7
8INHIBIT_PACKAGE_STRIP = "1"
9
10MACHINE_KERNEL_PR:append = "b"
11PR = "${MACHINE_KERNEL_PR}"
12PV:append = "+svn${SRCPV}"
13
14SRC_URI = "svn://gforge.ti.com/svn/pru_sw/;module=trunk;protocol=https;user=anonymous;pswd=''"
15
16SRCREV = "33"
17
18S = "${WORKDIR}/trunk/peripheral_lib/edma_driver/module"
19
20inherit module
21
22EXTRA_OEMAKE += "KERNEL_DIR='${STAGING_KERNEL_DIR}'"
23
24do_compile:prepend () {
25 export CCTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}"
26}
27
28do_install () {
29 install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru
30 install -m 0755 ${S}/edmautils.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/
31}
diff --git a/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x-sr2_git.bb b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x-sr2_git.bb
new file mode 100644
index 00000000..e398cc80
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x-sr2_git.bb
@@ -0,0 +1,34 @@
1SUMMARY = "PRU Ethernet firmware for AM65xx SR2.0"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PV = "${PRUETH_FW_AM65X_SR2_VERSION}"
6PR = "${INC_PR}.0"
7
8CLEANBROKEN = "1"
9
10COMPATIBLE_MACHINE = "am65xx-evm|am64xx-evm"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14S = "${WORKDIR}/git"
15
16TARGET = " \
17 am65x-sr2-pru0-prueth-fw.elf \
18 am65x-sr2-pru1-prueth-fw.elf \
19 am65x-sr2-rtu0-prueth-fw.elf \
20 am65x-sr2-rtu1-prueth-fw.elf \
21 am65x-sr2-txpru0-prueth-fw.elf \
22 am65x-sr2-txpru1-prueth-fw.elf \
23"
24
25do_install() {
26 install -d ${D}${base_libdir}/firmware/ti-pruss
27 for f in ${TARGET}; do
28 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
29 done
30}
31
32FILES:${PN} = "${base_libdir}/firmware"
33
34INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x_git.bb b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x_git.bb
new file mode 100644
index 00000000..804a563f
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw-am65x_git.bb
@@ -0,0 +1,32 @@
1SUMMARY = "PRU Ethernet firmware for AM65x SR1.0"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PV = "${PRUETH_FW_AM65X_VERSION}"
6PR = "${INC_PR}.0"
7
8CLEANBROKEN = "1"
9
10COMPATIBLE_MACHINE = "am65xx"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14S = "${WORKDIR}/git"
15
16TARGET = " \
17 am65x-pru0-prueth-fw.elf \
18 am65x-pru1-prueth-fw.elf \
19 am65x-rtu0-prueth-fw.elf \
20 am65x-rtu1-prueth-fw.elf \
21"
22
23do_install() {
24 install -d ${D}${base_libdir}/firmware/ti-pruss
25 for f in ${TARGET}; do
26 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
27 done
28}
29
30FILES:${PN} = "${base_libdir}/firmware"
31
32INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb
new file mode 100644
index 00000000..4ca06be0
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb
@@ -0,0 +1,31 @@
1SUMMARY = "PRU Ethernet firmware for AM57xx, AM437x and AM335x"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PR = "${INC_PR}.0"
6
7CLEANBROKEN = "1"
8
9COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
10
11PACKAGE_ARCH = "${MACHINE_ARCH}"
12
13S = "${WORKDIR}/git"
14
15TARGET = ""
16TARGET:ti33x = "am335x-pru0-prueth-fw.elf am335x-pru1-prueth-fw.elf"
17TARGET:ti43x = "am437x-pru0-prueth-fw.elf am437x-pru1-prueth-fw.elf"
18TARGET:am57xx-evm = "am57xx-pru0-prueth-fw.elf am57xx-pru1-prueth-fw.elf"
19TARGET:am57xx-hs-evm = "am57xx-pru0-prueth-fw.elf am57xx-pru1-prueth-fw.elf"
20
21do_install() {
22 install -d ${D}${base_libdir}/firmware/ti-pruss
23 for f in ${TARGET}; do
24 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
25 done
26}
27
28
29FILES:${PN} = "${base_libdir}/firmware"
30
31INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb
new file mode 100644
index 00000000..618b1ad6
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb
@@ -0,0 +1,31 @@
1SUMMARY = "PRU HSR firmware for AM335x/AM437x/AM57xx"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PE = "1"
6PR = "${INC_PR}.0"
7
8CLEANBROKEN = "1"
9
10COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14S = "${WORKDIR}/git"
15
16TARGET = ""
17TARGET:ti33x = "am335x-pru0-pruhsr-fw.elf am335x-pru1-pruhsr-fw.elf"
18TARGET:ti43x = "am437x-pru0-pruhsr-fw.elf am437x-pru1-pruhsr-fw.elf"
19TARGET:am57xx-evm = "am57xx-pru0-pruhsr-fw.elf am57xx-pru1-pruhsr-fw.elf"
20TARGET:am57xx-hs-evm = "am57xx-pru0-pruhsr-fw.elf am57xx-pru1-pruhsr-fw.elf"
21
22do_install() {
23 install -d ${D}${base_libdir}/firmware/ti-pruss
24 for f in ${TARGET}; do
25 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
26 done
27}
28
29FILES:${PN} = "${base_libdir}/firmware"
30
31INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb b/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb
new file mode 100644
index 00000000..707640b4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb
@@ -0,0 +1,32 @@
1SUMMARY = "PRU PRP firmware for AM335x/AM437x/AM57xx"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PE = "1"
6PR = "${INC_PR}.0"
7
8CLEANBROKEN = "1"
9
10COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14S = "${WORKDIR}/git"
15
16TARGET = ""
17TARGET:ti33x = "am335x-pru0-pruprp-fw.elf am335x-pru1-pruprp-fw.elf"
18TARGET:ti43x = "am437x-pru0-pruprp-fw.elf am437x-pru1-pruprp-fw.elf"
19TARGET:am57xx-evm = "am57xx-pru0-pruprp-fw.elf am57xx-pru1-pruprp-fw.elf"
20TARGET:am57xx-hs-evm = "am57xx-pru0-pruprp-fw.elf am57xx-pru1-pruprp-fw.elf"
21
22
23do_install() {
24 install -d ${D}${base_libdir}/firmware/ti-pruss
25 for f in ${TARGET}; do
26 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
27 done
28}
29
30FILES:${PN} = "${base_libdir}/firmware"
31
32INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw-am65x-sr2_git.bb b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw-am65x-sr2_git.bb
new file mode 100644
index 00000000..2d0d3f9e
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw-am65x-sr2_git.bb
@@ -0,0 +1,34 @@
1SUMMARY = "PRU Ethernet Switch firmware for AM65xx SR2.0"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PV = "${PRUETH_FW_AM65X_SR2_VERSION}"
6PR = "${INC_PR}.0"
7
8CLEANBROKEN = "1"
9
10COMPATIBLE_MACHINE = "am65xx-evm"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14S = "${WORKDIR}/git"
15
16TARGET = " \
17 am65x-sr2-pru0-prusw-fw.elf \
18 am65x-sr2-pru1-prusw-fw.elf \
19 am65x-sr2-rtu0-prusw-fw.elf \
20 am65x-sr2-rtu1-prusw-fw.elf \
21 am65x-sr2-txpru0-prusw-fw.elf \
22 am65x-sr2-txpru1-prusw-fw.elf \
23"
24
25do_install() {
26 install -d ${D}${base_libdir}/firmware/ti-pruss
27 for f in ${TARGET}; do
28 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
29 done
30}
31
32FILES:${PN} = "${base_libdir}/firmware"
33
34INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb
new file mode 100644
index 00000000..3ded0dc4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb
@@ -0,0 +1,31 @@
1SUMMARY = "PRU Switch firmware for AM57xx, AM437x and AM335x"
2
3require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
4
5PR = "${INC_PR}.0"
6
7CLEANBROKEN = "1"
8
9COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
10
11PACKAGE_ARCH = "${MACHINE_ARCH}"
12
13S = "${WORKDIR}/git"
14
15TARGET = ""
16TARGET:ti33x = "am335x-pru0-prusw-fw.elf am335x-pru1-prusw-fw.elf"
17TARGET:ti43x = "am437x-pru0-prusw-fw.elf am437x-pru1-prusw-fw.elf"
18TARGET:am57xx-evm = "am57xx-pru0-prusw-fw.elf am57xx-pru1-prusw-fw.elf"
19TARGET:am57xx-hs-evm = "am57xx-pru0-prusw-fw.elf am57xx-pru1-prusw-fw.elf"
20
21do_install() {
22 install -d ${D}${base_libdir}/firmware/ti-pruss
23 for f in ${TARGET}; do
24 install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f
25 done
26}
27
28
29FILES:${PN} = "${base_libdir}/firmware"
30
31INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb
new file mode 100644
index 00000000..9fb473b7
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Test applications for TI DEC (v4l2 decoder for IMG D5520)"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=f17e17d664f72942124e4fcf06c178ee"
4
5DEPENDS = "libdrm ffmpeg"
6
7inherit autotools pkgconfig
8
9COMPATIBLE_MACHINE = "j7"
10
11PR = "r1"
12SRCREV = "94a80c8c090dbfdc7fafd4e5bb78c2091e715af2"
13
14EXTRA_OEMAKE = "CC="${CC}""
15TARGET_CC_ARCH += "${LDFLAGS}"
16
17BRANCH = "master"
18SRC_URI = "git://git.ti.com/jacinto7_multimedia/viddec-test-app.git;protocol=git;branch=${BRANCH}"
19
20S = "${WORKDIR}/git"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb
new file mode 100644
index 00000000..3a128b92
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Test applications for TI ENC (v4l2 encoder for IMG VXE384)"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=3545dd5bdf513840937d38c10b866605"
4
5DEPENDS = "libdrm"
6
7inherit autotools pkgconfig
8
9COMPATIBLE_MACHINE = "j7"
10
11PR = "r0"
12SRCREV = "a5e7d820bea1be24f25a8369d4d4521c784f869a"
13
14EXTRA_OEMAKE = "CC="${CC}""
15TARGET_CC_ARCH += "${LDFLAGS}"
16
17BRANCH = "master"
18SRC_URI = "git://git.ti.com/jacinto7_multimedia/videnc-test-app.git;protocol=git;branch=${BRANCH}"
19
20S = "${WORKDIR}/git"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb
new file mode 100644
index 00000000..3563cc7e
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Video Decoding Firmware"
2LICENSE = "TI-IMG"
3LIC_FILES_CHKSUM = "file://LICENSE.ti-img;md5=84ca7278930db001870686ad997d6bb1"
4
5require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
6
7PV = "${IMG_DEC_FW_VERSION}"
8PR = "${INC_PR}.0"
9
10CLEANBROKEN = "1"
11
12COMPATIBLE_MACHINE = "j7"
13
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16S = "${WORKDIR}/git"
17TARGET = "pvdec_full_bin.fw"
18
19do_install() {
20 install -d ${D}${base_libdir}/firmware
21 install -m 0644 ${S}/ti-img/${TARGET} ${D}${base_libdir}/firmware/${TARGET}
22}
23
24FILES:${PN} = "${base_libdir}/firmware"
diff --git a/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc b/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc
new file mode 100644
index 00000000..f1607686
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc
@@ -0,0 +1,35 @@
1SUMMARY = "TI SCI firmware (SYSFW)"
2
3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
5
6PV = "2021.09a"
7INC_PR = "r1"
8
9# Firmware versions
10CORESDK_RTOS_VERSION = "08.01.00.02"
11SERDES_FW_VERSION = "3.3.0.2c"
12NETCP_SA_FW_VERSION = "1.0.0"
13NETCP_PA_FW_VERSION = "3.0.2.3"
14QMSS_PDSP_FW_VERSION = "1.0.0.9"
15PRUETH_FW_AM65X_VERSION = "08.00.00.20"
16PRUETH_FW_AM65X_SR2_VERSION = "02.02.09.07"
17GOODIX_FW_VERSION = "1.0.0.0"
18CADENCE_MHDP_FW_VERSION = "1.2.17"
19IMG_DEC_FW_VERSION = "1.0"
20
21TI_LINUX_FW_SRCREV ?= "c96a734a059889e571dcf30c0638157c690a6e6e"
22SRCREV = "${TI_LINUX_FW_SRCREV}"
23
24BRANCH ?= "ti-linux-firmware"
25
26K3_IMAGE_GEN_SRCREV ?= "489c767a153ff26e9230746e04dd4b1ad0809901"
27SRCREV_imggen = "${K3_IMAGE_GEN_SRCREV}"
28SRCREV_FORMAT = "imggen"
29
30SRC_URI = " \
31 git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH} \
32 git://git.ti.com/k3-image-gen/k3-image-gen.git;protocol=git;branch=master;destsuffix=imggen;name=imggen \
33"
34
35S = "${WORKDIR}/git"
diff --git a/meta-ti-bsp/recipes-bsp/ti-sci-fw/files/0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch b/meta-ti-bsp/recipes-bsp/ti-sci-fw/files/0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch
new file mode 100644
index 00000000..196f3d3f
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-sci-fw/files/0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch
@@ -0,0 +1,64 @@
1From 2efc79702a47f9cbbeecbb2f604577f1ec8c95ba Mon Sep 17 00:00:00 2001
2From: Yogesh Siraswar <yogeshs@ti.com>
3Date: Wed, 8 Dec 2021 17:50:19 -0600
4Subject: [KIG PATCH] Makefile: Skip signing of binaries for combined boot hs
5 images
6
7Combined sysfw binaries used in tiboot.bin do not require signed images.
8This fixes issues with AM64x HS and J7200 HS boot images
9
10Upstream-Status: Submitted
11Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
12---
13 Makefile | 8 +++++++-
14 soc/am64x/Makefile | 1 +
15 soc/j7200/Makefile | 1 +
16 3 files changed, 9 insertions(+), 1 deletion(-)
17
18diff --git a/Makefile b/Makefile
19index 47b3b20..ab465df 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -215,8 +215,14 @@ $(soc_objroot)/%.o: %.c
23 $(CROSS_COMPILE)gcc $(CFLAGS) -c -o $@-pre-validated $<
24 python3 ./scripts/sysfw_boardcfg_validator.py -b $@-pre-validated -i -o $@ -s $(SOC) -l $@.log
25
26-# On HS board configuration binaries must be signed
27+# On HS board configuration binaries must be signed unless it is combined boot image
28 ifdef HS
29+ifndef COMBINED_BOOT_IMAGE
30+SIGN_BINARY=1
31+endif
32+endif
33+
34+ifdef SIGN_BINARY
35 %.bin.unsigned: %.o
36 $(CROSS_COMPILE)objcopy -S -O binary $< $@
37 %.bin: %.bin.unsigned
38diff --git a/soc/am64x/Makefile b/soc/am64x/Makefile
39index bfbe3e5..33ebbd0 100644
40--- a/soc/am64x/Makefile
41+++ b/soc/am64x/Makefile
42@@ -31,6 +31,7 @@
43 #
44
45 SBL_LOADADDDR ?= 0x70000000
46+COMBINED_BOOT_IMAGE = 1
47 COMBINED_SYSFW_BRDCFG_LOADADDR ?= 0x7b000
48 LOADADDR ?= 0x44000
49 SCIFS = sci
50diff --git a/soc/j7200/Makefile b/soc/j7200/Makefile
51index 3b754f7..0baef51 100644
52--- a/soc/j7200/Makefile
53+++ b/soc/j7200/Makefile
54@@ -31,6 +31,7 @@
55 #
56
57 SBL_LOADADDDR ?= 0x41c00000
58+COMBINED_BOOT_IMAGE = 1
59 COMBINED_TIFS_BRDCFG_LOADADDR ?= 0x7f000
60 COMBINED_DM_BRDCFG_LOADADDR ?= 0x41c80000
61 LOADADDR ?= 0x40000
62--
632.17.1
64
diff --git a/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw-source_git.bb b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw-source_git.bb
new file mode 100644
index 00000000..bab4acf0
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw-source_git.bb
@@ -0,0 +1,45 @@
1# ti-sci-fw builds and packages multiple config variants via multiconfig
2# Let's take a page from gcc-source as a common recipe for all gcc stages,
3# but also to provide a single package for MAINMACHINE of all multiconfigs
4
5require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
6
7SUMMARY += "- sources"
8
9COMPATIBLE_MACHINE = "k3"
10
11EXCLUDE_FROM_WORLD = "1"
12INHIBIT_DEFAULT_DEPS = "1"
13DEPENDS = ""
14
15PACKAGES = "${PN}"
16PACKAGE_ARCH = "${MACHINE_ARCH}"
17
18do_configure[noexec] = "1"
19do_compile[noexec] = "1"
20
21SRCIPK_SRC_DIR = "${WORKDIR}/imggen"
22SRCIPK_INSTALL_DIR = "board-support/k3-image-gen-${PV}"
23FILES:${PN} = "${SRCIPK_INSTALL_DIR}"
24
25do_install() {
26 # Copy sources for packaging
27 mkdir -p ${D}/${SRCIPK_INSTALL_DIR}
28 if [ -e ${SRCIPK_SRC_DIR} ]; then
29 if [ "${SRCIPK_SRC_DIR}" = "${WORKDIR}" ]; then
30 excludes='--exclude ./temp --exclude ${D}'
31 fi
32 tar -C ${SRCIPK_SRC_DIR} -cO $excludes . | tar -C ${D}/${SRCIPK_INSTALL_DIR} -xpf -
33 fi
34
35 # Fix up patches/ directory to contain actual patches instead of symlinks
36 if [ -e ${D}/${SRCIPK_INSTALL_DIR}/patches ]
37 then
38 mv ${D}/${SRCIPK_INSTALL_DIR}/patches ${D}/${SRCIPK_INSTALL_DIR}/patches-links
39 cp -rL ${D}/${SRCIPK_INSTALL_DIR}/patches-links ${D}/${SRCIPK_INSTALL_DIR}/patches
40 rm -rf ${D}/${SRCIPK_INSTALL_DIR}/patches-links
41 fi
42}
43
44# Do not perform any QA checks on source package
45INSANE_SKIP:${PN} += "${ALL_QA}"
diff --git a/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
new file mode 100644
index 00000000..2dad0fe0
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
@@ -0,0 +1,160 @@
1require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
2
3DEPENDS = "openssl-native u-boot-mkimage-native dtc-native"
4DEPENDS:append:j7200-evm-k3r5 = " virtual/bootloader"
5DEPENDS:append:j7200-hs-evm-k3r5 = " virtual/bootloader"
6DEPENDS:append:am64xx-evm-k3r5 = " virtual/bootloader"
7DEPENDS:append:am64xx-hs-evm-k3r5 = " virtual/bootloader"
8
9CLEANBROKEN = "1"
10PR = "${INC_PR}.1"
11
12# Loaded by R5F core
13COMPATIBLE_MACHINE = "k3r5"
14COMPATIBLE_MACHINE:aarch64 = "null"
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
17
18TI_SECURE_DEV_PKG ?= ""
19export TI_SECURE_DEV_PKG
20
21SYSFW_SOC ?= "unknown"
22SYSFW_CONFIG ?= "unknown"
23
24SYSFW_PREFIX = "ti-sci-firmware"
25SYSFW_PREFIX:j7-evm-k3r5 = "ti-fs-firmware"
26SYSFW_PREFIX:j7200-evm-k3r5 = "ti-fs-firmware"
27SYSFW_PREFIX:j7-hs-evm-k3r5 = "ti-fs-firmware"
28SYSFW_PREFIX:j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware"
29SYSFW_PREFIX:j7200-hs-evm-k3r5 = "ti-fs-firmware"
30
31SYSFW_SUFFIX ?= "unknown"
32
33SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}"
34SYSFW_BASE:append = "${@['','*']['${SYSFW_SUFFIX}' == 'hs']}"
35
36SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}.bin"
37
38SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
39SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
40SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
41SYSFW_SYMLINK ?= "sysfw.itb"
42
43CFLAGS[unexport] = "1"
44LDFLAGS[unexport] = "1"
45AS[unexport] = "1"
46LD[unexport] = "1"
47
48do_configure[noexec] = "1"
49
50SRC_URI:append:j7200-hs-evm-k3r5 = " \
51 file://0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch;patchdir=../imggen"
52SRC_URI:append:am64xx-hs-evm-k3r5 = " \
53 file://0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch;patchdir=../imggen"
54
55EXTRA_OEMAKE = "\
56 CROSS_COMPILE=${TARGET_PREFIX} SYSFW_DL_URL='' SYSFW_HS_DL_URL='' SYSFW_HS_INNER_CERT_DL_URL='' \
57 SYSFW_PATH="${SYSFW_TISCI}" SOC=${SYSFW_SOC} CONFIG=${SYSFW_CONFIG} \
58"
59EXTRA_OEMAKE_HS = " \
60 HS=1 SW_REV=1 SYSFW_HS_PATH="${S}/ti-sysfw/${SYSFW_BASE}-enc.bin" SYSFW_HS_INNER_CERT_PATH="${S}/ti-sysfw/${SYSFW_BASE}-cert.bin" \
61"
62EXTRA_OEMAKE:append = "${@['',' ${EXTRA_OEMAKE_HS}']['${SYSFW_SUFFIX}' == 'hs']}"
63
64EXTRA_OEMAKE:append:j7200-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
65EXTRA_OEMAKE:append:j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
66EXTRA_OEMAKE:append:am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
67EXTRA_OEMAKE:append:am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
68
69do_compile() {
70 cd ${WORKDIR}/imggen/
71 oe_runmake
72}
73
74do_install() {
75 install -d ${D}/boot
76 install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${D}/boot/${SYSFW_VBINARY}
77 ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_IMAGE}
78 if [ ! -z "${SYSFW_SYMLINK}" ]; then
79 ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_SYMLINK}
80 fi
81}
82
83FILES:${PN} = "/boot"
84
85inherit deploy
86
87do_deploy () {
88 install -d ${DEPLOYDIR}
89 install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${DEPLOYDIR}/${SYSFW_VBINARY}
90 rm -f ${DEPLOYDIR}/${SYSFW_IMAGE}
91 ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_IMAGE}
92 if [ ! -z "${SYSFW_SYMLINK}" ]; then
93 rm -f ${DEPLOYDIR}/${SYSFW_SYMLINK}
94 ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_SYMLINK}
95 fi
96
97 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
98}
99
100do_install:j7200-evm-k3r5() {
101 install -d ${D}/boot
102 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
103 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
104 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
105}
106
107do_deploy:j7200-evm-k3r5() {
108 install -d ${DEPLOYDIR}
109 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
110 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
111 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
112 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
113}
114
115do_install:j7200-hs-evm-k3r5() {
116 install -d ${D}/boot
117 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
118 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
119 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
120}
121
122do_deploy:j7200-hs-evm-k3r5() {
123 install -d ${DEPLOYDIR}
124 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
125 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
126 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
127 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
128}
129
130do_install:am64xx-evm-k3r5() {
131 install -d ${D}/boot
132 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
133 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
134 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
135}
136
137do_deploy:am64xx-evm-k3r5() {
138 install -d ${DEPLOYDIR}
139 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
140 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
141 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
142 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
143}
144
145do_install:am64xx-hs-evm-k3r5() {
146 install -d ${D}/boot
147 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
148 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
149 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
150}
151
152do_deploy:am64xx-hs-evm-k3r5() {
153 install -d ${DEPLOYDIR}
154 install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
155 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
156 ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
157 install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
158}
159
160addtask deploy before do_build after do_compile
diff --git a/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
new file mode 100644
index 00000000..8fe7c08e
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
@@ -0,0 +1,41 @@
1PV:k3 = "2.5"
2LIC_FILES_CHKSUM:k3 = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
3BRANCH:k3 = "ti-atf"
4SRC_URI:k3 = "git://git.ti.com/atf/arm-trusted-firmware.git;branch=${BRANCH};name=tfa"
5SRCREV_tfa:k3 = "0693f356eb2a25adf8758d98058120bed082cc73"
6COMPATIBLE_MACHINE:k3 = "k3"
7TFA_BUILD_TARGET:k3 = "all"
8TFA_INSTALL_TARGET:k3 = "bl31"
9TFA_SPD:k3 = "opteed"
10
11do_compile:append:am65xx-hs-evm() {
12 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
13 ( cd ${BUILD_DIR}; \
14 mv bl31.bin bl31.bin.unsigned; \
15 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \
16 )
17}
18
19do_compile:append:am64xx-hs-evm() {
20 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
21 ( cd ${BUILD_DIR}; \
22 mv bl31.bin bl31.bin.unsigned; \
23 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \
24 )
25}
26
27do_compile:append:j7-hs-evm() {
28 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
29 ( cd ${BUILD_DIR}; \
30 mv bl31.bin bl31.bin.unsigned; \
31 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \
32 )
33}
34
35do_compile:append:j7200-hs-evm() {
36 export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
37 ( cd ${BUILD_DIR}; \
38 mv bl31.bin bl31.bin.unsigned; \
39 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \
40 )
41}
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb
new file mode 100644
index 00000000..76aaa4b2
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb
@@ -0,0 +1,18 @@
1require u-boot-ti.inc
2
3LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
4
5PR = "r0"
6
7PV = "2021.10"
8
9# For the un-initiated:
10# The actual URL you'd use with a git clone for example would be:
11# https://source.denx.de/u-boot/u-boot.git/
12# However, in the context of OE, we have to explicitly split things up:
13# a) we want it to use git fetcher - hence git:// prefix in GIT_URI (if we
14# used https here, we'd endup attempting wget instead of git)
15# b) and we want git fetcher to use https protocol, hence GIT_PROTOCOL as https
16UBOOT_GIT_URI = "git://source.denx.de/u-boot/u-boot.git"
17UBOOT_GIT_PROTOCOL = "https"
18SRCREV = "d80bb749fab53da72c4a0e09b8c2d2aaa3103c91"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2020.01.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2020.01.bb
new file mode 100644
index 00000000..e1bdae46
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2020.01.bb
@@ -0,0 +1,7 @@
1require u-boot-ti.inc
2
3PR = "r36"
4
5BRANCH = "ti-u-boot-2020.01"
6
7SRCREV = "2781231a33c3d779e32445f4fe55164c45d6d7c1"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2021.01.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2021.01.bb
new file mode 100644
index 00000000..d304df87
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2021.01.bb
@@ -0,0 +1,9 @@
1require u-boot-ti.inc
2
3LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
4
5PR = "r16"
6
7BRANCH = "ti-u-boot-2021.01"
8
9SRCREV = "15769936a559b1840f50b83f94ee0c636b245001"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
new file mode 100644
index 00000000..4b9f543c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
@@ -0,0 +1,290 @@
1# UBOOT_LOCALVERSION can be set to add a tag to the end of the
2# U-boot version string. such as the commit id
3def get_git_revision(p):
4 import subprocess
5
6 try:
7 return subprocess.Popen("git rev-parse HEAD 2>/dev/null ", cwd=p, shell=True, stdout=subprocess.PIPE, universal_newlines=True).communicate()[0].rstrip()
8 except OSError:
9 return None
10
11UBOOT_LOCALVERSION = "-g${@get_git_revision('${S}').__str__()[:10]}"
12
13UBOOT_SUFFIX ?= "img"
14SPL_BINARY ?= "MLO"
15
16require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot-common.inc
17require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
18
19FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot:"
20
21SUMMARY = "u-boot bootloader for TI devices"
22
23LICENSE = "GPLv2+"
24LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
25
26BRANCH ?= "master"
27UBOOT_GIT_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git"
28UBOOT_GIT_PROTOCOL = "git"
29SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};branch=${BRANCH}"
30
31PV:append = "+git${SRCPV}"
32
33# u-boot needs devtree compiler to parse dts files
34DEPENDS += "dtc-native bc-native lzop-native flex-native bison-native"
35
36DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
37
38PACKAGECONFIG[atf] = "ATF=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
39PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os"
40PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-ipc/${DM_FIRMWARE},,ti-rtos-firmware"
41
42PACKAGECONFIG:append:aarch64 = " atf optee"
43PACKAGECONFIG:append:j7 = " dm"
44
45COMPATIBLE_MACHINE = "(ti-soc)"
46
47EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
48
49PROVIDES += "u-boot"
50PKG:${PN} = "u-boot"
51PKG:${PN}-dev = "u-boot-dev"
52PKG:${PN}-dbg = "u-boot-dbg"
53
54S = "${WORKDIR}/git"
55
56# Support for secure devices - detailed info is in doc/README.ti-secure
57TI_SECURE_DEV_PKG ?= ""
58export TI_SECURE_DEV_PKG
59
60SYSROOT_DIRS += "/boot"
61
62# SPL (Second Program Loader) to be loaded over UART
63SPL_UART_BINARY = "u-boot-spl.bin"
64SPL_UART_BINARY:k3r5 = ""
65SPL_UART_BINARY:lego-ev3 = ""
66SPL_UART_BINARY:j7200-evm-k3r5 = "u-boot-spl.bin"
67SPL_UART_BINARY:j7200-hs-evm-k3r5 = "u-boot-spl.bin"
68SPL_UART_BINARY:am64xx-evm-k3r5 = "u-boot-spl.bin"
69SPL_UART_BINARY:am64xx-hs-evm-k3r5 = "u-boot-spl.bin"
70
71SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
72SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
73
74# SPI NOR Flash binaries
75UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin"
76UBOOT_SPI_BINARY = "u-boot.img"
77UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph"
78
79# SPI NOR Flash deployed images
80UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin"
81UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin"
82UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
83UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img"
84UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph"
85UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph"
86
87# HS XLD
88UBOOT_HS_XLD_BINARY = "u-boot-spl_HS_X-LOADER"
89UBOOT_HS_XLD_IMAGE = "u-boot-spl_HS_X-LOADER-${MACHINE}-${PV}-${PR}"
90UBOOT_HS_XLD_SYMLINK = "u-boot-spl_HS_X-LOADER-${MACHINE}"
91
92# HS MLO
93UBOOT_HS_MLO_BINARY = "u-boot_HS_MLO"
94UBOOT_HS_MLO_IMAGE = "u-boot_HS_MLO-${MACHINE}-${PV}-${PR}"
95UBOOT_HS_MLO_SYMLINK = "u-boot_HS_MLO-${MACHINE}"
96
97# HS ISSW
98UBOOT_HS_ISSW_BINARY = "u-boot-spl_HS_ISSW"
99UBOOT_HS_ISSW_IMAGE = "u-boot-spl_HS_ISSW-${MACHINE}-${PV}-${PR}"
100UBOOT_HS_ISSW_SYMLINK = "u-boot-spl_HS_ISSW-${MACHINE}"
101
102# HS 2ND
103UBOOT_HS_2ND_BINARY = "u-boot-spl_HS_2ND"
104UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
105UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
106
107do_install:append () {
108 if [ -n "${UBOOT_CONFIG}" ]
109 then
110 for config in ${UBOOT_MACHINE}; do
111 i=$(expr $i + 1);
112 for type in ${UBOOT_CONFIG}; do
113 j=$(expr $j + 1);
114 if [ $j -eq $i ]
115 then
116 if [ "x${SPL_UART_BINARY}" != "x" ]; then
117 install ${B}/${config}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}-${type}
118 ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}-${type}
119 ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}
120 fi
121 if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
122 install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}-${type}
123 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}-${type}
124 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}
125 fi
126 if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
127 install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}-${type}
128 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}-${type}
129 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}
130 fi
131 if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
132 install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}-${type}
133 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}-${type}
134 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
135 fi
136 if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
137 install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}-${type}
138 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}-${type}
139 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}
140 fi
141 fi
142 done
143 unset j
144 done
145 unset i
146 else
147 if [ "x${SPL_UART_BINARY}" != "x" ]; then
148 install ${B}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
149 ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
150 fi
151 if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
152 install ${B}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}
153 ln -sf ${UBOOT_HS_XLD_IMAGE} ${D}/boot/${UBOOT_HS_XLD_BINARY}
154 fi
155 if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
156 install ${B}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}
157 ln -sf ${UBOOT_HS_MLO_IMAGE} ${D}/boot/${UBOOT_HS_MLO_BINARY}
158 fi
159 if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
160 install ${B}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}
161 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
162 fi
163 if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
164 install ${B}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}
165 ln -sf ${UBOOT_HS_2ND_IMAGE} ${D}/boot/${UBOOT_HS_2ND_BINARY}
166 fi
167 fi
168}
169
170do_deploy:append () {
171 if [ -n "${UBOOT_CONFIG}" ]
172 then
173 for config in ${UBOOT_MACHINE}; do
174 i=$(expr $i + 1);
175 for type in ${UBOOT_CONFIG}; do
176 j=$(expr $j + 1);
177 if [ $j -eq $i ]
178 then
179 cd ${DEPLOYDIR}
180 if [ "x${SPL_UART_BINARY}" != "x" ]; then
181 install ${B}/${config}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}-${type}
182 rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
183 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY}-${type}
184 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY}
185 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK}-${type}
186 ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
187 fi
188 if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
189 install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE}-${type}
190 rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
191 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}-${type}
192 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}
193 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}-${type}
194 ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}
195 fi
196 if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
197 install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE}-${type}
198 rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
199 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}-${type}
200 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}
201 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}-${type}
202 ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}
203 fi
204 if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
205 install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE}-${type}
206 rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
207 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}-${type}
208 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}
209 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}-${type}
210 ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}
211 fi
212 if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
213 install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE}-${type}
214 rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
215 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}-${type}
216 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}
217 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}-${type}
218 ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}
219 fi
220 fi
221 done
222 unset j
223 done
224 unset i
225 else
226 cd ${DEPLOYDIR}
227 if [ "x${SPL_UART_BINARY}" != "x" ]; then
228 install ${B}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}
229 rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
230 ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY}
231 ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
232 fi
233 if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
234 install ${B}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE}
235 rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
236 ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_SYMLINK}
237 ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_BINARY}
238 fi
239 if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
240 install ${B}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE}
241 rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
242 ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_SYMLINK}
243 ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_BINARY}
244 fi
245 if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
246 install ${B}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE}
247 rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
248 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_SYMLINK}
249 ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_BINARY}
250 fi
251 if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
252 install ${B}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE}
253 rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
254 ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_SYMLINK}
255 ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_BINARY}
256 fi
257 fi
258
259 rm ${DEPLOYDIR}/u-boot-initial-env || true
260 rm ${DEPLOYDIR}/${PN}-initial-env || true
261 rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE} || true
262 rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE} || true
263 rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR} || true
264 rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR} || true
265}
266
267# j7200 uses combined image for tiboot3.bin that includes u-boot-spl.bin and sysfw
268# along with board PM/RM configs generated by k3-image-gen and comes from ti-sci-fw
269# hence move the legacy u-boot's tiboot3.bin and u-boot-spl.bin out of the way
270do_deploy:append:j7200-evm-k3r5 () {
271 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
272 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
273}
274
275do_deploy:append:j7200-hs-evm-k3r5 () {
276 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
277 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
278}
279
280do_deploy:append:am64xx-evm-k3r5 () {
281 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
282 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
283}
284
285do_deploy:append:am64xx-hs-evm-k3r5 () {
286 mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
287 mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
288}
289
290TOOLCHAIN = "gcc"
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
new file mode 100644
index 00000000..dc17a1e9
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
@@ -0,0 +1,35 @@
1DESCRIPTION = "Test code for user space IO (UIO) driver"
2
3include uio-module-drv.inc
4
5PR = "r1"
6
7COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x"
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10DEVICE_NAME:omap-a15 = "am57xx"
11DEVICE_NAME:ti33x = "am33xx"
12DEVICE_NAME:ti43x = "am43xx"
13RDEPENDS:${PN} = "uio-module-drv"
14
15do_compile() {
16 oe_runmake -C ${S} test "DEVICE=${DEVICE_NAME}"
17}
18
19do_install() {
20 install -d ${D}${bindir}/
21 install -c -m 755 ${S}/test/uio_mem_test ${D}${bindir}/.
22 install -c -m 755 ${S}/test/uio_int_test ${D}${bindir}/.
23}
24
25do_install:append:omap-a15 () {
26 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
27}
28
29do_install:append:ti33x () {
30 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
31}
32
33do_install:append:ti43x () {
34 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
35}
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc
new file mode 100644
index 00000000..8081d021
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc
@@ -0,0 +1,19 @@
1LICENSE = "BSD"
2LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2b7c96eb2aed7b0f6f922214dbde9016"
3
4BRANCH = "master"
5# This corresponds to version 02.02.01.00
6UIO_MODULE_DRV_SRCREV = "bda9260f2220840a60ec0fbc8011cbadf3cf1b91"
7
8PV = "2.2.1.0+git${SRCPV}"
9
10UIO_MODULE_DRV_GIT_URI = "git://git.ti.com/keystone-linux/uio-module-drv.git"
11UIO_MODULE_DRV_GIT_PROTOCOL = "git"
12SRC_URI = "${UIO_MODULE_DRV_GIT_URI};protocol=${UIO_MODULE_DRV_GIT_PROTOCOL};branch=${BRANCH}"
13
14SRCREV = "${UIO_MODULE_DRV_SRCREV}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_HOST ?= "null"
19COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch
new file mode 100644
index 00000000..955ef558
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch
@@ -0,0 +1,35 @@
1From b5c4036dac06817bffd0be21c5fa1b7f75f74e4b Mon Sep 17 00:00:00 2001
2From: Suman Anna <s-anna@ti.com>
3Date: Mon, 19 Apr 2021 13:15:51 -0500
4Subject: [PATCH] uio-module-drv: Replace ioremap_nocache with ioremap
5
6The ioremap_nocache is the same as the regular ioremap and its
7definition has been dropped from the Linux kernel v5.6 onwards in
8commit 4bdc0d676a64 ("remove ioremap_nocache and devm_ioremap_nocache")
9[1]. The uio-module-drv module fails to build against these newer
10kernels, so fix it by simply replacing ioremap_nocache with ioremap.
11
12[1]
13https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4bdc0d676a643140bdf17dbf7eafedee3d496a3c
14
15Signed-off-by: Suman Anna <s-anna@ti.com>
16---
17 uio_module_drv.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/uio_module_drv.c b/uio_module_drv.c
21index 5a67dd199e21..7cc6005d1f05 100644
22--- a/uio_module_drv.c
23+++ b/uio_module_drv.c
24@@ -240,7 +240,7 @@ static ssize_t uio_module_drv_transfer(struct file *file, char __user *buf,
25 return -EINVAL;
26 }
27
28- virt_addr_p = ioremap_nocache(phys_addr, count);
29+ virt_addr_p = ioremap(phys_addr, count);
30 if (!virt_addr_p) {
31 dev_err(uio_module_drv->dev, "Mapping of virtual memory failed\n");
32 return(-ENOMEM);
33--
342.30.1
35
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb
new file mode 100644
index 00000000..2bb1f0b3
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "User space IO (UIO) driver for on-chip modules"
2
3include uio-module-drv.inc
4
5FILESEXTRAPATHS:prepend:= "${THISDIR}/${PN}:"
6
7SRC_URI += "file://0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch"
8
9# This package builds a kernel module, use kernel PR as base and append a local
10MACHINE_KERNEL_PR:append = "d"
11PR = "${MACHINE_KERNEL_PR}"
12
13module_auto_load_uio-module-drv = "uio-module-drv"
14
15inherit module
16
17do_install:append () {
18 install -d ${D}${includedir}
19 cp *.h ${D}${includedir}
20}
21
22KERNEL_MODULE_AUTOLOAD += "uio_module_drv"
diff --git a/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb b/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb
new file mode 100644
index 00000000..498be36b
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb
@@ -0,0 +1,36 @@
1DESCRIPTION = "Radio Application Firmware"
2LICENSE = "TI-TSPA"
3LIC_FILES_CHKSUM = "file://${S}/J6_VIS_DEMO_LINUX_BINARY_01.50.07.15-Manifest.html;md5=a59aa54b9470f555cf086b91dca0afa3"
4
5COMPATIBLE_MACHINE = "dra7xx"
6PACKAGE_ARCH = "${MACHINE_ARCH}"
7
8PR = "r1"
9
10SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/vis/01_50_07_15/exports/vis-dra7xx-evm-01.50.07.15.tar.gz;protocol=http"
11
12SRC_URI[md5sum] = "fe8b00e398fb3b7ada0c15b601867acb"
13SRC_URI[sha256sum] = "6e2aa47ae892910616ebdc96646af778af9a59ca0657716ab4fa4b24a9afae69"
14
15S = "${WORKDIR}"
16
17DSPAPP = "dra7-dsp1-fw-radio.xe66"
18GPPAPP = "RadioApp"
19
20do_install() {
21 install -d ${D}${base_libdir}/firmware
22 install -d ${D}${bindir}
23 install ${S}/prebuilt/${DSPAPP} ${D}${base_libdir}/firmware/${DSPAPP}
24 install -m 0755 ${S}/prebuilt/${GPPAPP} ${D}${bindir}/${GPPAPP}
25}
26
27PACKAGES += "${PN}-fw"
28RDEPENDS:${PN} += "${PN}-fw"
29
30FILES:${PN}-fw += "${base_libdir}/firmware/${DSPAPP}"
31
32INSANE_SKIP:${PN} = "ldflags"
33INSANE_SKIP:${PN}-fw = "arch"
34INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
35INHIBIT_PACKAGE_STRIP = "1"
36INHIBIT_SYSROOT_STRIP = "1"
diff --git a/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb b/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb
new file mode 100644
index 00000000..c7b2a7bb
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb
@@ -0,0 +1,25 @@
1DESCRIPTION = "VPDMA firmware for Video Input Port and Video Processing Engine"
2
3LICENSE = "TI-TSPA"
4LIC_FILES_CHKSUM = "file://COPYING;md5=fd463c9500441ed91d07a0331baa635c"
5
6COMPATIBLE_MACHINE = "dra7xx"
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8
9DEPENDS += "virtual/kernel"
10
11SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/vpdma-fw/03-2012/exports/vpdma-fw_03-2012.tar.gz;protocol=http;name=dra7xx-evm"
12SRC_URI[dra7xx-evm.md5sum] = "80176df1350c21d9efa90171789c546e"
13SRC_URI[dra7xx-evm.sha256sum] = "a0b254ffd0c7f481cb3989e632088f5e4a233c73a1c676faa3061721ea60dc90"
14
15S = "${WORKDIR}/vpdma-fw-${PV}"
16TARGET = "vpdma-1b8.bin"
17
18do_install() {
19 mkdir -p ${D}${base_libdir}/firmware
20 cp ${S}/${TARGET} ${D}${base_libdir}/firmware/${TARGET}
21}
22
23FILES:${PN} += "${base_libdir}/firmware/${TARGET}"
24
25PR = "r1"
diff --git a/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb b/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb
new file mode 100644
index 00000000..92c425b1
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "VPE test program"
2
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=74d2f71d8898c54e3d1c9d0058c484aa"
5
6DEPENDS = "virtual/kernel vpdma-fw"
7
8PR = "r3"
9
10COMPATIBLE_MACHINE = "dra7xx"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14SRCREV = "e3d8db1aa935775f9d196ad7428e0cd9864a36ca"
15BRANCH ?= "master"
16
17SRC_URI = "git://git.ti.com/vpe_tests/vpe_tests.git;protocol=git;branch=${BRANCH}"
18
19S = "${WORKDIR}/git"
20
21FLOATABI = "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
22
23# The test application needs additional include headers from the kernel
24EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${FLOATABI}" KDIR="${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"'
25
26do_install() {
27 oe_runmake DESTDIR="${D}" install
28 rm -rf ${D}${base_libdir}/firmware/vpdma-*.bin
29 rmdir -p ${D}${base_libdir}/firmware || true
30}
diff --git a/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch b/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch
new file mode 100644
index 00000000..a8db0770
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw/0001-Add-Makefile-to-install-firmware-files.patch
@@ -0,0 +1,29 @@
1From 3a8fc3ccf00796254d6cef4b6d4cd70dc37012e1 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com>
3Date: Fri, 10 Mar 2017 13:28:29 -0500
4Subject: [PATCH] Add Makefile to install firmware files
5
6Signed-off-by: Denys Dmytriyenko <denys@ti.com>
7---
8 Makefile | 9 +++++++++
9 1 file changed, 9 insertions(+)
10 create mode 100644 Makefile
11
12diff --git a/Makefile b/Makefile
13new file mode 100644
14index 0000000..1cf38e3
15--- /dev/null
16+++ b/Makefile
17@@ -0,0 +1,9 @@
18+# Installs the the ti-connectivity wlan firmware files into the root file system
19+
20+install:
21+ @if [ ! -d $(DESTDIR) ] ; then \
22+ echo "Target filesystem directory doesn't exist."; \
23+ exit 1; \
24+ fi
25+ install -d $(DEST_DIR)/lib/firmware/ti-connectivity
26+ cp *.bin $(DEST_DIR)/lib/firmware/ti-connectivity/
27--
282.7.4
29
diff --git a/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb b/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb
new file mode 100644
index 00000000..48b500a8
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb
@@ -0,0 +1,25 @@
1DESCRIPTION = "Firmware files for use with TI wl18xx"
2LICENSE = "TI-TSPA"
3LIC_FILES_CHKSUM = "file://LICENCE;md5=4977a0fe767ee17765ae63c435a32a9e"
4
5SRC_URI = " \
6 git://git.ti.com/wilink8-wlan/wl18xx_fw.git;protocol=git;branch=${BRANCH} \
7 file://0001-Add-Makefile-to-install-firmware-files.patch \
8"
9
10SRCREV = "5ec05007f2662f460f881c5868311fd3ab7e6e71"
11BRANCH = "master"
12
13S = "${WORKDIR}/git"
14
15CLEANBROKEN = "1"
16
17do_compile() {
18 :
19}
20
21do_install() {
22 oe_runmake 'DEST_DIR=${D}' install
23}
24
25FILES:${PN} = "/lib/firmware/ti-connectivity/*"