diff options
Diffstat (limited to 'meta-ti-bsp')
275 files changed, 8874 insertions, 0 deletions
diff --git a/meta-ti-bsp/COPYING.MIT b/meta-ti-bsp/COPYING.MIT new file mode 100644 index 00000000..fb950dc6 --- /dev/null +++ b/meta-ti-bsp/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-ti-bsp/README b/meta-ti-bsp/README new file mode 100644 index 00000000..d832609a --- /dev/null +++ b/meta-ti-bsp/README @@ -0,0 +1,33 @@ +The official OpenEmbedded/Yocto BSP layer for Texas Instruments platforms. + +It is hosted on http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ with the +source repository at git://git.yoctoproject.org/meta-ti + + +This layer depends on: + +URI: git://git.openembedded.org/openembedded-core +layers: meta +branch: master + +URI: git://git.yoctoproject.org/meta-arm +layers: meta-arm +branch: master + + +The base BSP part of meta-ti should work with different OpenEmbedded/Yocto +distributions and layer stacks, such as: +distro-less (only with OE-Core), with Yocto/Poky, with Angstrom or Arago. + +Please follow the recommended setup procedures of your OE distribution. + + +Send pull requests, patches, comments or questions to: +meta-ti@lists.yoctoproject.org + +Please note - meta-ti mailing list requires subscription for posting: +https://lists.yoctoproject.org/g/meta-ti + +Maintainers: +Praneeth Bajjuri <praneeth@ti.com> +Denys Dmytriyenko <denys@konsulko.com> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf new file mode 100644 index 00000000..309e3d2b --- /dev/null +++ b/meta-ti-bsp/conf/layer.conf @@ -0,0 +1,26 @@ +# We have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" +METATIBASE := '${@os.path.normpath("${LAYERDIR}/")}' + +# We have a recipes directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-ti-bsp" +BBFILE_PATTERN_meta-ti-bsp := "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-ti-bsp = "6" + +LAYERSERIES_COMPAT_meta-ti-bsp = "honister" + +LICENSE_PATH += "${LAYERDIR}/licenses" + +LAYERDEPENDS_meta-ti-bsp = " \ + core \ + meta-arm \ +" + +SIGGEN_EXCLUDERECIPES_ABISAFE += " \ + ti-sgx-ddk-km \ + ti-sgx-ddk-um \ +" + +HOSTTOOLS_NONFATAL += "truncate xxd comm" diff --git a/meta-ti-bsp/conf/machine/am335x-evm.conf b/meta-ti-bsp/conf/machine/am335x-evm.conf new file mode 100644 index 00000000..469c4d37 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am335x-evm.conf @@ -0,0 +1,35 @@ +#@TYPE: Machine +#@NAME: AM335x EVM +#@DESCRIPTION: Machine configuration for the TI AM335x EVM + +require conf/machine/include/ti33x.inc + +MACHINE_GUI_CLASS = "smallscreen" +MACHINE_FEATURES += "touchscreen" + +IMAGE_FSTYPES += "ubifs ubi" + +# Normally AM335 boards use ttyS0, but ICE uses ttyS3, so try both +SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS3" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +# UBI information. Note that this is board and kernel specific. Changes +# in your kernel port may require changes in these variables. For more +# details about this board please see +# http://processors.wiki.ti.com/index.php/UBIFS_Support + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# From dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: logical eraseblock size: 126976 bytes +# from ubiattach stdout: +# UBI device number 0, total 1988 LEBs +MKUBIFS_ARGS ?= "-F -m 2048 -e 126976 -c 9900" + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# from dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: physical eraseblock size: 131072 bytes (128 KiB) +# UBI: sub-page size: 512 +# UBI: VID header offset: 2048 (aligned 2048) +UBINIZE_ARGS ?= "-m 2048 -p 128KiB -s 512 -O 2048" diff --git a/meta-ti-bsp/conf/machine/am335x-hs-evm.conf b/meta-ti-bsp/conf/machine/am335x-hs-evm.conf new file mode 100644 index 00000000..7caa5bfd --- /dev/null +++ b/meta-ti-bsp/conf/machine/am335x-hs-evm.conf @@ -0,0 +1,18 @@ +#@TYPE: Machine +#@NAME: AM335x HS EVM +#@DESCRIPTION: Machine configuration for the TI AM335x HS EVM + +require conf/machine/am335x-evm.conf + +UBOOT_MACHINE = "" +# Last config in the list is default +UBOOT_CONFIG ??= "uart mmc" +UBOOT_CONFIG[uart] = "am335x_hs_evm_uart_config" +UBOOT_CONFIG[mmc] = "am335x_hs_evm_config" + +UBOOT_ENTRYPOINT = "0x82000000" +UBOOT_LOADADDRESS = "0x82000000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_CAT}/am3x" diff --git a/meta-ti-bsp/conf/machine/am437x-evm.conf b/meta-ti-bsp/conf/machine/am437x-evm.conf new file mode 100644 index 00000000..4e3681d5 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am437x-evm.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@NAME: AM437x EVM +#@DESCRIPTION: Machine configuration for the TI AM437x EVM + +require conf/machine/include/ti43x.inc + +MACHINE_GUI_CLASS = "smallscreen" +MACHINE_FEATURES += "touchscreen" + +IMAGE_FSTYPES += "ubifs ubi" + +SERIAL_CONSOLES = "115200;ttyS0" + +# UBI information. Note that this is board and kernel specific. Changes +# in your kernel port may require changes in these variables. For more +# details about this board please see +# http://processors.wiki.ti.com/index.php/UBIFS_Support + +# do ubiattach /dev/ubi_ctrl -m 11 -O 4096 +# From dmesg: +# UBI: smallest flash I/O unit: 4096 +# UBI: logical eraseblock size: 253952 bytes +# from ubiattach stdout: +# UBI device number 0, total 994 LEBs +MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 4800" + +# do ubiattach /dev/ubi_ctrl -m 11 -O 4096 +# from dmesg: +# UBI: smallest flash I/O unit: 4096 +# UBI: physical eraseblock size: 262144 bytes (256 KiB) +# UBI: sub-page size: 4096 +# UBI: VID header offset: 4096 (aligned 4096) +UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096" diff --git a/meta-ti-bsp/conf/machine/am437x-hs-evm.conf b/meta-ti-bsp/conf/machine/am437x-hs-evm.conf new file mode 100644 index 00000000..68b808d2 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am437x-hs-evm.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@NAME: AM437x HS EVM +#@DESCRIPTION: Machine configuration for the TI AM437x HS EVM + +require conf/machine/am437x-evm.conf + +UBOOT_MACHINE = "am43xx_hs_evm_config" + +UBOOT_ENTRYPOINT = "0x82000000" +UBOOT_LOADADDRESS = "0x82000000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_CAT}/am4x" + +OPTEEMACHINE = "ti-am43xx" +OPTEEFLAVOR = "am43xx" +OPTEEOUTPUTMACHINE = "ti" + +EXTRA_IMAGEDEPENDS += "optee-os" diff --git a/meta-ti-bsp/conf/machine/am57xx-evm.conf b/meta-ti-bsp/conf/machine/am57xx-evm.conf new file mode 100644 index 00000000..eb0082ee --- /dev/null +++ b/meta-ti-bsp/conf/machine/am57xx-evm.conf @@ -0,0 +1,53 @@ +#@TYPE: Machine +#@NAME: AM57xx EVM +#@DESCRIPTION: Machine configuration for the TI AM57xx EVM + +require conf/machine/include/dra7xx.inc + +MACHINE_FEATURES += "touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2" + +KERNEL_DEVICETREE = " \ + am57xx-beagle-x15.dtb \ + am57xx-beagle-x15-revb1.dtb \ + am57xx-beagle-x15-revc.dtb \ + am5729-beagleboneai.dtb \ + am57xx-evm.dtb \ + ti/am57xx-evm-common.dtbo \ + am57xx-evm-reva3.dtb \ + ti/am57xx-evm-reva3.dtbo \ + am571x-idk.dtb \ + ti/am571x-idk-touchscreen.dtbo \ + am572x-idk.dtb \ + am574x-idk.dtb \ + ti/am57xx-idk-osd-lcd-common.dtbo \ + ti/am572x-idk-touchscreen.dtbo \ + ti/lcd-osd101t2587.dtbo \ + ti/lcd-osd101t2045.dtbo \ +" + +KERNEL_DEVICETREE += "${@oe.utils.conditional('ENABLE_TI_UIO_DEVICES', '1', 'am574x-idk-pru-excl-uio.dtb am572x-idk-pru-excl-uio.dtb am571x-idk-pru-excl-uio.dtb', '', d)}" + +UBOOT_MACHINE = "am57xx_evm_config" + +# UBI information. Note that this is board and kernel specific. Changes +# in your kernel port may require changes in these variables. For more +# details about this board please see +# http://processors.wiki.ti.com/index.php/UBIFS_Support + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# From dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: logical eraseblock size: 126976 bytes +# from ubiattach stdout: +# UBI device number 0, total 1988 LEBs +MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 8192" + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# from dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: physical eraseblock size: 131072 bytes (128 KiB) +# UBI: sub-page size: 512 +# UBI: VID header offset: 2048 (aligned 2048) +UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048" diff --git a/meta-ti-bsp/conf/machine/am57xx-hs-evm.conf b/meta-ti-bsp/conf/machine/am57xx-hs-evm.conf new file mode 100644 index 00000000..5232cbd9 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am57xx-hs-evm.conf @@ -0,0 +1,21 @@ +#@TYPE: Machine +#@NAME: AM57xx HS EVM +#@DESCRIPTION: Machine configuration for the TI AM57xx HS EVM + +require conf/machine/am57xx-evm.conf + +UBOOT_MACHINE = "am57xx_hs_evm_config" + +UBOOT_ENTRYPOINT = "0x82000000" +UBOOT_LOADADDRESS = "0x82000000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_AUTO}/am5x" + +OPTEEMACHINE = "ti-am57xx" +OPTEEFLAVOR = "am57xx" +OPTEEOUTPUTMACHINE = "ti" +OPTEEPAGER = "y" + +EXTRA_IMAGEDEPENDS += "optee-os" diff --git a/meta-ti-bsp/conf/machine/am64xx-evm-k3r5.conf b/meta-ti-bsp/conf/machine/am64xx-evm-k3r5.conf new file mode 100644 index 00000000..afd36b72 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am64xx-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM64xx EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM64xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am64x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "am64x_evm_r5_defconfig" diff --git a/meta-ti-bsp/conf/machine/am64xx-evm.conf b/meta-ti-bsp/conf/machine/am64xx-evm.conf new file mode 100644 index 00000000..c6ba2a87 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am64xx-evm.conf @@ -0,0 +1,7 @@ +#@TYPE: Machine +#@NAME: AM64xx EVM +#@DESCRIPTION: Machine configuration for the TI AM64xx EVM + +require conf/machine/include/am64xx.inc + +UBOOT_MACHINE = "am64x_evm_a53_defconfig" diff --git a/meta-ti-bsp/conf/machine/am64xx-hs-evm-k3r5.conf b/meta-ti-bsp/conf/machine/am64xx-hs-evm-k3r5.conf new file mode 100644 index 00000000..d12c030f --- /dev/null +++ b/meta-ti-bsp/conf/machine/am64xx-hs-evm-k3r5.conf @@ -0,0 +1,14 @@ +#@TYPE: Machine +#@NAME: AM64xx HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM64xx HS EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am64x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "hs" +SYSFW_SYMLINK = "" + +UBOOT_MACHINE = "am64x_hs_evm_r5_defconfig" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/am64xx-hs-evm.conf b/meta-ti-bsp/conf/machine/am64xx-hs-evm.conf new file mode 100644 index 00000000..44e81463 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am64xx-hs-evm.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: AM64xx HS EVM +#@DESCRIPTION: Machine configuration for the TI AM64xx HS EVM + +require conf/machine/include/am64xx.inc + +UBOOT_MACHINE = "am64x_hs_evm_a53_defconfig" + +UBOOT_ENTRYPOINT = "0x80080000" +UBOOT_LOADADDRESS = "0x80080000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" +UBOOT_DTB_LOADADDRESS = "0x83000000" +UBOOT_DTBO_LOADADDRESS = "0x83080000" +UBOOT_DTBO_OFFSET = "0x00010000" + +SPL_BINARY = "tispl.bin_HS" +SPL_BINARYNAME = "tispl.bin" +UBOOT_BINARY = "u-boot.img_HS" +IMAGE_BOOT_FILES = "${UBOOT_BINARY}" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/am65xx-evm-k3r5-sr2.conf b/meta-ti-bsp/conf/machine/am65xx-evm-k3r5-sr2.conf new file mode 100644 index 00000000..e74dd3ab --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-evm-k3r5-sr2.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM65xx SR2.0 EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM65xx SR2.0 EVM (R5F core) + +# Booting SR2 requires different SYSFW, the rest is handled at runtime + +require conf/machine/am65xx-evm-k3r5.conf +SOC_FAMILY:append = ":k3r5-sr2" + +SYSFW_SOC = "am65x_sr2" +SYSFW_SYMLINK = "sysfw.itb" diff --git a/meta-ti-bsp/conf/machine/am65xx-evm-k3r5.conf b/meta-ti-bsp/conf/machine/am65xx-evm-k3r5.conf new file mode 100644 index 00000000..bd17474e --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-evm-k3r5.conf @@ -0,0 +1,12 @@ +#@TYPE: Machine +#@NAME: AM65xx EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM65xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am65x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" +SYSFW_SYMLINK = "" + +UBOOT_MACHINE = "am65x_evm_r5_defconfig" diff --git a/meta-ti-bsp/conf/machine/am65xx-evm.conf b/meta-ti-bsp/conf/machine/am65xx-evm.conf new file mode 100644 index 00000000..8b6ef546 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-evm.conf @@ -0,0 +1,7 @@ +#@TYPE: Machine +#@NAME: AM65xx EVM +#@DESCRIPTION: Machine configuration for the TI AM65xx EVM + +require conf/machine/include/am65xx.inc + +UBOOT_MACHINE = "am65x_evm_a53_defconfig" diff --git a/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5-sr2.conf b/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5-sr2.conf new file mode 100644 index 00000000..ff1645e4 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5-sr2.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM65xx SR2.0 HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM65xx SR2.0 HS EVM (R5F core) + +# Booting SR2 requires different SYSFW, the rest is handled at runtime + +require conf/machine/am65xx-hs-evm-k3r5.conf +SOC_FAMILY:append = ":k3r5-sr2" + +SYSFW_SOC = "am65x_sr2" +SYSFW_SYMLINK = "sysfw.itb" diff --git a/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5.conf b/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5.conf new file mode 100644 index 00000000..d6d4b1e3 --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-hs-evm-k3r5.conf @@ -0,0 +1,14 @@ +#@TYPE: Machine +#@NAME: AM65xx HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM65xx HS EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am65x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "hs" +SYSFW_SYMLINK = "" + +UBOOT_MACHINE = "am65x_hs_evm_r5_defconfig" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/am65xx-hs-evm.conf b/meta-ti-bsp/conf/machine/am65xx-hs-evm.conf new file mode 100644 index 00000000..e4eebb6a --- /dev/null +++ b/meta-ti-bsp/conf/machine/am65xx-hs-evm.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: AM65xx HS EVM +#@DESCRIPTION: Machine configuration for the TI AM65xx HS EVM + +require conf/machine/include/am65xx.inc + +UBOOT_MACHINE = "am65x_hs_evm_a53_defconfig" + +UBOOT_ENTRYPOINT = "0x80080000" +UBOOT_LOADADDRESS = "0x80080000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" +UBOOT_DTB_LOADADDRESS = "0x83000000" +UBOOT_DTBO_LOADADDRESS = "0x83080000" +UBOOT_DTBO_OFFSET = "0x00010000" + +SPL_BINARY = "tispl.bin_HS" +SPL_BINARYNAME = "tispl.bin" +UBOOT_BINARY = "u-boot.img_HS" +IMAGE_BOOT_FILES = "${UBOOT_BINARY}" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/beagle-x15.conf b/meta-ti-bsp/conf/machine/beagle-x15.conf new file mode 100644 index 00000000..c7503266 --- /dev/null +++ b/meta-ti-bsp/conf/machine/beagle-x15.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: BeagleBoard X15 +#@DESCRIPTION: Machine configuration for the BeagleBoard X15 + +require conf/machine/include/dra7xx.inc + +KERNEL_DEVICETREE = "am57xx-beagle-x15.dtb am57xx-beagle-x15-revb1.dtb am57xx-beagle-x15-revc.dtb" + +MACHINE_GUI_CLASS = "bigscreen" + +SERIAL_CONSOLES = "115200;ttyS2" + +UBOOT_MACHINE = "am57xx_evm_config" diff --git a/meta-ti-bsp/conf/machine/beaglebone.conf b/meta-ti-bsp/conf/machine/beaglebone.conf new file mode 100644 index 00000000..cce8fd09 --- /dev/null +++ b/meta-ti-bsp/conf/machine/beaglebone.conf @@ -0,0 +1,16 @@ +#@TYPE: Machine +#@NAME: BeagleBone machine +#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board + +require conf/machine/include/ti33x.inc + +KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblue.dtb \ + am335x-boneblack.dtb am335x-boneblack-wireless.dtb \ + am335x-bonegreen.dtb am335x-bonegreen-wireless.dtb" + +# Only has DVI connector for external screen +MACHINE_GUI_CLASS = "bigscreen" + +SERIAL_CONSOLES = "115200;ttyS0" + +IMAGE_INSTALL:append = " kernel-devicetree kernel-image-zimage" diff --git a/meta-ti-bsp/conf/machine/dra7xx-evm.conf b/meta-ti-bsp/conf/machine/dra7xx-evm.conf new file mode 100644 index 00000000..5fa1dfa5 --- /dev/null +++ b/meta-ti-bsp/conf/machine/dra7xx-evm.conf @@ -0,0 +1,48 @@ +#@TYPE: Machine +#@NAME: DRA7xx EVM +#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM + +require conf/machine/include/dra7xx.inc + +MACHINE_FEATURES += "touchscreen" + +SERIAL_CONSOLES = "115200;ttyS0" + +KERNEL_DEVICETREE = " \ + dra7-evm.dtb \ + ti/dra7x-evm-osd-lcd-common.dtbo \ + dra71-evm.dtb \ + dra71-evm-nand.dtb \ + ti/dra71-evm-lcd-auo-g101evn01.0.dtbo \ + dra72-evm.dtb \ + dra72-evm-revc.dtb \ + ti/dra72-evm-touchscreen.dtbo \ + ti/dra74-evm-touchscreen.dtbo \ + dra76-evm.dtb \ + ti/dra76-evm-tfp410.dtbo \ + ti/lcd-osd101t2045.dtbo \ + ti/lcd-osd101t2587.dtbo \ +" + +UBOOT_MACHINE = "dra7xx_evm_config" + +# UBI information. Note that this is board and kernel specific. Changes +# in your kernel port may require changes in these variables. For more +# details about this board please see +# http://processors.wiki.ti.com/index.php/UBIFS_Support + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# From dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: logical eraseblock size: 126976 bytes +# from ubiattach stdout: +# UBI device number 0, total 1988 LEBs +MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 8192" + +# do ubiattach /dev/ubi_ctrl -m 7 -O 2048 +# from dmesg: +# UBI: smallest flash I/O unit: 2048 +# UBI: physical eraseblock size: 131072 bytes (128 KiB) +# UBI: sub-page size: 512 +# UBI: VID header offset: 2048 (aligned 2048) +UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048" diff --git a/meta-ti-bsp/conf/machine/dra7xx-hs-evm.conf b/meta-ti-bsp/conf/machine/dra7xx-hs-evm.conf new file mode 100644 index 00000000..49630081 --- /dev/null +++ b/meta-ti-bsp/conf/machine/dra7xx-hs-evm.conf @@ -0,0 +1,21 @@ +#@TYPE: Machine +#@NAME: DRA7xx HS EVM +#@DESCRIPTION: Machine configuration for the TI DRA7xx HS EVM + +require conf/machine/dra7xx-evm.conf + +UBOOT_MACHINE = "dra7xx_hs_evm_config" + +UBOOT_ENTRYPOINT = "0x82000000" +UBOOT_LOADADDRESS = "0x82000000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_AUTO}/dra7" + +OPTEEMACHINE = "ti-dra7xx" +OPTEEFLAVOR = "dra7xx" +OPTEEOUTPUTMACHINE = "ti" +OPTEEPAGER = "y" + +EXTRA_IMAGEDEPENDS += "optee-os" diff --git a/meta-ti-bsp/conf/machine/include/am64xx.inc b/meta-ti-bsp/conf/machine/include/am64xx.inc new file mode 100644 index 00000000..afb96a22 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/am64xx.inc @@ -0,0 +1,24 @@ +require conf/machine/include/k3.inc +SOC_FAMILY:append = ":am64xx" + +MACHINE_FEATURES += "screen touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +KERNEL_DEVICETREE = " \ + ti/k3-am642-evm.dtb \ + ti/k3-am642-sk.dtb \ + ti/k3-am642-evm-icssg1-dualemac.dtbo \ + ti/k3-am642-evm-nand.dtbo \ +" + +# AM64 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" + +TFA_BOARD = "lite" +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc new file mode 100644 index 00000000..111ef96f --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc @@ -0,0 +1,32 @@ +require conf/machine/include/k3.inc +SOC_FAMILY:append = ":am65xx" + +MACHINE_FEATURES += "screen touchscreen gpu" + +SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS1" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +KERNEL_DEVICETREE = " \ + ti/k3-am654-base-board.dtb \ + ti/k3-am654-base-board-sr1.dtbo \ + ti/k3-am654-gp.dtbo \ + ti/k3-am654-idk.dtbo \ + ti/k3-am654-idk-sr1.dtbo \ + ti/k3-am654-sr1.dtbo \ + ti/k3-am654-pcie-usb2.dtbo \ + ti/k3-am654-pcie-usb3.dtbo \ + ti/k3-am654-evm-tc358876.dtbo \ + ti/k3-am654-evm-oldi-lcd1evm.dtbo \ + ti/k3-am654-evm-ov5640.dtbo \ +" + +BBMULTICONFIG += "k3r5-sr2" + +# Use default IMAGE_BOOT_FILES_LEGACY files +# Since default sysfw.itb on AM65x is for SR2.0, add a version for SR1.0 +IMAGE_BOOT_FILES += "sysfw-am65x-evm.itb" +do_image_wic[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] += "mc::k3r5-sr2:ti-sci-fw:do_deploy" + +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/meta-ti-bsp/conf/machine/include/dra7xx.inc b/meta-ti-bsp/conf/machine/include/dra7xx.inc new file mode 100644 index 00000000..a02421d9 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/dra7xx.inc @@ -0,0 +1,4 @@ +require conf/machine/include/omap-a15.inc +SOC_FAMILY:append = ":dra7xx" + +MACHINE_FEATURES += "pci" diff --git a/meta-ti-bsp/conf/machine/include/j7.inc b/meta-ti-bsp/conf/machine/include/j7.inc new file mode 100644 index 00000000..4ea3a5d8 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/j7.inc @@ -0,0 +1,7 @@ +require conf/machine/include/k3.inc +SOC_FAMILY:append = ":j7" + +OPTEEMACHINE = "k3-j721e" +OPTEEOUTPUTMACHINE = "k3" + +# Use default IMAGE_BOOT_FILES_LEGACY files diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc new file mode 100644 index 00000000..a39ddd2a --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/k3.inc @@ -0,0 +1,55 @@ +# TI K3 Aarch64 profile for Cortex-A53/A72 cores + +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":k3" + +require conf/machine/include/arm/arch-arm64.inc + +BBMULTICONFIG += "k3r5" + +# Increase this everytime you change something in the kernel +MACHINE_KERNEL_PR = "r0" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +KERNEL_IMAGETYPE = "Image" +KERNEL_IMAGETYPES = "Image vmlinux.gz" + +UBOOT_ARCH = "arm" +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +SPL_BINARY = "tispl.bin" +UBOOT_SUFFIX = "img" + +EXTRA_IMAGEDEPENDS += "virtual/bootloader" + +TFA_PLATFORM = "k3" +TFA_BOARD = "generic" + +MACHINE_GUI_CLASS = "smallscreen" + +# Use the expected value of the ubifs filesystem's volume name in the kernel +# and u-boot. +UBI_VOLNAME = "rootfs" + +# List common SoC features, may need to add touchscreen for specific machines +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 alsa ethernet pci" + +IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap" + +IMAGE_BOOT_FILES_LEGACY = "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} tiboot3.bin sysfw.itb" +IMAGE_BOOT_FILES_MULTI_CERT = "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} tiboot3.bin" + +IMAGE_BOOT_FILES ?= "${IMAGE_BOOT_FILES_LEGACY}" +IMAGE_EFI_BOOT_FILES ?= "${IMAGE_BOOT_FILES}" + +EFI_PROVIDER ?= "grub-efi" +MACHINE_FEATURES += "efi" + +WKS_FILE ?= "sdimage-2part-efi.wks" +do_image_wic[depends] += "virtual/bootloader:do_deploy" +do_image_wic[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] += "mc::k3r5:virtual/bootloader:do_deploy mc::k3r5:ti-sci-fw:do_deploy" diff --git a/meta-ti-bsp/conf/machine/include/k3r5.inc b/meta-ti-bsp/conf/machine/include/k3r5.inc new file mode 100644 index 00000000..3cc79061 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/k3r5.inc @@ -0,0 +1,24 @@ +# TI K3 Armv7 profile for Cortex-R5F cores + +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":k3r5" + +# The closest of existing tunes for Cortex-R5F +DEFAULTTUNE = "armv7athf" +require conf/machine/include/arm/armv7a/tune-cortexa8.inc + +# R5 runs early bootloader and loads SYSFW +# https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/am65x/README +# https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/j721e/README +PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +SPL_BINARY = "" +UBOOT_SUFFIX = "bin" +UBOOT_BINARY = "tiboot3.${UBOOT_SUFFIX}" +UBOOT_IMAGE = "tiboot3-${MAINMACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" +UBOOT_SYMLINK = "tiboot3-${MAINMACHINE}.${UBOOT_SUFFIX}" + +PACKAGECONFIG:pn-u-boot-ti-staging = "" +PACKAGECONFIG:pn-u-boot-ti-mainline = "" diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc new file mode 100644 index 00000000..9a2e0044 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc @@ -0,0 +1,55 @@ +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":omap-a15" + +DEFAULTTUNE ?= "armv7athf-neon" +require conf/machine/include/arm/armv7a/tune-cortexa15.inc + +# Increase this everytime you change something in the kernel +MACHINE_KERNEL_PR = "r7" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +KERNEL_IMAGETYPE = "zImage" +KERNEL_IMAGETYPES = "zImage uImage" +KERNEL_CLASSES += "kernel-uimage" + +UBOOT_ARCH = "arm" +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +DEVICETREE_FILE = "${@d.getVar('KERNEL_DEVICETREE').replace("ti/","")}" + +# Generate an extlinux.conf file +UBOOT_EXTLINUX = "1" +UBOOT_EXTLINUX_ROOT = "root=PARTUUID=${uuid}" +UBOOT_EXTLINUX_BOOT_FILES = " \ + extlinux.conf;extlinux/extlinux.conf \ + ${KERNEL_IMAGETYPE} \ + ${DEVICETREE_FILE} \ +" + +SPL_BINARY = "MLO" +UBOOT_SUFFIX = "img" + +EXTRA_IMAGEDEPENDS += "virtual/bootloader" + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" +XSERVER = "xserver-xorg \ + xf86-input-evdev \ + xf86-video-fbdev" + +MACHINE_GUI_CLASS = "smallscreen" + +# Use the expected value of the ubifs filesystem's volume name in the kernel +# and u-boot. +UBI_VOLNAME = "rootfs" + +# List common SoC features, may need to add touchscreen for specific machines +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet gpu mmip dsp gc320" + +IMAGE_FSTYPES += "tar.xz wic.xz" +WKS_FILE ?= "sdimage-2part.wks" +IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}" +do_image_wic[depends] += "u-boot:do_deploy" diff --git a/meta-ti-bsp/conf/machine/include/omapl1.inc b/meta-ti-bsp/conf/machine/include/omapl1.inc new file mode 100644 index 00000000..d0262c3f --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/omapl1.inc @@ -0,0 +1,2 @@ +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":omapl1" diff --git a/meta-ti-bsp/conf/machine/include/omapl138.inc b/meta-ti-bsp/conf/machine/include/omapl138.inc new file mode 100644 index 00000000..c6eb0cd9 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/omapl138.inc @@ -0,0 +1,2 @@ +require conf/machine/include/omapl1.inc +SOC_FAMILY:append = ":omapl138" diff --git a/meta-ti-bsp/conf/machine/include/ti-soc.inc b/meta-ti-bsp/conf/machine/include/ti-soc.inc new file mode 100644 index 00000000..2792d2a0 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/ti-soc.inc @@ -0,0 +1,5 @@ +# This is a generic TI SOC family. It is a superset of all other SOCs +# and platforms defined in meta-ti to allow BSP-level overrides. +SOC_FAMILY = "ti-soc" +KERNEL_DTB_OVERLAY_SUPPORT ?= "1" +require conf/machine/include/soc-family.inc diff --git a/meta-ti-bsp/conf/machine/include/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc new file mode 100644 index 00000000..afb80fd6 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/ti33x.inc @@ -0,0 +1,70 @@ +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":ti33x" + +DEFAULTTUNE ?= "armv7athf-neon" +require conf/machine/include/arm/armv7a/tune-cortexa8.inc + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" + +# For built-in LCD, add xf86-input-tslib +XSERVER = "xserver-xorg \ + xf86-input-evdev \ + xf86-input-mouse \ + xf86-video-fbdev \ + xf86-input-keyboard" + +# Default to external video, change to smallscreen for built-in LCD +MACHINE_GUI_CLASS = "bigscreen" + +# Increase this everytime you change something in the kernel +MACHINE_KERNEL_PR = "r22" + +# Default providers, may need to override for specific machines +PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +KERNEL_IMAGETYPE = "zImage" + +KERNEL_DEVICETREE = " \ + am335x-evm.dtb am335x-evmsk.dtb \ + am335x-icev2.dtb \ + am335x-pocketbeagle.dtb am335x-bone.dtb am335x-boneblue.dtb \ + am335x-bonegreen.dtb am335x-bonegreen-wireless.dtb \ + am335x-boneblack.dtb am335x-boneblack-wireless.dtb \ + am335x-sancloud-bbe.dtb \ +" + +KERNEL_DEVICETREE += "${@oe.utils.conditional('ENABLE_TI_UIO_DEVICES', '1', 'am335x-icev2-pru-excl-uio.dtb', '', d)}" + +UBOOT_ARCH = "arm" +UBOOT_MACHINE = "am335x_evm_config" + +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +# Generate an extlinux.conf file +UBOOT_EXTLINUX = "1" +UBOOT_EXTLINUX_ROOT = "root=PARTUUID=${uuid}" +UBOOT_EXTLINUX_BOOT_FILES = " \ + extlinux.conf;extlinux/extlinux.conf \ + ${KERNEL_IMAGETYPE} \ + ${KERNEL_DEVICETREE} \ +" + +SPL_BINARY = "MLO" +UBOOT_SUFFIX = "img" + +# Use the expected value of the ubifs filesystem's volume name in the kernel +# and u-boot. +UBI_VOLNAME = "rootfs" + +EXTRA_IMAGEDEPENDS += "virtual/bootloader" + +# List common SoC features, may need to add touchscreen for specific machines +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet gpu" + +IMAGE_FSTYPES += "tar.xz wic.xz" +WKS_FILE ?= "sdimage-2part.wks" +IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}" +do_image_wic[depends] += "virtual/bootloader:do_deploy" diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc new file mode 100644 index 00000000..2c3a3770 --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc @@ -0,0 +1,67 @@ +require conf/machine/include/ti-soc.inc +SOC_FAMILY:append = ":ti43x" + +DEFAULTTUNE ?= "armv7athf-neon" +require conf/machine/include/arm/armv7a/tune-cortexa9.inc + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" + +# For built-in LCD, add xf86-input-tslib +XSERVER = "xserver-xorg \ + xf86-input-evdev \ + xf86-input-mouse \ + xf86-video-fbdev \ + xf86-input-keyboard" + +# Default to external video, change to smallscreen for built-in LCD +MACHINE_GUI_CLASS = "bigscreen" + +# Increase this everytime you change something in the kernel +MACHINE_KERNEL_PR = "r3" + +# Default providers, may need to override for specific machines +PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" +PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" + +KERNEL_IMAGETYPE = "zImage" + +KERNEL_DEVICETREE = " \ + am437x-gp-evm.dtb am437x-gp-evm-hdmi.dtb \ + am437x-sk-evm.dtb am437x-idk-evm.dtb \ + am43x-epos-evm.dtb am43x-epos-evm-hdmi.dtb \ +" + +KERNEL_DEVICETREE += "${@oe.utils.conditional('ENABLE_TI_UIO_DEVICES', '1', 'am437x-idk-pru-excl-uio.dtb', '', d)}" + +UBOOT_ARCH = "arm" +UBOOT_MACHINE = "am43xx_evm_config" + +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +# Generate an extlinux.conf file +UBOOT_EXTLINUX = "1" +UBOOT_EXTLINUX_ROOT = "root=PARTUUID=${uuid}" +UBOOT_EXTLINUX_BOOT_FILES = " \ + extlinux.conf;extlinux/extlinux.conf \ + ${KERNEL_IMAGETYPE} \ + ${KERNEL_DEVICETREE} \ +" + +SPL_BINARY = "MLO" +UBOOT_SUFFIX = "img" + +# Use the expected value of the ubifs filesystem's volume name in the kernel +# and u-boot. +UBI_VOLNAME = "rootfs" + +EXTRA_IMAGEDEPENDS += "u-boot" + +# List common SoC features, may need to add touchscreen for specific machines +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet gpu" + +IMAGE_FSTYPES += "tar.xz wic.xz" +WKS_FILE ?= "sdimage-2part.wks" +IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}" +do_image_wic[depends] += "u-boot:do_deploy" diff --git a/meta-ti-bsp/conf/machine/j7-evm-k3r5.conf b/meta-ti-bsp/conf/machine/j7-evm-k3r5.conf new file mode 100644 index 00000000..b9e8cc01 --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: J7 EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI J7 EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "j721e" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "j721e_evm_r5_defconfig" diff --git a/meta-ti-bsp/conf/machine/j7-evm.conf b/meta-ti-bsp/conf/machine/j7-evm.conf new file mode 100644 index 00000000..267a5e14 --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7-evm.conf @@ -0,0 +1,18 @@ +#@TYPE: Machine +#@NAME: J7 EVM +#@DESCRIPTION: Machine configuration for the TI J7 EVM + +require conf/machine/include/j7.inc + +MACHINE_FEATURES += "gpu" + +SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +KERNEL_DEVICETREE = " \ + ti/k3-j721e-common-proc-board.dtb \ + ti/k3-j721e-common-proc-board-infotainment.dtbo \ + ti/k3-j721e-sk.dtb \ +" + +UBOOT_MACHINE = "j721e_evm_a72_config" diff --git a/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5-sr1-1.conf b/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5-sr1-1.conf new file mode 100644 index 00000000..73f5afd6 --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5-sr1-1.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: J7 SR1.1 HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI J7 SR1.1 HS EVM (R5F core) + +# Booting SR1.1 requires different SYSFW, the rest is handled at runtime + +require conf/machine/j7-hs-evm-k3r5.conf +SOC_FAMILY:append = ":k3r5-sr1-1" + +SYSFW_SOC = "j721e_sr1_1" +SYSFW_SYMLINK = "sysfw.itb" diff --git a/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5.conf b/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5.conf new file mode 100644 index 00000000..53a7016f --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7-hs-evm-k3r5.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: J7 HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI J7 HS EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "j721e" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "hs" + +UBOOT_MACHINE = "j721e_hs_evm_r5_defconfig" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/j7-hs-evm.conf b/meta-ti-bsp/conf/machine/j7-hs-evm.conf new file mode 100644 index 00000000..f2e3ccf5 --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7-hs-evm.conf @@ -0,0 +1,30 @@ +#@TYPE: Machine +#@NAME: J7 HS EVM +#@DESCRIPTION: Machine configuration for the TI J7 HS EVM + +require conf/machine/j7-evm.conf + +UBOOT_MACHINE = "j721e_hs_evm_a72_defconfig" + +UBOOT_ENTRYPOINT = "0x80080000" +UBOOT_LOADADDRESS = "0x80080000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" +UBOOT_DTB_LOADADDRESS = "0x83000000" +UBOOT_DTBO_LOADADDRESS = "0x83080000" +UBOOT_DTBO_OFFSET = "0x00010000" + +SPL_BINARY = "tispl.bin_HS" +SPL_BINARYNAME = "tispl.bin" +UBOOT_BINARY = "u-boot.img_HS" +IMAGE_BOOT_FILES = "${UBOOT_BINARY}" + +BBMULTICONFIG += "k3r5-sr1-1" + +# Use default IMAGE_BOOT_FILES_LEGACY files +# Since default sysfw.itb on J7 is for SR1.1, add a version for SR1.0 +IMAGE_BOOT_FILES += "sysfw-j721e-evm.itb" +do_image_wic[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] += "mc::k3r5-sr1-1:ti-sci-fw:do_deploy" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/j7200-evm-k3r5.conf b/meta-ti-bsp/conf/machine/j7200-evm-k3r5.conf new file mode 100644 index 00000000..68061883 --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7200-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: J7200 EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI J7200 EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "j7200" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "j7200_evm_r5_defconfig" diff --git a/meta-ti-bsp/conf/machine/j7200-evm.conf b/meta-ti-bsp/conf/machine/j7200-evm.conf new file mode 100644 index 00000000..2565c90c --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7200-evm.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@NAME: J7200 EVM +#@DESCRIPTION: Machine configuration for the TI J7200 EVM + +require conf/machine/include/j7.inc + +SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS3" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +KERNEL_DEVICETREE = " \ + ti/k3-j7200-common-proc-board.dtb \ +" + +UBOOT_MACHINE = "j7200_evm_a72_config" + +# J7200 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" diff --git a/meta-ti-bsp/conf/machine/j7200-hs-evm-k3r5.conf b/meta-ti-bsp/conf/machine/j7200-hs-evm-k3r5.conf new file mode 100644 index 00000000..488f19ec --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7200-hs-evm-k3r5.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: J7200 HS EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI J7200 HS EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "j7200" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "hs" + +UBOOT_MACHINE = "j7200_hs_evm_r5_defconfig" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/j7200-hs-evm.conf b/meta-ti-bsp/conf/machine/j7200-hs-evm.conf new file mode 100644 index 00000000..a5bd637e --- /dev/null +++ b/meta-ti-bsp/conf/machine/j7200-hs-evm.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: J7200 HS EVM +#@DESCRIPTION: Machine configuration for the TI J7200 HS EVM + +require conf/machine/j7200-evm.conf + +UBOOT_MACHINE = "j7200_hs_evm_a72_defconfig" + +UBOOT_ENTRYPOINT = "0x80080000" +UBOOT_LOADADDRESS = "0x80080000" +UBOOT_RD_LOADADDRESS = "0x84000000" +UBOOT_RD_ENTRYPOINT = "0x84000000" +UBOOT_DTB_LOADADDRESS = "0x83000000" +UBOOT_DTBO_LOADADDRESS = "0x83080000" +UBOOT_DTBO_OFFSET = "0x00010000" + +SPL_BINARY = "tispl.bin_HS" +SPL_BINARYNAME = "tispl.bin" +UBOOT_BINARY = "u-boot.img_HS" +IMAGE_BOOT_FILES = "${UBOOT_BINARY}" + +TI_SECURE_DEV_PKG = "${TI_SECURE_DEV_PKG_K3}" diff --git a/meta-ti-bsp/conf/machine/omapl138-lcdk.conf b/meta-ti-bsp/conf/machine/omapl138-lcdk.conf new file mode 100644 index 00000000..ba4d5645 --- /dev/null +++ b/meta-ti-bsp/conf/machine/omapl138-lcdk.conf @@ -0,0 +1,19 @@ +#@TYPE: Machine +#@NAME: OMAP-L138 LCDK +#@DESCRIPTION: Machine configuration for the TI OMAP-L138 LCDK board + +require conf/machine/include/davinci.inc +require conf/machine/include/omapl138.inc + +UBOOT_MACHINE = "omapl138_lcdk_config" +UBOOT_SUFFIX = "ais" +SPL_BINARY = "" + +UBOOT_ENTRYPOINT = "0xc0008000" +UBOOT_LOADADDRESS = "0xc0008000" + +IMAGE_FSTYPES += "tar.xz" + +SERIAL_CONSOLES = "115200;ttyS2" + +KERNEL_DEVICETREE = "da850-evm.dtb da850-lcdk.dtb" diff --git a/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf b/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf new file mode 100644 index 00000000..428f2212 --- /dev/null +++ b/meta-ti-bsp/conf/multiconfig/k3r5-sr1-1.conf @@ -0,0 +1,3 @@ +require k3r5.conf + +MACHINE:append = "-sr1-1" diff --git a/meta-ti-bsp/conf/multiconfig/k3r5-sr2.conf b/meta-ti-bsp/conf/multiconfig/k3r5-sr2.conf new file mode 100644 index 00000000..e933b9cc --- /dev/null +++ b/meta-ti-bsp/conf/multiconfig/k3r5-sr2.conf @@ -0,0 +1,3 @@ +require k3r5.conf + +MACHINE:append = "-sr2" diff --git a/meta-ti-bsp/conf/multiconfig/k3r5.conf b/meta-ti-bsp/conf/multiconfig/k3r5.conf new file mode 100644 index 00000000..deb07210 --- /dev/null +++ b/meta-ti-bsp/conf/multiconfig/k3r5.conf @@ -0,0 +1,5 @@ +MAINMACHINE := "${MACHINE}" + +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MAINMACHINE}" + +MACHINE:append = "-k3r5" diff --git a/meta-ti-bsp/licenses/Hewlett-Packard b/meta-ti-bsp/licenses/Hewlett-Packard new file mode 100644 index 00000000..569d009c --- /dev/null +++ b/meta-ti-bsp/licenses/Hewlett-Packard @@ -0,0 +1,13 @@ +/* + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + */ diff --git a/meta-ti-bsp/licenses/Patrick-Powell b/meta-ti-bsp/licenses/Patrick-Powell new file mode 100644 index 00000000..9c6eac42 --- /dev/null +++ b/meta-ti-bsp/licenses/Patrick-Powell @@ -0,0 +1,4 @@ +Copyright Patrick Powell 1995 +This code is based on code written by Patrick Powell (papowell@astart.com) +It may be used for any purpose as long as this notice remains intact +on all source code distributions diff --git a/meta-ti-bsp/licenses/TI-IMG b/meta-ti-bsp/licenses/TI-IMG new file mode 100644 index 00000000..d4135576 --- /dev/null +++ b/meta-ti-bsp/licenses/TI-IMG @@ -0,0 +1,63 @@ +This license applies to the Imagination D5520 firmware image, pvdec_full_bin.fw. + +Copyright (C) 2019 Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +license under copyrights and patents it now or hereafter owns or controls to +make, have made, use, import, offer to sell and sell ("Utilize") this software +subject to the terms herein. With respect to the foregoing patent license, such +license is granted solely to the extent that any such patent is necessary to +Utilize the software alone. The patent license shall not apply to any +combinations which include this software, other than combinations with devices +manufactured by or for TI (âTI Devicesâ). No hardware patent is licensed +hereunder. + +Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer and +(if applicable) source code license limitations below) in the documentation +and/or other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + + * No reverse engineering, decompilation, or disassembly of this + software is permitted with respect to any software provided in binary + form. + + * any redistribution and use are licensed by TI for use only with TI + Devices. + + * Nothing shall obligate TI to provide you with source code for the + software licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution of +the source code are permitted provided that the following conditions are met: + + * any redistribution and use of the source code, including any + resulting derivative works, are licensed by TI for use only with TI + Devices. + + * any redistribution and use of any object code compiled from the + source code and any resulting derivative works, are licensed by TI + for use only with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this +software without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TIâS LICENSORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL TI AND TIâS LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/meta-ti-bsp/licenses/TI-TFL b/meta-ti-bsp/licenses/TI-TFL new file mode 100644 index 00000000..264692b7 --- /dev/null +++ b/meta-ti-bsp/licenses/TI-TFL @@ -0,0 +1,62 @@ +TEXAS INSTRUMENTS TEXT FILE LICENSE + +Copyright (c) [earliest year] - [latest year] Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, +non-exclusive license under copyrights and patents it now or hereafter owns +or controls to make, have made, use, import, offer to sell and sell +("Utilize") this software subject to the terms herein. With respect to the +foregoing patent license, such license is granted solely to the extent that +any such patent is necessary to Utilize the software alone. The patent +license shall not apply to any combinations which include this software, +other than combinations with devices manufactured by or for TI ("TI +Devices"). No hardware patent is licensed hereunder. + +Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer and (if +applicable) source code license limitations below) in the documentation +and/or other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + +* No reverse engineering, decompilation, or disassembly of this software is +permitted with respect to any software provided in binary form. + +* any redistribution and use are licensed by TI for use only with TI +Devices. + +* Nothing shall obligate TI to provide you with source code for the software +licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution +of the source code are permitted provided that the following conditions are +met: + +* any redistribution and use of the source code, including any resulting +derivative works, are licensed by TI for use only with TI Devices. + +* any redistribution and use of any object code compiled from the source +code and any resulting derivative works, are licensed by TI for use only +with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this +software without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/meta-ti-bsp/licenses/TI-TSPA b/meta-ti-bsp/licenses/TI-TSPA new file mode 100644 index 00000000..fd87c2ac --- /dev/null +++ b/meta-ti-bsp/licenses/TI-TSPA @@ -0,0 +1,206 @@ +Texas Instruments Incorporated +Technology and Software Publicly Available +Software License Agreement + + +Important - Please read the following license agreement carefully. This is +a legally binding agreement. Do not click "i have read and agree" or use +(as applicable) the Licensed Materials unless: (1) you are authorized to +accept and agree to the terms of this license agreement on behalf of +yourself or your company (as applicable) and (2) you intend to be bound by +the terms of this license agreement on behalf of yourself or your company +(as applicable). + +This Software License Agreement ("Agreement") is a legal agreement between +you (either an individual or entity) and Texas Instruments Incorporated +("TI"), 12500 TI Boulevard, Dallas, Texas 75243. The "Licensed Materials" +subject to this Agreement include the software programs (in whole or in +part), that accompany this Agreement and set forth in the applicable +software manifest and which you access "on-line" and/or electronic +documentation (in whole or in part) associated and provided with these +software programs. By installing, copying or otherwise using the Licensed +Materials you agree to abide by the terms of this Agreement. If you choose +not to accept or agree with these terms, do not download or install the +Licensed Materials. + +Note Regarding Possible Access to Open Source Software: The Licensed +Materials may be bundled with Open Source Software. "Open Source Software" +means any software licensed under terms requiring that (A) other software +("Proprietary Software") incorporated, combined or distributed with such +software or developed using such software: (i) be disclosed or distributed +in source code form; or (ii) otherwise be licensed on terms inconsistent +with the terms of this Agreement, including but not limited to permitting +use of the Proprietary Software on or with devices other than TI Devices, or +(B) require the owner of Proprietary Software to license any of its patents +to users of the Open Source Software and/or Proprietary Software +incorporated, combined or distributed with such Open Source Software or +developed using such Open Source Software. + +You may gain access to Open Source Software, in which case such Open Source +Software will be listed in the applicable software manifest (in whole or in +part, the "Open Source Materials"). Your use of the Open Source Materials +is subject to the separate licensing terms applicable to such Open Source +Materials as specified in the applicable software manifest. For +clarification, this Agreement does not limit your rights under, or grant you +rights that supersede, the license terms of any applicable Open Source +Materials license agreement. If any of the Open Source Materials have been +provided to you in object code only, TI will provide to you or show you +where can access the source code versions of such Open Source Materials if +you contact TI at Texas Instruments Incorporated, 12500 TI Boulevard, Mail +Station 8638, Dallas, Texas 75243, Attention: Contracts Manager. You may +terminate this Agreement in the event you choose not to accept or agree with +the terms in any applicable Open Source Materials license agreement, +provided that such termination occurs within five (5) calendar days of +acceptance of this Agreement and you abide by all applicable license terms +in this Agreement until such termination. + +1. License. + +a. Source Code License. For the Licensed Materials provided in source code +format, TI hereby grants to you a limited, non-exclusive license to +reproduce, use, and create modified or derivative works of the Licensed +Materials provided to you in source code format and to distribute an +unlimited number of copies of such source code Licensed Materials, or any +derivatives thereof, in any format. + +b. Object Code License. For the Licensed Materials provided in object code +format, TI hereby grants to you a limited, non-exclusive license to +reproduce and use the Licensed Materials provided to you in object code +format and to distribute an unlimited number of object or executable copies +of such object code Licensed Materials. + +2. Termination. This Agreement is effective until terminated. Without +prejudice to any other rights, TI may terminate your right to use the +Licensed Materials under this Agreement if you fail to comply with the terms +of this Agreement. In such event, you shall destroy all copies of the +Licensed Materials, including all portions and derivatives thereof. + +3. Intellectual Property Rights. + +a. The Licensed Materials being provided to you hereunder are being made +publicly available by TI, even though they contain copyrighted material of +TI and its licensors, if applicable. In no event may you alter, remove or +destroy any copyright notice included in the Licensed Materials. To the +extent that any of the Licensed Materials are provided in binary or object +code only, you may not unlock, decompile, reverse engineer, disassemble or +otherwise translate such binary or object code to human-perceivable form. +The source code of such reverse engineered code may contain TI trade secret +and other proprietary information. TI reserves all rights not specifically +granted under this Agreement. + +b. Certain Licensed Materials may (i) require patent licenses from third +parties claiming patent rights covering implementation of the Licensed +Materials or (ii) be based on industry recognized standards or software +programs published by industry recognized standards bodies and certain third +parties may claim to own patents or copyrights that cover implementation of +those standards. You acknowledge and agree that this Agreement does not +convey a license to any such third party patents and copyrights. + +c. YOU ACKNOWLEDGE AND AGREE THAT TI SHALL NOT BE LIABLE FOR AND SHALL NOT +DEFEND OR INDEMNIFY YOU AGAINST ANY THIRD PARTY INFRINGEMENT CLAIM THAT +RELATES TO OR IS BASED ON YOUR MANUFACTURE, USE, OR DISTRIBUTION OF THE +LICENSED MATERIALS OR YOUR MANUFACTURE, USE, OFFER FOR SALE, SALE, +IMPORTATION OR DISTRIBUTION OF YOUR PRODUCTS THAT INCLUDE OR INCORPORATE THE +LICENSED MATERIALS. + +d. You acknowledge and agree that you are responsible for any fees or +royalties that may be payable to any third party based on such third party's +interests in the Licensed Materials described in Section 3(b) above (the +"Third Party Payment Obligations"). You agree to indemnify TI against any +Third Party Payment Obligations and will defend any claim, suit or +proceeding brought against TI insofar as such claim, suit or proceeding is +based on your failure to pay any Third Party Payment Obligations. + +4. Warranties and Limitations. THE LICENSED MATERIALS ARE PROVIDED "AS IS". +TI AND ITS LICENSORS MAKE NO WARRANTY OR REPRESENTATION, EXPRESS, IMPLIED OR +STATUTORY, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTIBILITY, FITNESS FOR +A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS OF +RESPONSES, RESULTS AND LACK OF NEGLIGENCE. TI DISCLAIMS ANY WARRANTY OF +TITLE, QUIET ENJOYMENT, QUIET POSESSION, AND NON-INFRINGEMENT OF ANY THIRD +PARTY INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE LICENSED MATERIALS OR +USE OF THOSE MATERIALS. + +YOU ACKNOWLEDGE AND AGREE THAT THE LICENSED MATERIALS MAY NOT BE INTENDED +FOR PRODUCTION APPLICATIONS AND MAY CONTAIN IRREGULARITIES AND DEFECTS NOT +FOUND IN PRODUCTION SOFTWARE. FURTHERMORE, YOU ACKNOWLEDGE AND AGREE THAT +THE LICENSED MATERIALS HAVE NOT BEEN TESTED OR CERTIFIED BY ANY GOVERNMENT +AGENCY OR INDUSTRY REGULATORY ORGANIZATION OR ANY OTHER THIRD PARTY +ORGANIZATION. YOU AGREE THAT PRIOR TO USING, INCORPORATING OR DISTRIBUTING +THE LICENSED MATERIALS IN OR WITH ANY COMMERCIAL PRODUCT THAT YOU WILL +THOROUGHLY TEST THE PRODUCT AND THE FUNCTIONALITY OF THE LICENSED MATERIALS +IN OR WITH THAT PRODUCT AND BE SOLELY RESPONSIBLE FOR ANY PROBLEMS OR +FAILURES. + +IN NO EVENT SHALL TI OR ITS LICENSORS BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED ON ANY THEORY +OF LIABILITY, ARISING IN ANY WAY OUT OF THIS AGREEMENT, OR YOUR USE OF THE +LICENSED MATERIALS, WHETHER OR NOT TI HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF +REMOVAL OR REINSTALLATION, OUTSIDE COMPUTER TIME, LABOR COSTS, LOSS OR +CORRUPTION OF DATA, LOSS OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR +LOSS OF USE OR INTERRUPTION OF BUSINESS OR ANY OTHER ECONOMIC LOSS. IN NO +EVENT WILL TI'S AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF +YOUR USE OF THE LICENSED MATERIALS EXCEED FIVE HUNDRED U.S. DOLLARS +(US$500). + +Because some jurisdictions do not allow the exclusion or limitation of +incidental or consequential damages or limitation on how long an implied +warranty lasts, the above limitations or exclusions may not apply to you. + +5. Export Control. The Licensed Materials may be subject to the export or +import regulations of certain countries. You agree to comply with all such +regulations and acknowledge that you have the responsibility to obtain any +licenses or other authorizations that may be required to export, re-export +or import the Licensed Materials. + +6. Governing Law, Jurisdiction and Severability. This Agreement will be +governed by and interpreted in accordance with the laws of the State of +Texas, without reference to conflict of laws principles. If for any reason +a court of competent jurisdiction finds any provision of the Agreement to be +unenforceable, that provision will be enforced to the maximum extent +possible to effectuate the intent of the parties and the remainder of the +Agreement shall continue in full force and effect. This Agreement shall not +be governed by the United Nations Convention on Contracts for the +International Sale of Goods, or by the Uniform Computer Information +Transactions Act (UCITA). The parties agree that non-exclusive jurisdiction +for any dispute arising out of or relating to this Agreement lies within the +courts located in the State of Texas. Notwithstanding the foregoing, any +judgment may be enforced in any United States or foreign court, and either +party may seek injunctive relief in any United States or foreign court. +Failure by TI to enforce any provision of this Agreement shall not be deemed +a waiver of future enforcement of that or any other provision in this +Agreement or any other agreement that may be in place between the parties. + +7. PRC Provisions. If you are located in the People's Republic of China +("PRC") or if the Licensed Materials will be sent to the PRC, the following +provisions shall apply: + +a. Registration Requirements. You shall be solely responsible for +performing all acts and obtaining all approvals that may be required in +connection with this Agreement by the government of the PRC, including but +not limited to registering pursuant to, and otherwise complying with, the +PRC Measures on the Administration of Software Products, Management +Regulations on Technology Import-Export, and Technology Import and Export +Contract Registration Management Rules. Upon receipt of such approvals from +the government authorities, you shall forward evidence of all such approvals +to TI for its records. In the event that you fail to obtain any such +approval or registration, you shall be solely responsible for any and all +losses, damages or costs resulting therefrom, and shall indemnify TI for all +such losses, damages or costs. + +b. Governing Language. This Agreement is written and executed in the +English language. If a translation of this Agreement is required for any +purpose, including but not limited to registration of the Agreement pursuant +to any governmental laws, regulations or rules, you shall be solely +responsible for creating such translation. Any translation of this +Agreement into a language other than English is intended solely in order to +comply with such laws or for reference purposes, and the English language +version shall be authoritative and controlling. + +8. Entire Agreement. This is the entire agreement between you and TI and +supersedes any prior agreement between the parties related to the subject +matter of this Agreement. No amendment or modification of this Agreement +will be effective unless in writing and signed by a duly authorized +representative of TI. You hereby warrant and represent that you have +obtained all authorizations and other applicable consents required +empowering you to enter into this Agreement. diff --git a/meta-ti-bsp/licenses/Thai-Open-Source-Software-Center b/meta-ti-bsp/licenses/Thai-Open-Source-Software-Center new file mode 100644 index 00000000..3a3972dd --- /dev/null +++ b/meta-ti-bsp/licenses/Thai-Open-Source-Software-Center @@ -0,0 +1,31 @@ +Copyright (c) 2002, 2003, 2008 Thai Open Source Software Center Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + Neither the name of the Thai Open Source Software Center Ltd nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 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 @@ +DESCRIPTION = "Firmware files for Bluetooth" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f39eac9f4573be5b012e8313831e72a9" + +PV = "8.7.1+git${SRCPV}" + +CLEANBROKEN = "1" + +SRCREV = "0ee619b598d023fffc77679f099bc2a4815510e4" +BRANCH = "master" +SRC_URI = "git://git.ti.com/ti-bt/service-packs.git;branch=${BRANCH}" + +S = "${WORKDIR}/git" + +do_compile() { + : +} + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-connectivity + oe_runmake "DEST_DIR=${D}" "BASE_LIB_DIR=${base_libdir}" install +} + +FILES:${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 @@ +SUMMARY = "Cadence MHDP DP bridge firmware" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +LICENSE = "BSD-3-Clause | Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0" + +PV = "${CADENCE_MHDP_FW_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "j7" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" +TARGET = "mhdp8546.bin" + +do_install() { + install -d ${D}${base_libdir}/firmware/cadence + install -m 0644 ${S}/cadence/${TARGET} ${D}${base_libdir}/firmware/cadence/${TARGET} +} + +FILES:${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 @@ +DESCRIPTION = "Cortex-M3 binary blob for suspend-resume" + +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8" + +PV = "1.9.2" +PR = "r0" + +SRCREV = "fb484c5e54f2e31cf0a338d2927a06a2870bcc2c" +BRANCH ?= "ti-v4.1.y" + +SRC_URI = "git://git.ti.com/processor-firmware/ti-amx3-cm3-pm-firmware.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git" + +do_compile() { + make CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${SECURITY_NOPIE_CFLAGS}" +} + +do_install() { + install -d ${D}${base_libdir}/firmware + install -m 0644 bin/am335x-pm-firmware.elf ${D}${base_libdir}/firmware/ + install -m 0644 bin/*-scale-data.bin ${D}${base_libdir}/firmware/ +} + +FILES:${PN} += "${base_libdir}/firmware" + +COMPATIBLE_MACHINE = "(ti-soc)" +TOOLCHAIN = "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 @@ +DESCRIPTION = "Kernel module for contiguous memory allocation from userspace" + +include cmem.inc + +# This package builds a kernel module, use kernel PR as base and append a local +MACHINE_KERNEL_PR:append = "a" +PR = "${MACHINE_KERNEL_PR}" + +inherit module + +EXTRA_OEMAKE += '-f lu.mak KERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" TOOLCHAIN_PREFIX="${TOOLCHAIN_PREFIX}" EXEC_DIR="${D}/lib/modules/${KERNEL_VERSION}/extra"' +MAKE_TARGETS = "module" + +KERNEL_MODULE_AUTOLOAD += "cmemk" + +do_install:prepend() { + cp ${B}/src/cmem/module/Module.symvers ${B}/ || true +} 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 @@ +HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:CMEM" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://include/ti/cmem.h;beginline=1;endline=30;md5=26be509e4bb413905bda8309e338e2b1" + +BRANCH = "master" +# This corresponds to version 4.20.00.01 +SRCREV = "86269258a48e0a9008dd9d5ebfae9da7ce843393" + +PV = "4.20.00.01+git${SRCPV}" + +SRC_URI = "git://git.ti.com/ipc/ludev.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git" +COMPATIBLE_HOST ?= "null" +COMPATIBLE_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 @@ +DESCRIPTION = "The cmem component supports contiguous memory allocation from userspace" + +include cmem.inc + +RDEPENDS:${PN} = "cmem-mod" + +PR = "r0" + +PACKAGES =+ "${PN}-test" + +FILES:${PN}-test = "${bindir}/*" + +inherit 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 @@ +SUMMARY = "R5 PSDK CPSW9G Ethernet Switch Firmware" + +LICENSE = "TI-TFL" +LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=04ad0a015d4bb63c2b9e7b112debf3db" + +PV = "6.2+git${SRCPV}" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit deploy +inherit update-alternatives + +PROTOCOL = "git" +BRANCH = "master" +SRCREV = "91f1628507bf7f8716f0bc7cafe88ad7f14c94f5" + +SRC_URI = "git://git.ti.com/glsdk/ti-eth-fw.git;protocol=${PROTOCOL};branch=${BRANCH}" + +S = "${WORKDIR}/git" + +CPSW9G_FW_DIR = "${S}/ethfw" +CPSW9G_FW_FILENAME = "app_remoteswitchcfg_server_pdk_mem_map_strip.xer5f" + +# make sure that lib/firmware, and all its contents are part of the package +FILES:${PN} += "${base_libdir}/firmware" + +do_install() { + install -d ${D}${base_libdir}/firmware +# Ethernet firmware to be loaded on Main R5 core(needs read permission) + install -m 0644 ${CPSW9G_FW_DIR}/${CPSW9G_FW_FILENAME} ${D}${base_libdir}/firmware +} + +TARGET_MAIN_R5FSS0_0 = "j7-main-r5f0_0-fw" +ALTERNATIVE:${PN} = "j7-main-r5f0_0-fw" +ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${CPSW9G_FW_FILENAME}" +ALTERNATIVE_PRIORITY = "17" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN} += "arch" + +do_compile[noexec] = "1" +do_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 @@ +DESCRIPTION = "TI Unified Instrumentation Architecture in C (cUIA)" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://cuia_${CUIA_PV}_manifest.html;md5=0eea94e3bb94de4ddee77653eba1c7c5" + +CUIA_PV = "1_00_00_13" +CUIA_PVExtra = "" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/UIA/SCMCSDK/cuia_${CUIA_PV}${CUIA_PVExtra}.tar.gz;name=cuia" +SRC_URI[cuia.md5sum] = "ef53989ac70c191841cd656cdc8770be" +SRC_URI[cuia.sha256sum] = "f16d138a9146fdc7d52cba77bd30596da65835f6ffe4092baf2b33d1c1a4fb0d" + +S = "${WORKDIR}/cuia_${CUIA_PV}${CUIA_PVExtra}" + +CLEANBROKEN = "1" + +do_compile () { + cd ${S} + oe_runmake clean + oe_runmake all +} + +do_install() { + cd ${S} + oe_runmake DESTDIR=${D} libdir=${libdir} includedir=${includedir} install +} + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" + +INSANE_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 @@ +SUMMARY = "Firmware for DSP for an example application called copycodectest" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://src/ti/framework/dce/dce.c;startline=1;endline=31;md5=2c6e9aba6ed75f22b1a2b7544b1c809d" + +COMPATIBLE_MACHINE = "dra7xx" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dsp" + +SRC_URI = "git://git.ti.com/glsdk/dspdce.git;protocol=git" + +SRCREV = "de6e599f067b25c46cc0c8f74a22cc3b8aafbae8" + +PV = "1.00.00.07" + +S = "${WORKDIR}/git" + +require recipes-ti/includes/ti-paths.inc + +PR = "r4" +inherit update-alternatives + +DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-ipc-rtos ti-osal ti-cgt6x-native" + +export HWVERSION = "ES10" +export BIOSTOOLSROOT = "${STAGING_DIR_TARGET}/usr/share/ti" + +export XDCVERSION = "ti-xdctools-tree" +export BIOSVERSION = "ti-sysbios-tree" +export IPCVERSION = "ti-ipc-tree" +export CEVERSION = "ti-codec-engine-tree" +export FCVERSION = "ti-framework-components-tree" +export XDAISVERSION = "ti-xdais-tree" +export OSALVERSION = "ti-osal-tree" + +export IPCSRC = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" +export C66XCGTOOLSPATH = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" + +do_configure() { + cd ${S} + make unconfig + make vayu_config +} + +do_compile() { + cd ${S} + make dspbin +} + +TARGET = "dra7-dsp1-fw.xe66" + +do_install() { + install -d ${D}${base_libdir}/firmware + install -m 0644 ${S}/dra7xx-c66x-dsp.xe66 ${D}${base_libdir}/firmware/${TARGET}.${BPN} +} + +ALTERNATIVE:${PN} = "dra7-dsp1-fw.xe66" +ALTERNATIVE_LINK_NAME[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/${TARGET}" +ALTERNATIVE_TARGET[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/${TARGET}.${BPN}" +ALTERNATIVE_PRIORITY = "10" + +INSANE_SKIP:${PN} = "arch" + +FILES:${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 @@ +DESCRIPTION = "Debug Sub-System (DebugSS) driver for Keystone and DRA7xx devices" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=9d4316fe434ba450dca4da25348ca5a3" + +# This package builds a kernel module, use kernel PR as base and append a local +MACHINE_KERNEL_PR:append = "d" +PR = "${MACHINE_KERNEL_PR}" +PV:append = "+git${SRCPV}" + +S = "${WORKDIR}/git/debugss_module/debugss-mod" + +inherit module + +PLATFORM = "" +PLATFORM:dra7xx = "DRA7xx_PLATFORM" + +EXTRA_OEMAKE = "'PLATFORM=${PLATFORM}' KVERSION=${KERNEL_VERSION} KERNEL_SRC=${STAGING_KERNEL_DIR}" + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +include dsptop.inc diff --git a/meta-ti-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 @@ +# This corresponds to version 1.4.0 +SRCREV = "816485e68430bbec643eac9498bfa5303eb2c2e1" +PV = "1.4.0" +INC_PR = "r2" + +SRC_URI = "git://git.ti.com/sdo-emu/dsptop.git;protocol=git;branch=${BRANCH}" + +BRANCH = "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 @@ +DESCRIPTION = "TI dsptop utility." +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979" + +DEPENDS = "libulm ncurses" + +PR = "${INC_PR}.2" + +S = "${WORKDIR}/git/dsptop" + +DEVICE = "" +DEVICE:dra7xx = "DRA7xx" + +EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}"" + +do_install() { + oe_runmake install DESTDIR=${D} +} + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "debugss-module-drv bash" + +include dsptop.inc + +PARALLEL_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 @@ +SUMMARY = "TI Usage & Load Monitor Implementation" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://../debian/copyright;md5=309825aa8f5edfcf2c44912ac094b979" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dsp" + +DEPENDS = "ti-cgt6x-native" +PR = "${INC_PR}.0" + +S = "${WORKDIR}/git/dsptop/ulm" + +DEVICE="" +DEVICE:dra7xx = "DRA7xx" + +EXTRA_OEMAKE = "release DEVICE=${DEVICE} CROSS_COMPILE=${TARGET_PREFIX}" + +do_compile() { + oe_runmake arm XPORT_ONLY CC="${CC}" + oe_runmake dsp C6X_C_DIR=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x/include +} + +do_install() { + install -d ${D}${includedir} + install -d ${D}${libdir} + install -d ${D}${datadir}/ti/ulm + cp -f tiulm.h ${D}${includedir} + cp -f release/libtiulm.a ${D}${libdir} + cp -f tiulm.h ${D}${datadir}/ti/ulm + cp -f release/libtiulm.ae66 ${D}${datadir}/ti/ulm +} + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES:${PN}-dev += "\ + ${datadir}/ti/ulm \ +" + +include dsptop.inc + +ALLOW_EMPTY:${PN} = "1" + +PARALLEL_MAKE= "" diff --git a/meta-ti-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 @@ +DESCRIPTION = "Kernel drivers for the Vivante GC320 chipset found in TI SoCs" +HOMEPAGE = "https://git.ti.com/graphics/ti-gc320-driver" +LICENSE = "MIT | GPLv2" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=78d9818a51b9a8e9bb89dea418bac297" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "gc320" + +MACHINE_KERNEL_PR:append = "i" +PR = "${MACHINE_KERNEL_PR}" + +# Need to branch out with ${PV} var +BRANCH = "ti-${PV}-k5.10" + +SRCREV = "e2a10f31e255a65ec30a6e10b890e77d7e9cb107" + +SRC_URI = "git://git.ti.com/graphics/ti-gc320-driver.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git/src" + +EXTRA_OEMAKE += "-f Kbuild AQROOT=${S} KERNEL_DIR=${STAGING_KERNEL_DIR} TOOLCHAIN_PATH=${TOOLCHAIN_PATH} CROSS_COMPILE=${TARGET_PREFIX} ARCH_TYPE=${TARGET_ARCH}" + +do_install() { + install -d ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra + install -m 644 ${S}/galcore.ko ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra +} + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_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 @@ +DESCRIPTION = "Goodix GT9271 config firmware" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENCE.Spectrum-GT9271;md5=2a6de6be7af1fe46370c684daf27c852" + +PV = "${GOODIX_FW_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "dra7xx" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" +ORIGIN = "DRA71x-RevA-GT9271_SpecDig_Config.bin" +TARGET = "goodix_9271_cfg.bin" + +do_install() { + install -d ${D}${base_libdir}/firmware + install -m 0644 ${S}/ti-evm/${ORIGIN} ${D}${base_libdir}/firmware/${TARGET} +} + +FILES:${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 @@ +SUMMARY = "Firmware for IPU to suppor Accelerated MM decode and encode" +LICENSE = "TI-TSPA" + +LIC_FILES_CHKSUM = "file://Texas_Instruments_ipumm_Manifest.pdf;md5=5cc572579f07af266ab57fc17d762c7f" + +COMPATIBLE_MACHINE = "dra7xx" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "mmip" + +RDEPENDS:${PN} = "libdce" + +SRC_URI = "git://git.ti.com/ivimm/ipumm.git;protocol=git" + +SRCREV = "df4c50aecc9aad7ab3eb1ca9ebacfe473fcad7c5" + +S = "${WORKDIR}/git" + +PV = "3.00.15.00" +PR = "r7" + +require recipes-ti/includes/ti-paths.inc + +inherit update-alternatives + +DEPENDS = "ti-xdctools-native ti-sysbios ti-codec-engine ti-framework-components ti-xdais ti-cgt-arm-native ti-ipc-rtos" + +export HWVERSION="ES10" +export BIOSTOOLSROOT="${STAGING_DIR_TARGET}/usr/share/ti" + +export XDCVERSION="ti-xdctools-tree" +export BIOSVERSION="ti-sysbios-tree" +export IPCVERSION="ti-ipc-tree" +export CEVERSION="ti-codec-engine-tree" +export FCVERSION="ti-framework-components-tree" +export XDAISVERSION="ti-xdais-tree" + +export TMS470CGTOOLPATH="${M4_TOOLCHAIN_INSTALL_DIR}" +export IPCSRC="${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" + +EXTRA_OEMAKE += "XDCDIST_TREE=${STAGING_DIR_NATIVE}/usr/share/ti/${XDCVERSION}" + +do_configure() { + oe_runmake unconfig + oe_runmake vayu_smp_config +} + +do_compile() { + oe_runmake +} + +TARGET = "dra7-ipu2-fw.xem4" +TARGET_MAP = "platform/ti/dce/baseimage/package/cfg/out/ipu/release/ipu.xem4.map" + +do_install() { + install -d ${D}${base_libdir}/firmware + install -m 0644 ${S}/${TARGET} ${D}${base_libdir}/firmware/${TARGET}.${BPN} + install -m 0644 ${S}/${TARGET_MAP} ${D}${base_libdir}/firmware/${TARGET}.map +} + +ALTERNATIVE:${PN} = "dra7-ipu2-fw.xem4" +ALTERNATIVE_LINK_NAME[dra7-ipu2-fw.xem4] = "${base_libdir}/firmware/${TARGET}" +ALTERNATIVE_TARGET[dra7-ipu2-fw.xem4] = "${base_libdir}/firmware/${TARGET}.${BPN}" +ALTERNATIVE_PRIORITY = "20" + +FILES:${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 @@ +From 80d32fee3d768abbd77cce77ea9a7574651460a9 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denis@denix.org> +Date: Wed, 7 Jul 2021 13:11:56 -0400 +Subject: [PATCH] compiler: support OpenEmbedded "nodistro" internal aarch64 + toolchain + +Upstream-Status: Pending + +Signed-off-by: Denys Dmytriyenko <denis@denix.org> +--- + build/linux/config/compiler.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/linux/config/compiler.mk b/build/linux/config/compiler.mk +index 53a0bef..d788579 100644 +--- a/build/linux/config/compiler.mk ++++ b/build/linux/config/compiler.mk +@@ -65,7 +65,7 @@ define calculate-compiler-preferred-target + ifneq ($$(filter i386-% i486-% i586-% i686-%,$$($(1)_compiler_preferred_target)),) + $(1)_compiler_preferred_target := i386-linux-gnu + endif +- ifneq ($$(filter aarch64-poky-linux,$$($(1)_compiler_preferred_target)),) ++ ifneq ($$(filter aarch64-oe-linux aarch64-poky-linux,$$($(1)_compiler_preferred_target)),) + $(1)_compiler_preferred_target := aarch64-linux-gnu + endif + ifneq ($$(filter armv7a-cros-linux-gnueabi armv7l-tizen-linux-gnueabi,$$($(1)_compiler_preferred_target)),) +-- +2.7.4 + 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 @@ +DESCRIPTION = "Kernel drivers for the PowerVR Rogue GPU found in the TI SoCs" +HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-driver" +LICENSE = "MIT | GPLv2" +LIC_FILES_CHKSUM = "file://README;beginline=14;endline=19;md5=0403c7dea01a2b8232261e805325fac2" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "gpu" + +MACHINE_KERNEL_PR:append = "b" +PR = "${MACHINE_KERNEL_PR}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "j7" + +DEPENDS = "virtual/kernel" + +PROVIDES = "virtual/gpudriver" + +BRANCH = "1.13-5776728/linux-k5.10" + +SRC_URI = " \ + git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \ + file://0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch \ +" + +S = "${WORKDIR}/git" + +SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84" + +PVR_SOC = "j721e_linux" +PVR_BVNC = "22.104.208.318" +PVR_BUILD = "release" +PVR_WS = "wayland" + +EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" RGX_BVNC=${PVR_BVNC} BUILD=${PVR_BUILD} PVR_BUILD_DIR=${PVR_SOC} WINDOW_SYSTEM=${PVR_WS}' + +do_install() { + 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 +} 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 @@ +DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the TI SoCs" +HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-linux" +LICENSE = "MIT | GPLv2" +LIC_FILES_CHKSUM = "file://eurasia_km/README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "gpu" + +COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3" + +MACHINE_KERNEL_PR:append = "x" +PR = "${MACHINE_KERNEL_PR}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "virtual/kernel" + +PROVIDES = "virtual/gpudriver" + +BRANCH = "ti-img-sgx/${PV}/k5.10" + +SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-linux.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git" + +SRCREV = "eda7780bfd5277e16913c9bc0b0e6892b4e79063" + +TARGET_PRODUCT:omap-a15 = "jacinto6evm" +TARGET_PRODUCT:ti33x = "ti335x" +TARGET_PRODUCT:ti43x = "ti437x" +TARGET_PRODUCT:k3 = "ti654x" + +EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" TARGET_PRODUCT=${TARGET_PRODUCT} WINDOW_SYSTEM=nulldrmws' + +do_compile:prepend() { + cd ${S}/eurasia_km/eurasiacon/build/linux2/omap_linux +} + +do_install() { + 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 +} + +do_install:k3() { + 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 +} 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 @@ +DESCRIPTION = "Programmable Real-time Unit Software Package" +HOMEPAGE = "http://processors.wiki.ti.com/index.php/PRU-ICSS" +LICENSE = "BSD-3-Clause & PD" + +LIC_FILES_CHKSUM = "file://PRU-Package-v6.1-Manifest.html;md5=1e37797ebe9254922f4278bb6047211c" + +inherit update-alternatives + +BRANCH = "master" +SRC_URI = "git://git.ti.com/pru-software-support-package/pru-software-support-package.git;protocol=git;branch=${BRANCH}" +SRCREV = "8eee431384b6a1a9c96ae91a8e99485176b4d2b3" + +PV = "6.0.1" +PR = "r0" + +require recipes-ti/includes/ti-paths.inc + +COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PACKAGES:prepend = " \ + ${PN}-halt \ + ${PN}-rpmsg-echo \ +" + +RDEPENDS:${PN}:append = " \ + ${PN}-halt \ + ${PN}-rpmsg-echo \ +" + +DEPENDS = "ti-cgt-pru-native" + +S = "${WORKDIR}/git" + +export PRU_CGT = "${TI_CGT_PRU_INSTALL_DIR}" +export PRU_SSP = "${S}" + +SUBDIRS = "examples pru_cape/pru_fw lib/src labs" + +PLATFORM:ti33x = "am335x" +PLATFORM:ti43x = "am437x" +PLATFORM:omap-a15 = "am572x" +PLATFORM:am64xx = "am64x" +PLATFORM:am65xx = "am65x" +PLATFORM:j7 = "j721e" + +do_compile() { + for dir in ${SUBDIRS} + do + make -C ${S}/$dir + done +} + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${base_libdir}/firmware/pru + install -d ${D}${includedir} + cp ${CP_ARGS} ${S}/include/* ${D}${includedir} + install -d ${D}${libdir} + install -m 0644 ${S}/lib/rpmsg_lib.lib ${D}${libdir} +} + +FILES:${PN}-staticdev = "${libdir}" +FILES:${PN}-dev = "${includedir}" + +do_install:append:ti33x() { + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \ + ${D}${base_libdir}/firmware/pru + for i in 0 1 + do + install -m 0644 ${S}/examples/am335x/PRU_RPMsg_Echo_Interrupt${i}/gen/PRU_RPMsg_Echo_Interrupt${i}.out \ + ${D}${base_libdir}/firmware/pru + done +} + +do_install:append:ti43x() { + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \ + ${D}${base_libdir}/firmware/pru + for i in 0 1 + do + for j in 0 1 + do + install -m 0644 ${S}/examples/am437x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + done + done +} + +do_install:append:omap-a15() { + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU_Halt.out \ + ${D}${base_libdir}/firmware/pru + for i in 1 2 + do + for j in 0 1 + do + install -m 0644 ${S}/examples/am572x/PRU_RPMsg_Echo_Interrupt${i}_${j}/gen/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + done + done +} + +do_install:append:am64xx(){ + for i in 0 1 + do + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + done + for i in 0 1 + do + for j in 0 1 + do + install -m 0644 ${S}/examples/${PLATFORM}/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + install -m 0644 ${S}/examples/${PLATFORM}/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + done + done +} + +do_install:append:am65xx() { + for i in 0 1 + do + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + done + for i in 0 1 2 + do + for j in 0 1 + do + install -m 0644 ${S}/examples/am65x/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + install -m 0644 ${S}/examples/am65x/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + + done + done +} + +do_install:append:j7() { + for i in 0 1 + do + install -m 644 ${S}/examples/${PLATFORM}/PRU_Halt/gen/PRU${i}/PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/RTU_Halt/gen/RTU${i}/RTU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + install -m 644 ${S}/examples/${PLATFORM}/TX_PRU_Halt/gen/TX_PRU${i}/TX_PRU_Halt_${i}.out \ + ${D}${base_libdir}/firmware/pru + done + for i in 0 1 + do + for j in 0 1 + do + install -m 0644 ${S}/examples/j721e/PRU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/PRU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + install -m 0644 ${S}/examples/j721e/RTU_RPMsg_Echo_Interrupt${j}/gen/icssg${i}/RTU_RPMsg_Echo_Interrupt${i}_${j}.out \ + ${D}${base_libdir}/firmware/pru + + done + done +} + + +FILES:${PN}-halt = "${base_libdir}/firmware/pru/PRU_Halt* ${base_libdir}/firmware/pru/RTU_Halt* ${base_libdir}/firmware/pru/TX_PRU_Halt*" +FILES:${PN}-rpmsg-echo = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt* ${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt*" + +# Set up names for the firmwares +PRU_ICSS_ALTERNATIVES:ti33x = "am335x-pru0-fw am335x-pru1-fw" +PRU_ICSS_ALTERNATIVES:ti43x = "am437x-pru0_0-fw am437x-pru0_1-fw am437x-pru1_0-fw am437x-pru1_1-fw" +PRU_ICSS_ALTERNATIVES:omap-a15 = "am57xx-pru1_0-fw am57xx-pru1_1-fw am57xx-pru2_0-fw am57xx-pru2_1-fw" +PRU_ICSS_ALTERNATIVES:am64xx = "am64x-pru0_0-fw am64x-pru0_1-fw am64x-pru1_0-fw am64x-pru1_1-fw am64x-rtu0_0-fw am64x-rtu0_1-fw am64x-rtu1_0-fw am64x-rtu1_1-fw" +PRU_ICSS_ALTERNATIVES:am65xx = "am65x-pru0_0-fw am65x-pru0_1-fw am65x-pru1_0-fw am65x-pru1_1-fw am65x-pru2_0-fw am65x-pru2_1-fw am65x-rtu0_0-fw am65x-rtu0_1-fw am65x-rtu1_0-fw am65x-rtu1_1-fw am65x-rtu2_0-fw am65x-rtu2_1-fw" +PRU_ICSS_ALTERNATIVES: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" + +# Set up link names for the firmwares +ALTERNATIVE_LINK_NAME[am335x-pru0-fw] = "${base_libdir}/firmware/am335x-pru0-fw" +ALTERNATIVE_LINK_NAME[am335x-pru1-fw] = "${base_libdir}/firmware/am335x-pru1-fw" + +ALTERNATIVE_LINK_NAME[am437x-pru0_0-fw] = "${base_libdir}/firmware/am437x-pru0_0-fw" +ALTERNATIVE_LINK_NAME[am437x-pru0_1-fw] = "${base_libdir}/firmware/am437x-pru0_1-fw" +ALTERNATIVE_LINK_NAME[am437x-pru1_0-fw] = "${base_libdir}/firmware/am437x-pru1_0-fw" +ALTERNATIVE_LINK_NAME[am437x-pru1_1-fw] = "${base_libdir}/firmware/am437x-pru1_1-fw" + +ALTERNATIVE_LINK_NAME[am57xx-pru1_0-fw] = "${base_libdir}/firmware/am57xx-pru1_0-fw" +ALTERNATIVE_LINK_NAME[am57xx-pru1_1-fw] = "${base_libdir}/firmware/am57xx-pru1_1-fw" +ALTERNATIVE_LINK_NAME[am57xx-pru2_0-fw] = "${base_libdir}/firmware/am57xx-pru2_0-fw" +ALTERNATIVE_LINK_NAME[am57xx-pru2_1-fw] = "${base_libdir}/firmware/am57xx-pru2_1-fw" + +ALTERNATIVE_LINK_NAME[am64x-pru0_0-fw] = "${base_libdir}/firmware/am64x-pru0_0-fw" +ALTERNATIVE_LINK_NAME[am64x-pru0_1-fw] = "${base_libdir}/firmware/am64x-pru0_1-fw" +ALTERNATIVE_LINK_NAME[am64x-pru1_0-fw] = "${base_libdir}/firmware/am64x-pru1_0-fw" +ALTERNATIVE_LINK_NAME[am64x-pru1_1-fw] = "${base_libdir}/firmware/am64x-pru1_1-fw" +ALTERNATIVE_LINK_NAME[am64x-rtu0_0-fw] = "${base_libdir}/firmware/am64x-rtu0_0-fw" +ALTERNATIVE_LINK_NAME[am64x-rtu0_1-fw] = "${base_libdir}/firmware/am64x-rtu0_1-fw" +ALTERNATIVE_LINK_NAME[am64x-rtu1_0-fw] = "${base_libdir}/firmware/am64x-rtu1_0-fw" +ALTERNATIVE_LINK_NAME[am64x-rtu1_1-fw] = "${base_libdir}/firmware/am64x-rtu1_1-fw" +ALTERNATIVE_LINK_NAME[am64x-txpru0_0-fw] = "${base_libdir}/firmware/am64x-txpru0_0-fw" +ALTERNATIVE_LINK_NAME[am64x-txpru0_1-fw] = "${base_libdir}/firmware/am64x-txpru0_1-fw" +ALTERNATIVE_LINK_NAME[am64x-txpru1_0-fw] = "${base_libdir}/firmware/am64x-txpru1_0-fw" +ALTERNATIVE_LINK_NAME[am64x-txpru1_1-fw] = "${base_libdir}/firmware/am64x-txpru1_1-fw" + +ALTERNATIVE_LINK_NAME[am65x-pru0_0-fw] = "${base_libdir}/firmware/am65x-pru0_0-fw" +ALTERNATIVE_LINK_NAME[am65x-pru0_1-fw] = "${base_libdir}/firmware/am65x-pru0_1-fw" +ALTERNATIVE_LINK_NAME[am65x-pru1_0-fw] = "${base_libdir}/firmware/am65x-pru1_0-fw" +ALTERNATIVE_LINK_NAME[am65x-pru1_1-fw] = "${base_libdir}/firmware/am65x-pru1_1-fw" +ALTERNATIVE_LINK_NAME[am65x-pru2_0-fw] = "${base_libdir}/firmware/am65x-pru2_0-fw" +ALTERNATIVE_LINK_NAME[am65x-pru2_1-fw] = "${base_libdir}/firmware/am65x-pru2_1-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu0_0-fw] = "${base_libdir}/firmware/am65x-rtu0_0-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu0_1-fw] = "${base_libdir}/firmware/am65x-rtu0_1-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu1_0-fw] = "${base_libdir}/firmware/am65x-rtu1_0-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu1_1-fw] = "${base_libdir}/firmware/am65x-rtu1_1-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu2_0-fw] = "${base_libdir}/firmware/am65x-rtu2_0-fw" +ALTERNATIVE_LINK_NAME[am65x-rtu2_1-fw] = "${base_libdir}/firmware/am65x-rtu2_1-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru0_0-fw] = "${base_libdir}/firmware/am65x-txpru0_0-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru0_1-fw] = "${base_libdir}/firmware/am65x-txpru0_1-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru1_0-fw] = "${base_libdir}/firmware/am65x-txpru1_0-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru1_1-fw] = "${base_libdir}/firmware/am65x-txpru1_1-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru2_0-fw] = "${base_libdir}/firmware/am65x-txpru2_0-fw" +ALTERNATIVE_LINK_NAME[am65x-txpru2_1-fw] = "${base_libdir}/firmware/am65x-txpru2_1-fw" + +ALTERNATIVE_LINK_NAME[j7-pru0_0-fw] = "${base_libdir}/firmware/j7-pru0_0-fw" +ALTERNATIVE_LINK_NAME[j7-pru0_1-fw] = "${base_libdir}/firmware/j7-pru0_1-fw" +ALTERNATIVE_LINK_NAME[j7-pru1_0-fw] = "${base_libdir}/firmware/j7-pru1_0-fw" +ALTERNATIVE_LINK_NAME[j7-pru1_1-fw] = "${base_libdir}/firmware/j7-pru1_1-fw" +ALTERNATIVE_LINK_NAME[j7-rtu0_0-fw] = "${base_libdir}/firmware/j7-rtu0_0-fw" +ALTERNATIVE_LINK_NAME[j7-rtu0_1-fw] = "${base_libdir}/firmware/j7-rtu0_1-fw" +ALTERNATIVE_LINK_NAME[j7-rtu1_0-fw] = "${base_libdir}/firmware/j7-rtu1_0-fw" +ALTERNATIVE_LINK_NAME[j7-rtu1_1-fw] = "${base_libdir}/firmware/j7-rtu1_1-fw" +ALTERNATIVE_LINK_NAME[j7-txpru0_0-fw] = "${base_libdir}/firmware/j7-txpru0_0-fw" +ALTERNATIVE_LINK_NAME[j7-txpru0_1-fw] = "${base_libdir}/firmware/j7-txpru0_1-fw" +ALTERNATIVE_LINK_NAME[j7-txpru1_0-fw] = "${base_libdir}/firmware/j7-txpru1_0-fw" +ALTERNATIVE_LINK_NAME[j7-txpru1_1-fw] = "${base_libdir}/firmware/j7-txpru1_1-fw" + +# Create the pru-icss-halt firmware alternatives +ALTERNATIVE:pru-icss-halt = "${PRU_ICSS_ALTERNATIVES}" + +# Only Halt firmware images are supported for the Tx_PRU cores +ALTERNATIVE:pru-icss-halt:append:am64xx = " am64x-txpru0_0-fw am64x-txpru0_1-fw am64x-txpru1_0-fw am64x-txpru1_1-fw" +ALTERNATIVE:pru-icss-halt:append:am65xx = " am65x-txpru0_0-fw am65x-txpru0_1-fw am65x-txpru1_0-fw am65x-txpru1_1-fw am65x-txpru2_0-fw am65x-txpru2_1-fw" +ALTERNATIVE:pru-icss-halt:append:j7 = " j7-txpru0_0-fw j7-txpru0_1-fw j7-txpru1_0-fw j7-txpru1_1-fw" + +ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am335x-pru1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" + +ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am437x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" + +ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" +ALTERNATIVE_TARGET_pru-icss-halt[am57xx-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt.out" + +ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am64x-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" + +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-rtu2_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[am65x-txpru2_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" + +ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru0_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_0-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_0.out" +ALTERNATIVE_TARGET_pru-icss-halt[j7-txpru1_1-fw] = "${base_libdir}/firmware/pru/TX_PRU_Halt_1.out" + + +ALTERNATIVE_PRIORITY_pru-icss-halt = "50" + +# Create the pru-icss-rpmsg-echo firmware alternatives +ALTERNATIVE:pru-icss-rpmsg-echo = "${PRU_ICSS_ALTERNATIVES}" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am335x-pru1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1.out" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am437x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am57xx-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am64x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-pru2_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[am65x-rtu2_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt2_1.out" + +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru0_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_0-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-pru1_1-fw] = "${base_libdir}/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu0_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_0-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out" +ALTERNATIVE_TARGET_pru-icss-rpmsg-echo[j7-rtu1_1-fw] = "${base_libdir}/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out" + +ALTERNATIVE_PRIORITY_pru-icss-rpmsg-echo = "100" + +ALLOW_EMPTY:${PN} = "1" + +# This installs PRU firmware, so skip "arch" QA check +INSANE_SKIP:${PN}-halt = "arch" +INSANE_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 @@ +DESCRIPTION = "Builds eDMA module used by eDMA libraries for PRU sw example applications" +HOMEPAGE = "https://gforge.ti.com/gf/project/pru_sw/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://edmautils.c;beginline=1;endline=23;md5=312e9cb8a37a044c617c98a9e980ad1b" + +COMPATIBLE_MACHINE = "omapl138" + +INHIBIT_PACKAGE_STRIP = "1" + +MACHINE_KERNEL_PR:append = "b" +PR = "${MACHINE_KERNEL_PR}" +PV:append = "+svn${SRCPV}" + +SRC_URI = "svn://gforge.ti.com/svn/pru_sw/;module=trunk;protocol=https;user=anonymous;pswd=''" + +SRCREV = "33" + +S = "${WORKDIR}/trunk/peripheral_lib/edma_driver/module" + +inherit module + +EXTRA_OEMAKE += "KERNEL_DIR='${STAGING_KERNEL_DIR}'" + +do_compile:prepend () { + export CCTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" +} + +do_install () { + install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru + install -m 0755 ${S}/edmautils.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/ +} 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 @@ +SUMMARY = "PRU Ethernet firmware for AM65xx SR2.0" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PV = "${PRUETH_FW_AM65X_SR2_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "am65xx-evm|am64xx-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = " \ + am65x-sr2-pru0-prueth-fw.elf \ + am65x-sr2-pru1-prueth-fw.elf \ + am65x-sr2-rtu0-prueth-fw.elf \ + am65x-sr2-rtu1-prueth-fw.elf \ + am65x-sr2-txpru0-prueth-fw.elf \ + am65x-sr2-txpru1-prueth-fw.elf \ +" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU Ethernet firmware for AM65x SR1.0" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PV = "${PRUETH_FW_AM65X_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "am65xx" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = " \ + am65x-pru0-prueth-fw.elf \ + am65x-pru1-prueth-fw.elf \ + am65x-rtu0-prueth-fw.elf \ + am65x-rtu1-prueth-fw.elf \ +" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU Ethernet firmware for AM57xx, AM437x and AM335x" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = "" +TARGET:ti33x = "am335x-pru0-prueth-fw.elf am335x-pru1-prueth-fw.elf" +TARGET:ti43x = "am437x-pru0-prueth-fw.elf am437x-pru1-prueth-fw.elf" +TARGET:am57xx-evm = "am57xx-pru0-prueth-fw.elf am57xx-pru1-prueth-fw.elf" +TARGET:am57xx-hs-evm = "am57xx-pru0-prueth-fw.elf am57xx-pru1-prueth-fw.elf" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU HSR firmware for AM335x/AM437x/AM57xx" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PE = "1" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = "" +TARGET:ti33x = "am335x-pru0-pruhsr-fw.elf am335x-pru1-pruhsr-fw.elf" +TARGET:ti43x = "am437x-pru0-pruhsr-fw.elf am437x-pru1-pruhsr-fw.elf" +TARGET:am57xx-evm = "am57xx-pru0-pruhsr-fw.elf am57xx-pru1-pruhsr-fw.elf" +TARGET:am57xx-hs-evm = "am57xx-pru0-pruhsr-fw.elf am57xx-pru1-pruhsr-fw.elf" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU PRP firmware for AM335x/AM437x/AM57xx" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PE = "1" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = "" +TARGET:ti33x = "am335x-pru0-pruprp-fw.elf am335x-pru1-pruprp-fw.elf" +TARGET:ti43x = "am437x-pru0-pruprp-fw.elf am437x-pru1-pruprp-fw.elf" +TARGET:am57xx-evm = "am57xx-pru0-pruprp-fw.elf am57xx-pru1-pruprp-fw.elf" +TARGET:am57xx-hs-evm = "am57xx-pru0-pruprp-fw.elf am57xx-pru1-pruprp-fw.elf" + + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU Ethernet Switch firmware for AM65xx SR2.0" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PV = "${PRUETH_FW_AM65X_SR2_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "am65xx-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = " \ + am65x-sr2-pru0-prusw-fw.elf \ + am65x-sr2-pru1-prusw-fw.elf \ + am65x-sr2-rtu0-prusw-fw.elf \ + am65x-sr2-rtu1-prusw-fw.elf \ + am65x-sr2-txpru0-prusw-fw.elf \ + am65x-sr2-txpru1-prusw-fw.elf \ +" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "PRU Switch firmware for AM57xx, AM437x and AM335x" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" + +TARGET = "" +TARGET:ti33x = "am335x-pru0-prusw-fw.elf am335x-pru1-prusw-fw.elf" +TARGET:ti43x = "am437x-pru0-prusw-fw.elf am437x-pru1-prusw-fw.elf" +TARGET:am57xx-evm = "am57xx-pru0-prusw-fw.elf am57xx-pru1-prusw-fw.elf" +TARGET:am57xx-hs-evm = "am57xx-pru0-prusw-fw.elf am57xx-pru1-prusw-fw.elf" + +do_install() { + install -d ${D}${base_libdir}/firmware/ti-pruss + for f in ${TARGET}; do + install -m 0644 ${S}/ti-pruss/$f ${D}${base_libdir}/firmware/ti-pruss/$f + done +} + + +FILES:${PN} = "${base_libdir}/firmware" + +INSANE_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 @@ +SUMMARY = "Test applications for TI DEC (v4l2 decoder for IMG D5520)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=f17e17d664f72942124e4fcf06c178ee" + +DEPENDS = "libdrm ffmpeg" + +inherit autotools pkgconfig + +COMPATIBLE_MACHINE = "j7" + +PR = "r1" +SRCREV = "94a80c8c090dbfdc7fafd4e5bb78c2091e715af2" + +EXTRA_OEMAKE = "CC="${CC}"" +TARGET_CC_ARCH += "${LDFLAGS}" + +BRANCH = "master" +SRC_URI = "git://git.ti.com/jacinto7_multimedia/viddec-test-app.git;protocol=git;branch=${BRANCH}" + +S = "${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 @@ +SUMMARY = "Test applications for TI ENC (v4l2 encoder for IMG VXE384)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=3545dd5bdf513840937d38c10b866605" + +DEPENDS = "libdrm" + +inherit autotools pkgconfig + +COMPATIBLE_MACHINE = "j7" + +PR = "r0" +SRCREV = "a5e7d820bea1be24f25a8369d4d4521c784f869a" + +EXTRA_OEMAKE = "CC="${CC}"" +TARGET_CC_ARCH += "${LDFLAGS}" + +BRANCH = "master" +SRC_URI = "git://git.ti.com/jacinto7_multimedia/videnc-test-app.git;protocol=git;branch=${BRANCH}" + +S = "${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 @@ +SUMMARY = "Video Decoding Firmware" +LICENSE = "TI-IMG" +LIC_FILES_CHKSUM = "file://LICENSE.ti-img;md5=84ca7278930db001870686ad997d6bb1" + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PV = "${IMG_DEC_FW_VERSION}" +PR = "${INC_PR}.0" + +CLEANBROKEN = "1" + +COMPATIBLE_MACHINE = "j7" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" +TARGET = "pvdec_full_bin.fw" + +do_install() { + install -d ${D}${base_libdir}/firmware + install -m 0644 ${S}/ti-img/${TARGET} ${D}${base_libdir}/firmware/${TARGET} +} + +FILES:${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 @@ +SUMMARY = "TI SCI firmware (SYSFW)" + +LICENSE = "TI-TFL" +LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76" + +PV = "2021.09a" +INC_PR = "r1" + +# Firmware versions +CORESDK_RTOS_VERSION = "08.01.00.02" +SERDES_FW_VERSION = "3.3.0.2c" +NETCP_SA_FW_VERSION = "1.0.0" +NETCP_PA_FW_VERSION = "3.0.2.3" +QMSS_PDSP_FW_VERSION = "1.0.0.9" +PRUETH_FW_AM65X_VERSION = "08.00.00.20" +PRUETH_FW_AM65X_SR2_VERSION = "02.02.09.07" +GOODIX_FW_VERSION = "1.0.0.0" +CADENCE_MHDP_FW_VERSION = "1.2.17" +IMG_DEC_FW_VERSION = "1.0" + +TI_LINUX_FW_SRCREV ?= "c96a734a059889e571dcf30c0638157c690a6e6e" +SRCREV = "${TI_LINUX_FW_SRCREV}" + +BRANCH ?= "ti-linux-firmware" + +K3_IMAGE_GEN_SRCREV ?= "489c767a153ff26e9230746e04dd4b1ad0809901" +SRCREV_imggen = "${K3_IMAGE_GEN_SRCREV}" +SRCREV_FORMAT = "imggen" + +SRC_URI = " \ + git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH} \ + git://git.ti.com/k3-image-gen/k3-image-gen.git;protocol=git;branch=master;destsuffix=imggen;name=imggen \ +" + +S = "${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 @@ +From 2efc79702a47f9cbbeecbb2f604577f1ec8c95ba Mon Sep 17 00:00:00 2001 +From: Yogesh Siraswar <yogeshs@ti.com> +Date: Wed, 8 Dec 2021 17:50:19 -0600 +Subject: [KIG PATCH] Makefile: Skip signing of binaries for combined boot hs + images + +Combined sysfw binaries used in tiboot.bin do not require signed images. +This fixes issues with AM64x HS and J7200 HS boot images + +Upstream-Status: Submitted +Signed-off-by: Yogesh Siraswar <yogeshs@ti.com> +--- + Makefile | 8 +++++++- + soc/am64x/Makefile | 1 + + soc/j7200/Makefile | 1 + + 3 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 47b3b20..ab465df 100644 +--- a/Makefile ++++ b/Makefile +@@ -215,8 +215,14 @@ $(soc_objroot)/%.o: %.c + $(CROSS_COMPILE)gcc $(CFLAGS) -c -o $@-pre-validated $< + python3 ./scripts/sysfw_boardcfg_validator.py -b $@-pre-validated -i -o $@ -s $(SOC) -l $@.log + +-# On HS board configuration binaries must be signed ++# On HS board configuration binaries must be signed unless it is combined boot image + ifdef HS ++ifndef COMBINED_BOOT_IMAGE ++SIGN_BINARY=1 ++endif ++endif ++ ++ifdef SIGN_BINARY + %.bin.unsigned: %.o + $(CROSS_COMPILE)objcopy -S -O binary $< $@ + %.bin: %.bin.unsigned +diff --git a/soc/am64x/Makefile b/soc/am64x/Makefile +index bfbe3e5..33ebbd0 100644 +--- a/soc/am64x/Makefile ++++ b/soc/am64x/Makefile +@@ -31,6 +31,7 @@ + # + + SBL_LOADADDDR ?= 0x70000000 ++COMBINED_BOOT_IMAGE = 1 + COMBINED_SYSFW_BRDCFG_LOADADDR ?= 0x7b000 + LOADADDR ?= 0x44000 + SCIFS = sci +diff --git a/soc/j7200/Makefile b/soc/j7200/Makefile +index 3b754f7..0baef51 100644 +--- a/soc/j7200/Makefile ++++ b/soc/j7200/Makefile +@@ -31,6 +31,7 @@ + # + + SBL_LOADADDDR ?= 0x41c00000 ++COMBINED_BOOT_IMAGE = 1 + COMBINED_TIFS_BRDCFG_LOADADDR ?= 0x7f000 + COMBINED_DM_BRDCFG_LOADADDR ?= 0x41c80000 + LOADADDR ?= 0x40000 +-- +2.17.1 + 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 @@ +# ti-sci-fw builds and packages multiple config variants via multiconfig +# Let's take a page from gcc-source as a common recipe for all gcc stages, +# but also to provide a single package for MAINMACHINE of all multiconfigs + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +SUMMARY += "- sources" + +COMPATIBLE_MACHINE = "k3" + +EXCLUDE_FROM_WORLD = "1" +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "" + +PACKAGES = "${PN}" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +SRCIPK_SRC_DIR = "${WORKDIR}/imggen" +SRCIPK_INSTALL_DIR = "board-support/k3-image-gen-${PV}" +FILES:${PN} = "${SRCIPK_INSTALL_DIR}" + +do_install() { + # Copy sources for packaging + mkdir -p ${D}/${SRCIPK_INSTALL_DIR} + if [ -e ${SRCIPK_SRC_DIR} ]; then + if [ "${SRCIPK_SRC_DIR}" = "${WORKDIR}" ]; then + excludes='--exclude ./temp --exclude ${D}' + fi + tar -C ${SRCIPK_SRC_DIR} -cO $excludes . | tar -C ${D}/${SRCIPK_INSTALL_DIR} -xpf - + fi + + # Fix up patches/ directory to contain actual patches instead of symlinks + if [ -e ${D}/${SRCIPK_INSTALL_DIR}/patches ] + then + mv ${D}/${SRCIPK_INSTALL_DIR}/patches ${D}/${SRCIPK_INSTALL_DIR}/patches-links + cp -rL ${D}/${SRCIPK_INSTALL_DIR}/patches-links ${D}/${SRCIPK_INSTALL_DIR}/patches + rm -rf ${D}/${SRCIPK_INSTALL_DIR}/patches-links + fi +} + +# Do not perform any QA checks on source package +INSANE_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 @@ +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +DEPENDS = "openssl-native u-boot-mkimage-native dtc-native" +DEPENDS:append:j7200-evm-k3r5 = " virtual/bootloader" +DEPENDS:append:j7200-hs-evm-k3r5 = " virtual/bootloader" +DEPENDS:append:am64xx-evm-k3r5 = " virtual/bootloader" +DEPENDS:append:am64xx-hs-evm-k3r5 = " virtual/bootloader" + +CLEANBROKEN = "1" +PR = "${INC_PR}.1" + +# Loaded by R5F core +COMPATIBLE_MACHINE = "k3r5" +COMPATIBLE_MACHINE:aarch64 = "null" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +TI_SECURE_DEV_PKG ?= "" +export TI_SECURE_DEV_PKG + +SYSFW_SOC ?= "unknown" +SYSFW_CONFIG ?= "unknown" + +SYSFW_PREFIX = "ti-sci-firmware" +SYSFW_PREFIX:j7-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX:j7200-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX:j7-hs-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX:j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware" +SYSFW_PREFIX:j7200-hs-evm-k3r5 = "ti-fs-firmware" + +SYSFW_SUFFIX ?= "unknown" + +SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}" +SYSFW_BASE:append = "${@['','*']['${SYSFW_SUFFIX}' == 'hs']}" + +SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}.bin" + +SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" +SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" +SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb" +SYSFW_SYMLINK ?= "sysfw.itb" + +CFLAGS[unexport] = "1" +LDFLAGS[unexport] = "1" +AS[unexport] = "1" +LD[unexport] = "1" + +do_configure[noexec] = "1" + +SRC_URI:append:j7200-hs-evm-k3r5 = " \ + file://0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch;patchdir=../imggen" +SRC_URI:append:am64xx-hs-evm-k3r5 = " \ + file://0001-Makefile-Skip-signing-of-binaries-for-combined-boot-.patch;patchdir=../imggen" + +EXTRA_OEMAKE = "\ + CROSS_COMPILE=${TARGET_PREFIX} SYSFW_DL_URL='' SYSFW_HS_DL_URL='' SYSFW_HS_INNER_CERT_DL_URL='' \ + SYSFW_PATH="${SYSFW_TISCI}" SOC=${SYSFW_SOC} CONFIG=${SYSFW_CONFIG} \ +" +EXTRA_OEMAKE_HS = " \ + 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" \ +" +EXTRA_OEMAKE:append = "${@['',' ${EXTRA_OEMAKE_HS}']['${SYSFW_SUFFIX}' == 'hs']}" + +EXTRA_OEMAKE:append:j7200-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE:append:j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE:append:am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE:append:am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" + +do_compile() { + cd ${WORKDIR}/imggen/ + oe_runmake +} + +do_install() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${D}/boot/${SYSFW_VBINARY} + ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_IMAGE} + if [ ! -z "${SYSFW_SYMLINK}" ]; then + ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_SYMLINK} + fi +} + +FILES:${PN} = "/boot" + +inherit deploy + +do_deploy () { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} ${DEPLOYDIR}/${SYSFW_VBINARY} + rm -f ${DEPLOYDIR}/${SYSFW_IMAGE} + ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_IMAGE} + if [ ! -z "${SYSFW_SYMLINK}" ]; then + rm -f ${DEPLOYDIR}/${SYSFW_SYMLINK} + ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_SYMLINK} + fi + + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + +do_install:j7200-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy:j7200-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + +do_install:j7200-hs-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy:j7200-hs-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + +do_install:am64xx-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy:am64xx-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + +do_install:am64xx-hs-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy:am64xx-hs-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + +addtask 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 @@ +PV:k3 = "2.5" +LIC_FILES_CHKSUM:k3 = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" +BRANCH:k3 = "ti-atf" +SRC_URI:k3 = "git://git.ti.com/atf/arm-trusted-firmware.git;branch=${BRANCH};name=tfa" +SRCREV_tfa:k3 = "0693f356eb2a25adf8758d98058120bed082cc73" +COMPATIBLE_MACHINE:k3 = "k3" +TFA_BUILD_TARGET:k3 = "all" +TFA_INSTALL_TARGET:k3 = "bl31" +TFA_SPD:k3 = "opteed" + +do_compile:append:am65xx-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${BUILD_DIR}; \ + mv bl31.bin bl31.bin.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \ + ) +} + +do_compile:append:am64xx-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${BUILD_DIR}; \ + mv bl31.bin bl31.bin.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \ + ) +} + +do_compile:append:j7-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${BUILD_DIR}; \ + mv bl31.bin bl31.bin.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \ + ) +} + +do_compile:append:j7200-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${BUILD_DIR}; \ + mv bl31.bin bl31.bin.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh bl31.bin.unsigned bl31.bin; \ + ) +} 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 @@ +require u-boot-ti.inc + +LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" + +PR = "r0" + +PV = "2021.10" + +# For the un-initiated: +# The actual URL you'd use with a git clone for example would be: +# https://source.denx.de/u-boot/u-boot.git/ +# However, in the context of OE, we have to explicitly split things up: +# a) we want it to use git fetcher - hence git:// prefix in GIT_URI (if we +# used https here, we'd endup attempting wget instead of git) +# b) and we want git fetcher to use https protocol, hence GIT_PROTOCOL as https +UBOOT_GIT_URI = "git://source.denx.de/u-boot/u-boot.git" +UBOOT_GIT_PROTOCOL = "https" +SRCREV = "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 @@ +require u-boot-ti.inc + +PR = "r36" + +BRANCH = "ti-u-boot-2020.01" + +SRCREV = "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 @@ +require u-boot-ti.inc + +LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" + +PR = "r16" + +BRANCH = "ti-u-boot-2021.01" + +SRCREV = "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 @@ +# UBOOT_LOCALVERSION can be set to add a tag to the end of the +# U-boot version string. such as the commit id +def get_git_revision(p): + import subprocess + + try: + return subprocess.Popen("git rev-parse HEAD 2>/dev/null ", cwd=p, shell=True, stdout=subprocess.PIPE, universal_newlines=True).communicate()[0].rstrip() + except OSError: + return None + +UBOOT_LOCALVERSION = "-g${@get_git_revision('${S}').__str__()[:10]}" + +UBOOT_SUFFIX ?= "img" +SPL_BINARY ?= "MLO" + +require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot-common.inc +require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot:" + +SUMMARY = "u-boot bootloader for TI devices" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" + +BRANCH ?= "master" +UBOOT_GIT_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git" +UBOOT_GIT_PROTOCOL = "git" +SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};branch=${BRANCH}" + +PV:append = "+git${SRCPV}" + +# u-boot needs devtree compiler to parse dts files +DEPENDS += "dtc-native bc-native lzop-native flex-native bison-native" + +DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" + +PACKAGECONFIG[atf] = "ATF=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a" +PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os" +PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-ipc/${DM_FIRMWARE},,ti-rtos-firmware" + +PACKAGECONFIG:append:aarch64 = " atf optee" +PACKAGECONFIG:append:j7 = " dm" + +COMPATIBLE_MACHINE = "(ti-soc)" + +EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" + +PROVIDES += "u-boot" +PKG:${PN} = "u-boot" +PKG:${PN}-dev = "u-boot-dev" +PKG:${PN}-dbg = "u-boot-dbg" + +S = "${WORKDIR}/git" + +# Support for secure devices - detailed info is in doc/README.ti-secure +TI_SECURE_DEV_PKG ?= "" +export TI_SECURE_DEV_PKG + +SYSROOT_DIRS += "/boot" + +# SPL (Second Program Loader) to be loaded over UART +SPL_UART_BINARY = "u-boot-spl.bin" +SPL_UART_BINARY:k3r5 = "" +SPL_UART_BINARY:lego-ev3 = "" +SPL_UART_BINARY:j7200-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY:j7200-hs-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY:am64xx-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY:am64xx-hs-evm-k3r5 = "u-boot-spl.bin" + +SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" +SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}" + +# SPI NOR Flash binaries +UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin" +UBOOT_SPI_BINARY = "u-boot.img" +UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph" + +# SPI NOR Flash deployed images +UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin" +UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin" +UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img" +UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img" +UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph" +UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph" + +# HS XLD +UBOOT_HS_XLD_BINARY = "u-boot-spl_HS_X-LOADER" +UBOOT_HS_XLD_IMAGE = "u-boot-spl_HS_X-LOADER-${MACHINE}-${PV}-${PR}" +UBOOT_HS_XLD_SYMLINK = "u-boot-spl_HS_X-LOADER-${MACHINE}" + +# HS MLO +UBOOT_HS_MLO_BINARY = "u-boot_HS_MLO" +UBOOT_HS_MLO_IMAGE = "u-boot_HS_MLO-${MACHINE}-${PV}-${PR}" +UBOOT_HS_MLO_SYMLINK = "u-boot_HS_MLO-${MACHINE}" + +# HS ISSW +UBOOT_HS_ISSW_BINARY = "u-boot-spl_HS_ISSW" +UBOOT_HS_ISSW_IMAGE = "u-boot-spl_HS_ISSW-${MACHINE}-${PV}-${PR}" +UBOOT_HS_ISSW_SYMLINK = "u-boot-spl_HS_ISSW-${MACHINE}" + +# HS 2ND +UBOOT_HS_2ND_BINARY = "u-boot-spl_HS_2ND" +UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}" +UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}" + +do_install:append () { + if [ -n "${UBOOT_CONFIG}" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + if [ "x${SPL_UART_BINARY}" != "x" ]; then + install ${B}/${config}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}-${type} + ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}-${type} + ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}-${type} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}-${type} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}-${type} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}-${type} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}-${type} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}-${type} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}-${type} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}-${type} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY} + fi + fi + done + unset j + done + unset i + else + if [ "x${SPL_UART_BINARY}" != "x" ]; then + install ${B}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE} + ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then + install ${B}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE} + ln -sf ${UBOOT_HS_XLD_IMAGE} ${D}/boot/${UBOOT_HS_XLD_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then + install ${B}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE} + ln -sf ${UBOOT_HS_MLO_IMAGE} ${D}/boot/${UBOOT_HS_MLO_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then + install ${B}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE} + ln -sf ${UBOOT_HS_ISSW_IMAGE} ${D}/boot/${UBOOT_HS_ISSW_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then + install ${B}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE} + ln -sf ${UBOOT_HS_2ND_IMAGE} ${D}/boot/${UBOOT_HS_2ND_BINARY} + fi + fi +} + +do_deploy:append () { + if [ -n "${UBOOT_CONFIG}" ] + then + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); + if [ $j -eq $i ] + then + cd ${DEPLOYDIR} + if [ "x${SPL_UART_BINARY}" != "x" ]; then + install ${B}/${config}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}-${type} + rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK} + ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY}-${type} + ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_BINARY} + ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK}-${type} + ln -sf ${SPL_UART_IMAGE}-${type} ${DEPLOYDIR}/${SPL_UART_SYMLINK} + fi + if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE}-${type} + rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}-${type} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}-${type} + ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE}-${type} + rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}-${type} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}-${type} + ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE}-${type} + rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}-${type} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}-${type} + ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY} + fi + if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then + install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE}-${type} + rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}-${type} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}-${type} + ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY} + fi + fi + done + unset j + done + unset i + else + cd ${DEPLOYDIR} + if [ "x${SPL_UART_BINARY}" != "x" ]; then + install ${B}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE} + rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK} + ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY} + ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK} + fi + if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then + install ${B}/${UBOOT_HS_XLD_BINARY} ${DEPLOYDIR}/${UBOOT_HS_XLD_IMAGE} + rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK} + ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_SYMLINK} + ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then + install ${B}/${UBOOT_HS_MLO_BINARY} ${DEPLOYDIR}/${UBOOT_HS_MLO_IMAGE} + rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK} + ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_SYMLINK} + ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then + install ${B}/${UBOOT_HS_ISSW_BINARY} ${DEPLOYDIR}/${UBOOT_HS_ISSW_IMAGE} + rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK} + ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_SYMLINK} + ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_BINARY} + fi + if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then + install ${B}/${UBOOT_HS_2ND_BINARY} ${DEPLOYDIR}/${UBOOT_HS_2ND_IMAGE} + rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK} + ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_SYMLINK} + ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_BINARY} + fi + fi + + rm ${DEPLOYDIR}/u-boot-initial-env || true + rm ${DEPLOYDIR}/${PN}-initial-env || true + rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE} || true + rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE} || true + rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR} || true + rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR} || true +} + +# j7200 uses combined image for tiboot3.bin that includes u-boot-spl.bin and sysfw +# along with board PM/RM configs generated by k3-image-gen and comes from ti-sci-fw +# hence move the legacy u-boot's tiboot3.bin and u-boot-spl.bin out of the way +do_deploy:append:j7200-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + +do_deploy:append:j7200-hs-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + +do_deploy:append:am64xx-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + +do_deploy:append:am64xx-hs-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + +TOOLCHAIN = "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 @@ +DESCRIPTION = "Test code for user space IO (UIO) driver" + +include uio-module-drv.inc + +PR = "r1" + +COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEVICE_NAME:omap-a15 = "am57xx" +DEVICE_NAME:ti33x = "am33xx" +DEVICE_NAME:ti43x = "am43xx" +RDEPENDS:${PN} = "uio-module-drv" + +do_compile() { + oe_runmake -C ${S} test "DEVICE=${DEVICE_NAME}" +} + +do_install() { + install -d ${D}${bindir}/ + install -c -m 755 ${S}/test/uio_mem_test ${D}${bindir}/. + install -c -m 755 ${S}/test/uio_int_test ${D}${bindir}/. +} + +do_install:append:omap-a15 () { + install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/. +} + +do_install:append:ti33x () { + install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/. +} + +do_install:append:ti43x () { + install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/. +} 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 @@ +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2b7c96eb2aed7b0f6f922214dbde9016" + +BRANCH = "master" +# This corresponds to version 02.02.01.00 +UIO_MODULE_DRV_SRCREV = "bda9260f2220840a60ec0fbc8011cbadf3cf1b91" + +PV = "2.2.1.0+git${SRCPV}" + +UIO_MODULE_DRV_GIT_URI = "git://git.ti.com/keystone-linux/uio-module-drv.git" +UIO_MODULE_DRV_GIT_PROTOCOL = "git" +SRC_URI = "${UIO_MODULE_DRV_GIT_URI};protocol=${UIO_MODULE_DRV_GIT_PROTOCOL};branch=${BRANCH}" + +SRCREV = "${UIO_MODULE_DRV_SRCREV}" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_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 @@ +From b5c4036dac06817bffd0be21c5fa1b7f75f74e4b Mon Sep 17 00:00:00 2001 +From: Suman Anna <s-anna@ti.com> +Date: Mon, 19 Apr 2021 13:15:51 -0500 +Subject: [PATCH] uio-module-drv: Replace ioremap_nocache with ioremap + +The ioremap_nocache is the same as the regular ioremap and its +definition has been dropped from the Linux kernel v5.6 onwards in +commit 4bdc0d676a64 ("remove ioremap_nocache and devm_ioremap_nocache") +[1]. The uio-module-drv module fails to build against these newer +kernels, so fix it by simply replacing ioremap_nocache with ioremap. + +[1] +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4bdc0d676a643140bdf17dbf7eafedee3d496a3c + +Signed-off-by: Suman Anna <s-anna@ti.com> +--- + uio_module_drv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/uio_module_drv.c b/uio_module_drv.c +index 5a67dd199e21..7cc6005d1f05 100644 +--- a/uio_module_drv.c ++++ b/uio_module_drv.c +@@ -240,7 +240,7 @@ static ssize_t uio_module_drv_transfer(struct file *file, char __user *buf, + return -EINVAL; + } + +- virt_addr_p = ioremap_nocache(phys_addr, count); ++ virt_addr_p = ioremap(phys_addr, count); + if (!virt_addr_p) { + dev_err(uio_module_drv->dev, "Mapping of virtual memory failed\n"); + return(-ENOMEM); +-- +2.30.1 + 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 @@ +DESCRIPTION = "User space IO (UIO) driver for on-chip modules" + +include uio-module-drv.inc + +FILESEXTRAPATHS:prepend:= "${THISDIR}/${PN}:" + +SRC_URI += "file://0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch" + +# This package builds a kernel module, use kernel PR as base and append a local +MACHINE_KERNEL_PR:append = "d" +PR = "${MACHINE_KERNEL_PR}" + +module_auto_load_uio-module-drv = "uio-module-drv" + +inherit module + +do_install:append () { + install -d ${D}${includedir} + cp *.h ${D}${includedir} +} + +KERNEL_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 @@ +DESCRIPTION = "Radio Application Firmware" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://${S}/J6_VIS_DEMO_LINUX_BINARY_01.50.07.15-Manifest.html;md5=a59aa54b9470f555cf086b91dca0afa3" + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PR = "r1" + +SRC_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" + +SRC_URI[md5sum] = "fe8b00e398fb3b7ada0c15b601867acb" +SRC_URI[sha256sum] = "6e2aa47ae892910616ebdc96646af778af9a59ca0657716ab4fa4b24a9afae69" + +S = "${WORKDIR}" + +DSPAPP = "dra7-dsp1-fw-radio.xe66" +GPPAPP = "RadioApp" + +do_install() { + install -d ${D}${base_libdir}/firmware + install -d ${D}${bindir} + install ${S}/prebuilt/${DSPAPP} ${D}${base_libdir}/firmware/${DSPAPP} + install -m 0755 ${S}/prebuilt/${GPPAPP} ${D}${bindir}/${GPPAPP} +} + +PACKAGES += "${PN}-fw" +RDEPENDS:${PN} += "${PN}-fw" + +FILES:${PN}-fw += "${base_libdir}/firmware/${DSPAPP}" + +INSANE_SKIP:${PN} = "ldflags" +INSANE_SKIP:${PN}-fw = "arch" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_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 @@ +DESCRIPTION = "VPDMA firmware for Video Input Port and Video Processing Engine" + +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://COPYING;md5=fd463c9500441ed91d07a0331baa635c" + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS += "virtual/kernel" + +SRC_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" +SRC_URI[dra7xx-evm.md5sum] = "80176df1350c21d9efa90171789c546e" +SRC_URI[dra7xx-evm.sha256sum] = "a0b254ffd0c7f481cb3989e632088f5e4a233c73a1c676faa3061721ea60dc90" + +S = "${WORKDIR}/vpdma-fw-${PV}" +TARGET = "vpdma-1b8.bin" + +do_install() { + mkdir -p ${D}${base_libdir}/firmware + cp ${S}/${TARGET} ${D}${base_libdir}/firmware/${TARGET} +} + +FILES:${PN} += "${base_libdir}/firmware/${TARGET}" + +PR = "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 @@ +DESCRIPTION = "VPE test program" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=74d2f71d8898c54e3d1c9d0058c484aa" + +DEPENDS = "virtual/kernel vpdma-fw" + +PR = "r3" + +COMPATIBLE_MACHINE = "dra7xx" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRCREV = "e3d8db1aa935775f9d196ad7428e0cd9864a36ca" +BRANCH ?= "master" + +SRC_URI = "git://git.ti.com/vpe_tests/vpe_tests.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git" + +FLOATABI = "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}" + +# The test application needs additional include headers from the kernel +EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${FLOATABI}" KDIR="${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"' + +do_install() { + oe_runmake DESTDIR="${D}" install + rm -rf ${D}${base_libdir}/firmware/vpdma-*.bin + rmdir -p ${D}${base_libdir}/firmware || true +} 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 @@ +From 3a8fc3ccf00796254d6cef4b6d4cd70dc37012e1 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denys@ti.com> +Date: Fri, 10 Mar 2017 13:28:29 -0500 +Subject: [PATCH] Add Makefile to install firmware files + +Signed-off-by: Denys Dmytriyenko <denys@ti.com> +--- + Makefile | 9 +++++++++ + 1 file changed, 9 insertions(+) + create mode 100644 Makefile + +diff --git a/Makefile b/Makefile +new file mode 100644 +index 0000000..1cf38e3 +--- /dev/null ++++ b/Makefile +@@ -0,0 +1,9 @@ ++# Installs the the ti-connectivity wlan firmware files into the root file system ++ ++install: ++ @if [ ! -d $(DESTDIR) ] ; then \ ++ echo "Target filesystem directory doesn't exist."; \ ++ exit 1; \ ++ fi ++ install -d $(DEST_DIR)/lib/firmware/ti-connectivity ++ cp *.bin $(DEST_DIR)/lib/firmware/ti-connectivity/ +-- +2.7.4 + diff --git a/meta-ti-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 @@ +DESCRIPTION = "Firmware files for use with TI wl18xx" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://LICENCE;md5=4977a0fe767ee17765ae63c435a32a9e" + +SRC_URI = " \ + git://git.ti.com/wilink8-wlan/wl18xx_fw.git;protocol=git;branch=${BRANCH} \ + file://0001-Add-Makefile-to-install-firmware-files.patch \ +" + +SRCREV = "5ec05007f2662f460f881c5868311fd3ab7e6e71" +BRANCH = "master" + +S = "${WORKDIR}/git" + +CLEANBROKEN = "1" + +do_compile() { + : +} + +do_install() { + oe_runmake 'DEST_DIR=${D}' install +} + +FILES:${PN} = "/lib/firmware/ti-connectivity/*" diff --git a/meta-ti-bsp/recipes-connectivity/uim/uim-sysfs_8.5.bb b/meta-ti-bsp/recipes-connectivity/uim/uim-sysfs_8.5.bb new file mode 100644 index 00000000..72e2166f --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/uim/uim-sysfs_8.5.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Shared Transport Line Discipline User Mode initialisation Manager Daemon" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://uim.c;beginline=1;endline=18;md5=9f0bbfbc10c67689e81a523e2976c31e" + +INITSCRIPT_NAME = "uim-sysfs" +INITSCRIPT_PARAMS = "defaults 03" + +inherit update-rc.d + +SRCREV = "a75f45be2d5c74fc1dd913d08afc30f09a230aa9" +SRC_URI = "git://git.ti.com/ti-bt/uim.git" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${bindir} + install -m 0755 uim ${D}${bindir} + install -d ${D}${sysconfdir}/init.d + install -m 0755 scripts/uim-sysfs ${D}${sysconfdir}/init.d +} diff --git a/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator/0001-plt.h-Do-not-define-EFUSE_PARAMETER_TYPE_ENMT-type-e.patch b/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator/0001-plt.h-Do-not-define-EFUSE_PARAMETER_TYPE_ENMT-type-e.patch new file mode 100644 index 00000000..fc5542e0 --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator/0001-plt.h-Do-not-define-EFUSE_PARAMETER_TYPE_ENMT-type-e.patch @@ -0,0 +1,35 @@ +From e3f694496322d3679dd9b007dc3caa4343f0f376 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Aug 2020 18:12:58 -0700 +Subject: [PATCH] plt.h: Do not define EFUSE_PARAMETER_TYPE_ENMT type enum in + header file + +gcc10 uses -fno-common by default and this causes multiple definitions +of this enum in all files including plt.h file, therefore just define +the type in header file + +Fixes +arm-yoe-linux-musleabi-ld: misc_cmds.o:/usr/src/debug/wl18xx-calibrator/8.7.3-r0/git/./plt.h:402: multiple definition of `EFUSE_PARAMETER_TYPE_ENM'; nvs.o:/usr/src/debug/wl18xx-calibrator/8.7.3-r0/git/./plt.h:402: first defined here + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + plt.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plt.h b/plt.h +index 8b534a9..43d5dbc 100644 +--- a/plt.h ++++ b/plt.h +@@ -399,7 +399,7 @@ enum EFUSE_PARAMETER_TYPE_ENMT { + TX_BIP_PD_BUFFER_VBIAS_ERROR_E, + EFUSE_NUMBER_OF_PARAMETERS_E, + EFUSE_LAST_PARAMETER_E = (EFUSE_NUMBER_OF_PARAMETERS_E - 1) +-} EFUSE_PARAMETER_TYPE_ENM; ++}; + + int get_mac_addr(int ifc_num, unsigned char *mac_addr); + +-- +2.28.0 + diff --git a/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator_8.7.3.bb b/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator_8.7.3.bb new file mode 100644 index 00000000..2888b95a --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/wl18xx-calibrator/wl18xx-calibrator_8.7.3.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "The calibrator utility for TI wireless solution based on wl18xx driver" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=4725015cb0be7be389cf06deeae3683d" + +DEPENDS = "libnl" +RDEPENDS:${PN} = "wl18xx-fw" + +#Tag: R8.7_SP3 (8.7.3) +SRCREV = "5048b59a444ac59ba7171d6e122d5a84581aebf2" +SRC_URI = "git://git.ti.com/wilink8-wlan/18xx-ti-utils.git \ + file://0001-plt.h-Do-not-define-EFUSE_PARAMETER_TYPE_ENMT-type-e.patch \ + " + +S = "${WORKDIR}/git" + +export CROSS_COMPILE = "${TARGET_PREFIX}" + +EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -I${STAGING_INCDIR}/libnl3/ -DCONFIG_LIBNL32 " \ + LDFLAGS="${LDFLAGS} -L${STAGING_LIBDIR}" \ + CC="${CC}" \ + NLVER=3" + +do_install() { + install -d ${D}${bindir} + install -m 0755 calibrator ${D}${bindir}/ +} diff --git a/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts/0001-print_stat.sh-replace-system-bin-sh-with-bin-sh.patch b/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts/0001-print_stat.sh-replace-system-bin-sh-with-bin-sh.patch new file mode 100644 index 00000000..c0719e34 --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts/0001-print_stat.sh-replace-system-bin-sh-with-bin-sh.patch @@ -0,0 +1,23 @@ +From ba1ac3862c8c3b2dbb615dc342b7fb1eaa96900f Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denys@ti.com> +Date: Fri, 10 Nov 2017 17:02:39 -0500 +Subject: [PATCH] print_stat.sh: replace /system/bin/sh with /bin/sh + +Signed-off-by: Denys Dmytriyenko <denys@ti.com> +--- + testing/print_stat.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/testing/print_stat.sh b/testing/print_stat.sh +index 681a063..0a519f6 100755 +--- a/testing/print_stat.sh ++++ b/testing/print_stat.sh +@@ -1,4 +1,4 @@ +-#!/system/bin/sh ++#!/bin/sh + + PHY=`ls /sys/class/ieee80211/` + mkdir -p /debug +-- +2.7.4 + diff --git a/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts_8.7.3.bb b/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts_8.7.3.bb new file mode 100644 index 00000000..2a44fa84 --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/wl18xx-target-scripts/wl18xx-target-scripts_8.7.3.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Scripts and configuration files for TI wireless drivers" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README;beginline=1;endline=21;md5=b8d6a0865f50159bf5c0d175d1f4a705" + +# Tag: R8.7_SP3 (8.7.3) +SRCREV = "a07b6e711d2a70608101d3d6cdc5749c4d8a96d5" +BRANCH = "sitara-scripts" +SRC_URI = "git://git.ti.com/wilink8-wlan/wl18xx-target-scripts.git;protocol=git;branch=${BRANCH} \ +file://0001-print_stat.sh-replace-system-bin-sh-with-bin-sh.patch \ +" + +PR = "r1" + +S = "${WORKDIR}/git" + +FILES:${PN} += "${datadir}/wl18xx/" + +do_install() { + install -d ${D}${datadir}/wl18xx/ + + scripts=`find ./* -type f -name "*.*"` + for s in $scripts + do + install -m 0755 $s ${D}${datadir}/wl18xx/ + done +} diff --git a/meta-ti-bsp/recipes-connectivity/wlconf/wlconf_8.7.3.bb b/meta-ti-bsp/recipes-connectivity/wlconf/wlconf_8.7.3.bb new file mode 100644 index 00000000..475bac28 --- /dev/null +++ b/meta-ti-bsp/recipes-connectivity/wlconf/wlconf_8.7.3.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "Configuration utility for TI wireless drivers" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README;beginline=1;endline=21;md5=adc05a1903d3f107f85c90328e3a9438" + +# Tag: R8.7_SP3 (8.7.3) +SRCREV = "5048b59a444ac59ba7171d6e122d5a84581aebf2" +SRC_URI = "git://git.ti.com/wilink8-wlan/18xx-ti-utils.git" + +S = "${WORKDIR}/git/wlconf" + +EXTRA_OEMAKE = "CC="${CC}"" + +do_install() { + install -d ${D}${sbindir} + install -d ${D}${sbindir}/wlconf/ + install -d ${D}${sbindir}/wlconf/official_inis + install -d ${D}/lib/firmware/ti-connectivity + + install -m 0755 wlconf ${D}${sbindir}/wlconf/ + install -m 0755 dictionary.txt ${D}${sbindir}/wlconf/ + install -m 0755 struct.bin ${D}${sbindir}/wlconf/ + install -m 0755 default.conf ${D}${sbindir}/wlconf/ + install -m 0755 wl18xx-conf-default.bin ${D}${sbindir}/wlconf/ + install -m 0755 wl18xx-conf-default.bin ${D}/lib/firmware/ti-connectivity/wl18xx-conf.bin + install -m 0755 README ${D}${sbindir}/wlconf/ + install -m 0755 example.conf ${D}${sbindir}/wlconf/ + install -m 0755 example.ini ${D}${sbindir}/wlconf/ + install -m 0755 configure-device.sh ${D}${sbindir}/wlconf/ + install -m 0755 ${S}/official_inis/* \ + ${D}${sbindir}/wlconf/official_inis/ +} + +FILES:${PN} += " \ + ${sbindir}/wlconf \ + ${sbindir}/wlconf/official_inis \ + /lib/firmware/ti-connectivity/wl18xx-conf.bin \ +" + +FILES:${PN}-dbg += "${sbindir}/wlconf/.debug" diff --git a/meta-ti-bsp/recipes-core/udev/eudev/firmware.rules b/meta-ti-bsp/recipes-core/udev/eudev/firmware.rules new file mode 100644 index 00000000..f7a08ce9 --- /dev/null +++ b/meta-ti-bsp/recipes-core/udev/eudev/firmware.rules @@ -0,0 +1,3 @@ +# stub for immediately telling the kernel that userspace firmware loading +# failed; necessary to avoid long timeouts with CONFIG_FW_LOADER_USER_HELPER=y +SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1" diff --git a/meta-ti-bsp/recipes-core/udev/eudev/omap-tty.rules b/meta-ti-bsp/recipes-core/udev/eudev/omap-tty.rules new file mode 100644 index 00000000..989d60f8 --- /dev/null +++ b/meta-ti-bsp/recipes-core/udev/eudev/omap-tty.rules @@ -0,0 +1,17 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Backward compatibility with old OMAP UART-style ttyO0 naming +SUBSYSTEM=="tty", ATTR{uartclk}!="0", KERNEL=="ttyS[0-9]", SYMLINK+="ttyO%n" diff --git a/meta-ti-bsp/recipes-core/udev/eudev_%.bbappend b/meta-ti-bsp/recipes-core/udev/eudev_%.bbappend new file mode 100644 index 00000000..ddb1e75d --- /dev/null +++ b/meta-ti-bsp/recipes-core/udev/eudev_%.bbappend @@ -0,0 +1,13 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append:ti-soc = " \ + file://omap-tty.rules \ + file://firmware.rules \ +" + +PR:append:ti-soc = ".3" + +do_install:append:ti-soc() { + install -m 0644 ${WORKDIR}/omap-tty.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${WORKDIR}/firmware.rules ${D}${sysconfdir}/udev/rules.d/ +} diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc new file mode 100644 index 00000000..eeb18fb1 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc @@ -0,0 +1,9 @@ +# This corresponds to version 1.1.0 +SRCREV = "dd0c82fb5763a6b32dc6d68e561efb66ab8283d7" + +PV = "1.1.0" +INC_PR = "r7" + +SRC_URI = "git://git.ti.com/sdo-emu/gdbc6x.git;protocol=git;branch=${BRANCH}" + +BRANCH = "master" diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch new file mode 100644 index 00000000..1cc23b32 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch @@ -0,0 +1,28 @@ +From 0aa294e2bbd37a42266e59cb67687e57bfba4a88 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denys@ti.com> +Date: Sat, 15 Feb 2020 15:59:37 -0500 +Subject: [PATCH] libbfd.h: suppress GCC9 -Wstringop-truncation + +Signed-off-by: Denys Dmytriyenko <denys@ti.com> +--- + gdbc6x/bfd/libbfd.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gdbc6x/bfd/libbfd.h b/gdbc6x/bfd/libbfd.h +index 72d3c50..3465f89 100644 +--- a/gdbc6x/bfd/libbfd.h ++++ b/gdbc6x/bfd/libbfd.h +@@ -34,6 +34,10 @@ + #pragma GCC diagnostic ignored "-Wcast-function-type" + #endif + ++#if __GNUC__ >= 9 ++#pragma GCC diagnostic ignored "-Wstringop-truncation" ++#endif ++ + #include "hashtab.h" + + /* Align an address upward to a boundary, expressed as a number of bytes. +-- +2.7.4 + diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init new file mode 100644 index 00000000..90210b82 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init @@ -0,0 +1,48 @@ +#!/bin/bash + +GDB_DEVICE_NAME='/dev/gdbtty$i' +DSP_FIRMWARE_NAME='/lib/firmware/dra7-dsp$[$i+1]-fw.xe66' + +DSP_L2_GLOBAL_OFFSET="40000000" +DSP_L2_GLOBAL_SHIFT="00800000" + +case "$1" in + start) + + dsp_core_l2_offset=$DSP_L2_GLOBAL_OFFSET + + i=0 + while [ -c "`eval echo $GDB_DEVICE_NAME`" ] + do + dsp_firmware=`eval echo $DSP_FIRMWARE_NAME` + + if [ -f "`eval echo $DSP_FIRMWARE_NAME`" ] + then + eval echo "Initializing $GDB_DEVICE_NAME based on $DSP_FIRMWARE_NAME ..." + + gdb_data_local=`eval readelf -s "$DSP_FIRMWARE_NAME" | \ + grep 'gdb_globalData' | \ + awk '{print $2}'` + + echo "gdb_globalData (local) = $gdb_data_local" + printf "gdb_globalData (global) = %X\n" \ + $[0x$gdb_data_local + 0x$dsp_core_l2_offset] + + + printf "%X\n" $[0x$gdb_data_local + 0x$dsp_core_l2_offset] \ + >> `eval echo $GDB_DEVICE_NAME` + fi + i=$[$i + 1] + dsp_core_l2_offset=`printf "%X" $[0x$dsp_core_l2_offset + 0x$DSP_L2_GLOBAL_SHIFT]` + done + ;; + stop) + # Nothing to be done. + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + + diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb new file mode 100644 index 00000000..df9aaee9 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "GNU debugger for TI C6X DSP." +SECTION = "devel" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=bf0fe2872eb3dfeebb2cbe38206fe81f" + +DEPENDS = "ncurses bison-native texinfo flex-native gettext" + +COMPATIBLE_MACHINE = "dra7xx" + +PR = "${INC_PR}.1" + +SRC_URI:append = " \ + file://init \ + file://0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch;striplevel=2 \ +" + +S = "${WORKDIR}/git/gdbc6x" + +inherit update-rc.d +inherit gettext + +CFLAGS += "-fcommon" + +do_configure () { + cd ${S} + ./configure --program-suffix=c6x --target=tic6x-elf-tirtos --host=${HOST_SYS} --prefix=${S}/install_gdb +} + +do_install () { + make install + + # Custom install to prevent conflict with standard GDB. + install -d ${D}${bindir} + install -d ${D}${includedir} + install -m 755 ${S}/install_gdb/bin/gdbc6x ${D}${bindir} + cp -rf ${S}/install_gdb/include/* ${D}${includedir} + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/gdbserverproxy +} + +RDEPENDS:${PN} = "gdbserverproxy-module-drv bash" + +include gdbc6x.inc + +INITSCRIPT_NAME = "gdbserverproxy" +INITSCRIPT_PARAMS = "defaults 95" + +PARALLEL_MAKE = "" diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb new file mode 100644 index 00000000..fab4fbd2 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "TI gdb-server to be used with c6xgdb." +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://../debian/copyright;md5=82c616b6c8f9c11c46feaaf8f9a11495" + +DEPENDS = "ti-xdais ti-framework-components ti-cgt6x-native ti-sysbios ti-xdctools-native" + +PR = "${INC_PR}.0" + +S = "${WORKDIR}/git/gdbserver-c6x/src" + +PLATFORM = "" +PLATFORM:dra7xx = "DRA7xx_PLATFORM" + +EXTRA_OEMAKE = "PLATFORM=${PLATFORM}" + +export XDAIS_DIR = "${XDAIS_INSTALL_DIR}" +export FC_DIR = "${FC_INSTALL_DIR}" +export TI_CGT_INSTALL = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" +export BIOS_DIR = "${SYSBIOS_INSTALL_DIR}" +export XDC_DIR = "${XDC_INSTALL_DIR}" + +# The following is to prevent an unused configure.ac from erroneously +# triggering the QA check for gettext. +EXTRA_OECONF = "--disable-nls" +do_configure() { + : +} + +do_install() { + install -d ${D}${datadir}/ti/gdbc6x/include + install -d ${D}${datadir}/ti/gdbc6x/lib + cp -f ../include/* ${D}${datadir}/ti/gdbc6x/include + cp -f ../lib/* ${D}${datadir}/ti/gdbc6x/lib +} + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES:${PN}-dev += "\ + ${datadir}/ti/gdbc6x \ +" + +include gdbc6x.inc + +require recipes-ti/includes/ti-paths.inc + +ALLOW_EMPTY:${PN} = "1" + +PARALLEL_MAKE = "" diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb new file mode 100644 index 00000000..168e4be3 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Interface for GDB to commincate witha TI C66X DSP" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=75859989545e37968a99b631ef42722e" + +# This package builds a kernel module, use kernel PR as base and append a local +MACHINE_KERNEL_PR:append = "b" +PR = "${MACHINE_KERNEL_PR}" +PV:append = "+git${SRCPV}" + +S = "${WORKDIR}/git/kernel_module/gdbproxy-mod" + +inherit module + +PLATFORM = "" +PLATFORM:dra7xx = "DRA7xx_PLATFORM" + +EXTRA_OEMAKE = "PLATFORM=${PLATFORM} KVERSION=${KERNEL_VERSION} KERNEL_SRC=${STAGING_KERNEL_DIR}" + +# The following is to prevent an unused configure.ac from erroneously +# triggering the QA check for gettext. +EXTRA_OECONF = "--disable-nls" +do_configure() { + : +} + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +include gdbc6x.inc + +KERNEL_MODULE_AUTOLOAD += "gdbserverproxy" diff --git a/meta-ti-bsp/recipes-devtools/ion/libion_git.bb b/meta-ti-bsp/recipes-devtools/ion/libion_git.bb new file mode 100644 index 00000000..f5ca8e82 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/ion/libion_git.bb @@ -0,0 +1,14 @@ +SUMMARY = "ION Userspace Memory Allocator Library" +HOMEPAGE = "https://github.com/glneo/libion" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +PV = "1.0.0" + +BRANCH = "master" +SRC_URI = "git://github.com/glneo/libion.git;protocol=https;branch=${BRANCH}" +SRCREV = "7e138fc31febbb67734792c1a911439bfd6d23eb" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig diff --git a/meta-ti-bsp/recipes-devtools/k3conf/k3conf_git.bb b/meta-ti-bsp/recipes-devtools/k3conf/k3conf_git.bb new file mode 100644 index 00000000..0f2705b8 --- /dev/null +++ b/meta-ti-bsp/recipes-devtools/k3conf/k3conf_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Diagnostic tool for TI K3 processors" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://common/k3conf.c;beginline=1;endline=34;md5=7154c0ffcd418064ffa528e34e70ca9d" + +PV = "0.2+git${SRCPV}" + +COMPATIBLE_MACHINE = "k3" + +BRANCH ?= "master" +SRCREV = "79f007cd462384ce22e750e9002b714878f56892" + +SRC_URI = "git://git.ti.com/k3conf/k3conf.git;protocol=git;branch=${BRANCH}" + +S = "${WORKDIR}/git" + +do_compile () { + oe_runmake CC="${CC}" CROSS_COMPILE=${TARGET_PREFIX} all +} + +do_install () { + install -d ${D}${bindir} + install ${S}/k3conf ${D}${bindir} +} diff --git a/meta-ti-bsp/recipes-graphics/libgal/ti-gc320-libs_5.0.11.p7.bb b/meta-ti-bsp/recipes-graphics/libgal/ti-gc320-libs_5.0.11.p7.bb new file mode 100644 index 00000000..ab72c109 --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/libgal/ti-gc320-libs_5.0.11.p7.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "Userspace libraries for GC320 chipset on TI SoCs" +HOMEPAGE = "https://git.ti.com/graphics/ti-gc320-libs" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://Manifest.html;md5=a9121e8936ace09820d23f7626daaca5" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "gc320" + +COMPATIBLE_MACHINE = "omap-a15" + +CLEANBROKEN = "1" + +BRANCH = "ti-${PV}" + +SRC_URI = "git://git.ti.com/graphics/ti-gc320-libs.git;protocol=git;branch=${BRANCH}" +SRCREV = "c0afab259de59909cfe74c01f3f7fbaa147f94b5" + +RRECOMMENDS:${PN} = "ti-gc320-driver" + +# There's only hardfp version available +python __anonymous() { + tunes = d.getVar("TUNE_FEATURES") + if not tunes: + return + pkgn = d.getVar("PN") + pkgv = d.getVar("PV") + if "callconvention-hard" not in tunes: + bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv)) + raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv)) +} + +TARGET_PRODUCT = "jacinto6evm" + +PR = "r3" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE += "DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} LIBDIR=${libdir}" + +do_install() { + oe_runmake install + chown -R root:root ${D} +} + +INSANE_SKIP:${PN} += "ldflags" diff --git a/meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb b/meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb new file mode 100644 index 00000000..1ff4b65a --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.13.5776728.bb @@ -0,0 +1,69 @@ +DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs" +HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs" +LICENSE = "TI-TFL" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "gpu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "j7" + +PR = "r3" + +BRANCH = "linuxws/dunfell/k5.10/${PV}" + +SRC_URI = "git://git.ti.com/graphics/ti-img-rogue-umlibs.git;branch=${BRANCH}" + +SRCREV = "5ef38353c38d921a65ea6df75c7b6ce710b66034" + +PVR_SOC ?= "j721e_linux" +PVR_BUILD ?= "release" +PVR_WS = "wayland" + +INITSCRIPT_NAME = "rc.pvr" +INITSCRIPT_PARAMS = "defaults 8" + +inherit update-rc.d + +PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm" + +DEPENDS += "libdrm wayland expat" +RDEPENDS:${PN} += "bash" +RDEPENDS:${PN} += "wayland expat" + +RPROVIDES:${PN} = "libegl libgles1 libgles2 libgbm" +RPROVIDES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RPROVIDES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg" + +RREPLACES:${PN} = "libegl libgles1 liblges2 libgbm" +RREPLACES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RREPLACES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg" + +RCONFLICTS:${PN} = "libegl libgles1 libgles2 libgbm" +RCONFLICTS:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RCONFLICTS:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg" + +RRECOMMENDS:${PN} += "ti-img-rogue-driver" + +S = "${WORKDIR}/git" + +do_install () { + oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${PVR_SOC} BUILD=${PVR_BUILD} WINDOW_SYSTEM=${PVR_WS} + chown -R root:root ${D} +} + +FILES:${PN} += " ${base_libdir}/firmware/" +FILES:${PN} += " ${datadir}/" + +PACKAGES =+ "${PN}-plugins" +FILES:${PN}-plugins = "${libdir}/libGLESv2.so ${libdir}/libGLESv1_CM.so ${libdir}/libEGL.so ${libdir}/dri/pvr_dri.so" +RDEPENDS:${PN} += "${PN}-plugins" + +ALLOW_EMPTY:${PN}-plugins = "1" + +INSANE_SKIP:${PN} += "ldflags arch already-stripped" +INSANE_SKIP:${PN}-plugins = "dev-so" + +CLEANBROKEN = "1" diff --git a/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb b/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb new file mode 100644 index 00000000..d4b7a1a6 --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb @@ -0,0 +1,70 @@ +DESCRIPTION = "Userspace libraries for PowerVR SGX chipset on TI SoCs" +HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-um-linux" +LICENSE = "TI-TSPA" +LIC_FILES_CHKSUM = "file://TI-Linux-Graphics-DDK-UM-Manifest.doc;md5=b17390502bc89535c86cfbbae961a2a8" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "gpu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3" + +PR = "r37" + +BRANCH = "ti-img-sgx/dunfell/${PV}" + +SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git;protocol=git;branch=${BRANCH}" +SRCREV = "742cf38aba13e1ba1a910cf1f036a1a212c263b6" + +TARGET_PRODUCT:omap-a15 = "jacinto6evm" +TARGET_PRODUCT:ti33x = "ti335x" +TARGET_PRODUCT:ti43x = "ti437x" +TARGET_PRODUCT:k3 = "ti654x" + +INITSCRIPT_NAME = "rc.pvr" +INITSCRIPT_PARAMS = "defaults 8" + +inherit update-rc.d + +PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm" + +DEPENDS += "libdrm udev wayland wayland-protocols libffi expat" +DEPENDS:append:libc-musl = " gcompat" +RDEPENDS:${PN} += "libdrm libdrm-omap udev wayland wayland-protocols libffi expat" + +RPROVIDES:${PN} = "libegl libgles1 libgles2 libgbm" +RPROVIDES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RPROVIDES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg" + +RREPLACES:${PN} = "libegl libgles1 libgles2 libgbm" +RREPLACES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RREPLACES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg" + +RCONFLICTS:${PN} = "libegl libgles1 libgles2 libgbm" +RCONFLICTS:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev" +RCONFLICTS:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg" + +# The actual SONAME is libGLESv2.so.2, so need to explicitly specify RPROVIDES for .so.1 here +RPROVIDES:${PN} += "libGLESv2.so.1" + +RRECOMMENDS:${PN} += "ti-sgx-ddk-km" + +S = "${WORKDIR}/git" + +do_install () { + oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} + ln -sf libGLESv2.so ${D}${libdir}/libGLESv2.so.1 + + chown -R root:root ${D} +} + +FILES:${PN} = "${bindir}/*" +FILES:${PN} += " ${libdir}/*" +FILES:${PN} += "${includedir}/*" +FILES:${PN} += "${sysconfdir}/*" + +INSANE_SKIP:${PN} += "dev-so ldflags useless-rpaths" +INSANE_SKIP:${PN} += "already-stripped dev-deps" + +CLEANBROKEN = "1" diff --git a/meta-ti-bsp/recipes-kernel/linux/bundle-devicetree.inc b/meta-ti-bsp/recipes-kernel/linux/bundle-devicetree.inc new file mode 100644 index 00000000..d259e58c --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/bundle-devicetree.inc @@ -0,0 +1,26 @@ +# Upstream kernel-devicetree.bbclass only supports bundling the DTB with +# zImage. The factory u-boot on lego-ev3 EEPROM only supports uImage, so we +# append the DTB to the final uImage here. + +do_deploy:append() { + if [ "${KERNEL_DEVICETREE_BUNDLE}" = "1" ]; then + install -d ${DEPLOYDIR} + for dtbf in ${KERNEL_DEVICETREE}; do + dtb=`normalize_dtb "$dtbf"` + dtb_ext=${dtb##*.} + dtb_base_name=`basename $dtb .$dtb_ext` + for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do + if [ "$type" = "uImage" ]; then + cat ${D}/${KERNEL_IMAGEDEST}/$type \ + ${DEPLOYDIR}/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ + > ${DEPLOYDIR}/$type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin + ln -sf $type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext.bin \ + ${DEPLOYDIR}/$type-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext.bin + cat ${D}/${KERNEL_IMAGEDEST}/$type \ + ${DEPLOYDIR}/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ + > ${DEPLOYDIR}/$type + fi + done + done + fi +} diff --git a/meta-ti-bsp/recipes-kernel/linux/cmem.inc b/meta-ti-bsp/recipes-kernel/linux/cmem.inc new file mode 100644 index 00000000..fd913f6c --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/cmem.inc @@ -0,0 +1,96 @@ +# Add concept of machine variants to split DTBs into subsets +# +# Use these for temporary overrides +CMEM_MACHINE = "${MACHINE}" +CMEM_MACHINE:am57xx-evm = "am571x am572x am572idk am5729-beagleboneai am574x" +CMEM_MACHINE:am57xx-hs-evm = "am571x am572x am572idk am5729-beagleboneai am574x" +CMEM_MACHINE:dra7xx-evm = "dra71x dra72x dra74x dra76x" +CMEM_MACHINE:dra7xx-hs-evm = "dra71x dra72x dra74x dra76x" + +# Set cmem.dtsi per machine or machine variant +CMEM_DTSI = "cmem.dtsi" +CMEM_DTSI_am571x = "cmem-am571x.dtsi" +CMEM_DTSI_am572idk = "cmem-am572idk.dtsi" +CMEM_DTSI_am5729-beagleboneai = "cmem-am5729-beagleboneai.dtsi" +CMEM_DTSI_am574x = "cmem-am574x.dtsi" +CMEM_DTSI_dra71x = "cmem-dra71x.dtsi" +CMEM_DTSI_dra72x = "cmem-dra72x.dtsi" +CMEM_DTSI_dra76x = "cmem-dra76x.dtsi" + +# Split device trees between variants +CMEM_DEVICETREE = "${KERNEL_DEVICETREE}" +CMEM_DEVICETREE_am571x = "am571x-idk.dtb am571x-idk-lcd-osd101t2045.dtb am571x-idk-lcd-osd101t2587.dtb" +CMEM_DEVICETREE_am572x = "am57xx-beagle-x15.dtb am57xx-beagle-x15-revc.dtb" +CMEM_DEVICETREE_am572idk = "am572x-idk.dtb am572x-idk-lcd-osd101t2045.dtb am572x-idk-lcd-osd101t2587.dtb" +CMEM_DEVICETREE_am5729-beagleboneai = "am5729-beagleboneai.dtb" +CMEM_DEVICETREE_am574x = "am574x-idk.dtb am574x-idk-lcd-osd101t2587.dtb" +CMEM_DEVICETREE_dra71x = "dra71-evm.dtb" +CMEM_DEVICETREE_dra72x = "dra72-evm.dtb dra72-evm-lcd-osd101t2045.dtb dra72-evm-lcd-osd101t2587.dtb \ + dra72-evm-revc.dtb dra72-evm-revc-lcd-osd101t2045.dtb dra72-evm-revc-lcd-osd101t2587.dtb" +CMEM_DEVICETREE_dra74x = "dra7-evm.dtb dra7-evm-lcd-osd101t2045.dtb dra7-evm-lcd-osd101t2587.dtb" +CMEM_DEVICETREE_dra76x = "dra76-evm.dtb dra76-evm-tfp410.dtb" + +# Flag to enable CMEM injection +RESERVE_CMEM ?= "0" + +# Variables which influence setup_cmem +CMEM_VARS = "RESERVE_CMEM CMEM_MACHINE" +CMEM_VARS += "CMEM_DTSI ${@' '.join(map(lambda s: 'CMEM_DTSI_' + s, (d.getVar('CMEM_MACHINE') or '').split()))}" +CMEM_VARS += "CMEM_DEVICETREE ${@' '.join(map(lambda s: 'CMEM_DEVICETREE_' + s, (d.getVar('CMEM_MACHINE') or '').split()))}" + +# Add correct cmem.dtsi to SRC_URI for each variant for a given machine +python do_unpack() { + old_overrides = d.getVar('OVERRIDES', False) + + # Initialize with empty string to simplify logic to append to SRC_URI + cmem_dtsi = set(['']) + + for cmem_machine in (d.getVar('CMEM_MACHINE') or '').split(): + # Create copy of data for additional override + localdata = bb.data.createCopy(d) + localdata.setVar('OVERRIDES', '%s:%s' % (cmem_machine, old_overrides)) + bb.data.update_data(localdata) + + cmem_dtsi.add(localdata.getVar('CMEM_DTSI')) + + d.appendVar('SRC_URI', ' file://'.join(cmem_dtsi)) + bb.build.exec_func('base_do_unpack', d) +} + +python do_setup_cmem() { + import shutil + + old_overrides = d.getVar('OVERRIDES', False) + + if d.getVar('RESERVE_CMEM') is '1': + for cmem_machine in (d.getVar('CMEM_MACHINE') or '').split(): + # Create copy of data for additional override + localdata = bb.data.createCopy(d) + localdata.setVar('OVERRIDES', '%s:%s' % (cmem_machine, old_overrides)) + bb.data.update_data(localdata) + + # Get source directory and dtsi filename + src_dir = localdata.getVar('WORKDIR') + src_dtsi = localdata.getVar('CMEM_DTSI') + + # Get destination directory and destination dtsi filename which adds + # the MACHINE prefix. + dst_dir = os.path.join(localdata.getVar('S'), localdata.expand('arch/${ARCH}/boot/dts')) + dst_dtsi = localdata.expand('${MACHINE}-${CMEM_DTSI}') + + # Copy cmem.dtsi into source tree + if localdata.getVar('ARCH') is 'arm64': + shutil.copy(os.path.join(src_dir,src_dtsi), os.path.join(dst_dir,'ti',dst_dtsi)) + else: + shutil.copy(os.path.join(src_dir,src_dtsi), os.path.join(dst_dir,dst_dtsi)) + + # Inject dtsi into each dts in list + for dtb in (localdata.getVar('CMEM_DEVICETREE') or '').split(): + dts = dtb[:-4] + '.dts' + + with open(os.path.join(dst_dir,dts), 'a') as dts_file: + dts_file.write('\n#include "%s"\n' % dst_dtsi) +} + +do_patch[postfuncs] += "do_setup_cmem" +do_patch[vardeps] += "${CMEM_VARS}" diff --git a/meta-ti-bsp/recipes-kernel/linux/files/cmem.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/cmem.dtsi new file mode 100644 index 00000000..23119861 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/cmem.dtsi @@ -0,0 +1,38 @@ +/* + * This is a placeholder for CMEM reserved memory declarations. This + * is simply an example and does not actually reserve any memory for + * CMEM. + * + * The commented sections below provide an example for how to provide + * a reserved memory region for CMEM to use as a buffer pool. + */ +/ { +/* + reserved-memory { + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0a000000>; + no-map; + status = "okay"; + }; + }; +*/ + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "disabled"; +/* + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0a000000>; + }; +*/ + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/configs/empty b/meta-ti-bsp/recipes-kernel/linux/files/configs/empty new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/configs/empty diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi new file mode 100644 index 00000000..8ca11c78 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi @@ -0,0 +1,272 @@ +&pruss_soc_bus1 { + uio_pruss1_mdio: uio_mdio@4b232400 { + status = "okay"; + + compatible = "ti,davinci_mdio"; + reg = <0x4b232400 0x90>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + + reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + uio_pruss1_eth0_phy: uio_ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss1_eth1_phy: uio_ethernet-phy@1 { + reg = <1>; + }; + }; + + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b200000 0x2000>, + <0x4b202000 0x2000>, + <0x4b210000 0x8000>, + <0x4b220000 0x5404>, + <0x4b226000 0x474>, + <0x4b22e000 0xc04>, + <0x4b232000 0x154>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b228000 0xd4>, + <0x4b230000 0x174>, + <0x4b232400 0x234>, + <0x40300000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b234000 0x3000>, + <0x4b222000 0xb4>, + <0x4b222400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b238000 0x3000>, + <0x4b224000 0xb4>, + <0x4b224400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&pruss_soc_bus2 { + uio_pruss2_mdio: uio_mdio@4b2b2400 { + compatible = "ti,davinci_mdio"; + reg = <0x4b2b2400 0x90>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + status = "okay"; + + reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + + uio_pruss2_eth0_phy: ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: ethernet-phy@1 { + reg = <1>; + }; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b280000 0x2000>, + <0x4b282000 0x2000>, + <0x4b290000 0x8000>, + <0x4b2a0000 0x5404>, + <0x4b2a6000 0x474>, + <0x4b2ae000 0xc04>, + <0x4b2b2000 0x154>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b2a8000 0xd4>, + <0x4b2b0000 0x174>, + <0x4b2b2400 0x234>, + <0x40340000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b4000 0x3000>, + <0x4b2a2000 0xb4>, + <0x4b2a2400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b8000 0x3000>, + <0x4b2a4000 0xb4>, + <0x4b2a4400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + }; + +&pruss2_emac0 { + status = "disabled"; +}; + +&pruss2_emac1 { + status = "disabled"; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss1_mdio { + status = "disabled"; +}; + +&pruss2 { + status = "disabled"; +}; + +&pru2_0 { + status = "disabled"; +}; + +&pru2_1 { + status = "disabled"; +}; + +&pruss2_intc { + status = "disabled"; +}; + +&pruss2_mdio { + status = "disabled"; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi new file mode 100644 index 00000000..4cc57118 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi @@ -0,0 +1,252 @@ +&pruss_soc_bus1 { + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b200000 0x2000>, + <0x4b202000 0x2000>, + <0x4b210000 0x8000>, + <0x4b220000 0x2000>, + <0x4b226000 0x2000>, + <0x4b22e000 0x31c>, + <0x4b232000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b228000 0x38>, + <0x4b230000 0x60>, + <0x4b232400 0x90>, + <0x40340000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b234000 0x3000>, + <0x4b222000 0x400>, + <0x4b222400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b238000 0x3000>, + <0x4b224000 0x400>, + <0x4b224400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss_soc_bus2 { + uio_pruss2_mdio: uio_mdio@4b2b2400 { + compatible = "ti,davinci_mdio"; + reg = <0x4b2b2400 0x90>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + status = "disabled"; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b280000 0x2000>, + <0x4b282000 0x2000>, + <0x4b290000 0x8000>, + <0x4b2a0000 0x2000>, + <0x4b2a6000 0x2000>, + <0x4b2ae000 0x31c>, + <0x4b2b2000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b2a8000 0x38>, + <0x4b2b0000 0x60>, + <0x4b2b2400 0x90>, + <0x40300000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b4000 0x3000>, + <0x4b2a2000 0x400>, + <0x4b2a2400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b8000 0x3000>, + <0x4b2a4000 0x400>, + <0x4b2a4400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&uio_pruss2_mdio { + reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>, + <&gpio5 9 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ +}; + +&uio_pruss2_mdio { + status = "okay"; + uio_pruss2_eth0_phy: uio_pruss2_eth0_phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: uio_pruss2_eth1_phy@1 { + reg = <1>; + }; +}; + +&pruss2_emac0 { + status = "disabled"; +}; + +&pruss2_emac1 { + status = "disabled"; +}; + +&pruss2 { + status = "disabled"; +}; + +&pru2_0 { + status = "disabled"; +}; + +&pru2_1 { + status = "disabled"; +}; + +&pruss2_intc { + status = "disabled"; +}; + +&pruss2_mdio { + status = "disabled"; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am5729-beagleboneai.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am5729-beagleboneai.dtsi new file mode 100644 index 00000000..e0511d08 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am5729-beagleboneai.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x18000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am572idk.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am572idk.dtsi new file mode 100644 index 00000000..6c39e22c --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am572idk.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x20000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x20000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi new file mode 100644 index 00000000..8fb3e871 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x18000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra76x.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra76x.dtsi new file mode 100644 index 00000000..9d207db5 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem-dra76x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x18000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x18000000>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem.dtsi new file mode 100644 index 00000000..c7781c48 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/dra7xx/cmem.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi new file mode 100644 index 00000000..93a40ab5 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi @@ -0,0 +1,192 @@ +&pruss_soc_bus { + uio_pruss_mdio: uio_mdio@4a332400 { + compatible = "ti,davinci_mdio"; + reg = <0x4a332400 0x90>; + clocks = <&dpll_core_m4_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + uio_pruss_mem: uio_pruss_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a300000 0x2000>, + <0x4a302000 0x2000>, + <0x4a310000 0x3000>, + <0x4a320000 0x2000>, + <0x4a326000 0x2000>, + <0x4a32e000 0x31c>, + <0x4a332000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + + status = "okay"; + }; + uio_pruss_mem2: uio_pruss_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4a328000 0xd4>, + <0x4a330000 0x174>, + <0x4a332400 0x90>, + <0x40302000 0x0e000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + + uio_pruss_evt0: uio_pruss_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <20>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt1: uio_pruss_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <21>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt2: uio_pruss_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <22>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt3: uio_pruss_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <23>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt4: uio_pruss_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <24>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt5: uio_pruss_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <25>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt6: uio_pruss_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <26>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt7: uio_pruss_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <27>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss_0_mem: uio_pruss_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a334000 0x2000>, + <0x4a322000 0x400>, + <0x4a322400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss_1_mem: uio_pruss_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a338000 0x2000>, + <0x4a324000 0x400>, + <0x4a324400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&am33xx_pinmux { + uio_pruss_mdio_eth_default: uio_pruss_mdio_eht_default { + pinctrl-single,pins = < + AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */ + AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */ + AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* gpmc_ben0_cle.gpio2_5 */ + /* disable CPSW MDIO */ + AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_data.gpio0_0 */ + AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_clk.gpio0_1 */ + AM33XX_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */ + AM33XX_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */ + AM33XX_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */ + AM33XX_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */ + AM33XX_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */ + AM33XX_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */ + AM33XX_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */ + AM33XX_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */ + AM33XX_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */ + AM33XX_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */ + AM33XX_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */ + AM33XX_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */ + AM33XX_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */ + AM33XX_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */ + AM33XX_IOPAD(0x8e8, (PIN_INPUT | MUX_MODE2)) /* dss_pclk.pr1_mii0_crs */ + + AM33XX_IOPAD(0x840, (PIN_INPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii_mt1_clk */ + AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd0 */ + AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd1 */ + AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd2 */ + AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_txd3 */ + AM33XX_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd0 */ + AM33XX_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii1_rxd1 */ + AM33XX_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii1_rxd2 */ + AM33XX_IOPAD(0x854, (PIN_INPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_rxd3 */ + AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_txen */ + AM33XX_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii_mr1_clk */ + AM33XX_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxdv */ + AM33XX_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxer */ + AM33XX_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_ben1.pr1_mii1_rxlink */ + AM33XX_IOPAD(0x8ec, (PIN_INPUT | MUX_MODE2)) /* lcd_ac_bias_en.pr1_mii1_crs */ + AM33XX_IOPAD(0x870, (PIN_INPUT | MUX_MODE5)) /* gpmc_wait0.pr1_mii1_col */ + >; + }; +}; + +&uio_pruss_mdio { + pinctrl-0 = <&uio_pruss_mdio_eth_default>; + pinctrl-names = "default"; + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + status = "okay"; + + uio_pruss_eth0_phy: ethernet-phy@1 { + reg = <1>; + }; + + uio_pruss_eth1_phy: ethernet-phy@3 { + reg = <3>; + }; +}; + +&pruss { + status = "disabled"; +}; + +&pru0 { + status = "disabled"; +}; + +&pru1 { + status = "disabled"; +}; + +&pruss_intc { + status = "disabled"; +}; + +&pruss_mdio { + status = "disabled"; +}; + +&pruss_emac0 { + status = "disabled"; +}; + +&pruss_emac1 { + status = "disabled"; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi b/meta-ti-bsp/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi new file mode 100644 index 00000000..80993c4b --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi @@ -0,0 +1,292 @@ +&pruss_soc_bus { + uio_pruss2_mdio: uio_mdio@54432400 { + compatible = "ti,davinci_mdio"; + reg = <0x54432400 0x90>; + clocks = <&dpll_core_m4_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54400000 0x2000>, + <0x54402000 0x2000>, + <0x54410000 0x8000>, + <0x54420000 0x2000>, + <0x54426000 0x2000>, + <0x5442e000 0x31c>, + <0x54432000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x54428000 0x38>, + <0x54430000 0x60>, + <0x54432400 0x90>, + <0x40320000 0x20000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54434000 0x3000>, + <0x54422000 0x400>, + <0x54422400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54438000 0x3000>, + <0x54424000 0x400>, + <0x54424400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54440000 0x1000>, + <0x54442000 0x1000>, + <0x54450000 0x8000>, + <0x54460000 0x2000>, + <0x54466000 0x2000>, + <0x5446e000 0x31c>, + <0x54472000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x54468000 0x38>, + <0x54470000 0x60>, + <0x54472400 0x90>, + <0x40302000 0x1e000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54474000 0x1000>, + <0x54462000 0x400>, + <0x54462400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54478000 0x1000>, + <0x54464000 0x400>, + <0x54464400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&am43xx_pinmux { + uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default { + pinctrl-single,pins = < + AM4372_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */ + AM4372_IOPAD(0xa70, (PIN_INPUT | MUX_MODE8)) /* xdma_event_intr0.pr1_mdio_data */ + AM4372_IOPAD(0xa00, (PIN_INPUT_PULLUP | MUX_MODE7)) /* cam1_data6.gpio4_20 */ + AM4372_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */ + AM4372_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */ + AM4372_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */ + AM4372_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */ + AM4372_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */ + AM4372_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */ + AM4372_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */ + AM4372_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */ + AM4372_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */ + AM4372_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */ + AM4372_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */ + AM4372_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */ + AM4372_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */ + AM4372_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */ + AM4372_IOPAD(0xa40, (PIN_INPUT | MUX_MODE5)) /* gpio5_10.pr1_mii0_crs */ + AM4372_IOPAD(0xa38, (PIN_INPUT | MUX_MODE5)) /* gpio5_8.pr1_mii0_col */ + AM4372_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii_mt1_clk */ + AM4372_IOPAD(0x854, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_txd0 */ + AM4372_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd1 */ + AM4372_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd2 */ + AM4372_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd3 */ + AM4372_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxd0 */ + AM4372_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxd1 */ + AM4372_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii1_rxd2 */ + AM4372_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd3 */ + AM4372_IOPAD(0x840, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii1_txen */ + AM4372_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii_mr1_clk */ + AM4372_IOPAD(0x844, (PIN_INPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_rxdv */ + AM4372_IOPAD(0x874, (PIN_INPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_rxer */ + AM4372_IOPAD(0xa4c, (PIN_INPUT | MUX_MODE5)) /* gpio5_13.pr1_mii1_rxlink */ + AM4372_IOPAD(0xa44, (PIN_INPUT | MUX_MODE5)) /* gpio5_11.pr1_mii1_crs */ + AM4372_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_be1n.pr1_mii1_col */ + >; + }; +}; + +&uio_pruss2_mdio { + pinctrl-0 = <&uio_pruss2_mdio_eth_default>; + pinctrl-names = "default"; + status = "okay"; + + reset-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + + uio_pruss2_eth0_phy: uio_ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: uio_ethernet-phy@1 { + reg = <1>; + }; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss1_mdio { + status = "disabled"; +}; + +&pruss0 { + status = "disabled"; +}; + +&pru0_0 { + status = "disabled"; +}; + +&pru0_1 { + status = "disabled"; +}; + +&pruss0_intc { + status = "disabled"; +}; + +&pruss1_emac0 { + status = "disabled"; +}; + +&pruss1_emac1 { + status = "disabled"; +}; diff --git a/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc b/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc new file mode 100644 index 00000000..0425c789 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc @@ -0,0 +1,27 @@ +# Pull in the devicetree files into the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree" + +# Add run-time dependency for PM firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:ti33x = " amx3-cm3" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:ti43x = " amx3-cm3" + +# Add run-time dependency for VPE VPDMA firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:dra7xx = " vpdma-fw" + +# Add run-time dependency for Goodix firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:dra7xx = " goodix-fw" + +# Add run-time dependency for PRU Ethernet firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am57xx-evm = " prueth-fw prusw-fw pruhsr-fw pruprp-fw" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am57xx-hs-evm = " prueth-fw prusw-fw pruhsr-fw pruprp-fw" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:ti43x = " prueth-fw pruhsr-fw pruprp-fw" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:ti33x = " prueth-fw pruhsr-fw pruprp-fw" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am65xx = " prueth-fw-am65x" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am65xx-evm = " prueth-fw-am65x-sr2 prusw-fw-am65x-sr2" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am64xx-evm = " prueth-fw-am65x-sr2" + +# Add run-time dependency for Cadence MHDP firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:j7 = " cadence-mhdp-fw" + +# Add run-time dependency for Video Decoding firmware to the rootfs +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:j7 = " vxd-dec-fw" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/defconfig new file mode 100644 index 00000000..d083d182 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/dra7xx/defconfig new file mode 100644 index 00000000..dcb53bab --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/k3/defconfig new file mode 100644 index 00000000..b9bc6137 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/omapl138/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/omapl138/defconfig new file mode 100644 index 00000000..b3467853 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/omapl138/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omapl138_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti33x/defconfig new file mode 100644 index 00000000..88f80fa9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti43x/defconfig new file mode 100644 index 00000000..4b9daaf9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline_git.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline_git.bb new file mode 100644 index 00000000..6fe21071 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-mainline_git.bb @@ -0,0 +1,75 @@ +SECTION = "kernel" +SUMMARY = "Mainline Linux kernel for TI devices (with ti-upstream-tools)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +inherit kernel + +DEFCONFIG_BUILDER = "${WORKDIR}/ti-upstream-tools/config/defconfig_builder.sh" +require recipes-kernel/linux/setup-defconfig.inc +require recipes-kernel/linux/kernel-rdepends.inc +require recipes-kernel/linux/ti-kernel.inc + +DEPENDS += "gmp-native" + +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \ + ${EXTRA_DTC_ARGS}" + +S = "${WORKDIR}/git" + +BRANCH = "master" +TOOLS_BRANCH = "master" + +# 5.15 Mainline version +SRCREV = "8bb7eca972ad531c9b149c0a51ab43a417385813" +PV = "5.15+git${SRCPV}" + +# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild +MACHINE_KERNEL_PR:append = "b" +PR = "${MACHINE_KERNEL_PR}" + +KERNEL_GIT_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" +KERNEL_GIT_PROTOCOL = "git" +SRC_URI += " \ + ${KERNEL_GIT_URI};protocol=${KERNEL_GIT_PROTOCOL};branch=${BRANCH};name=linux \ + git://git.ti.com/ti-linux-kernel/ti-upstream-tools.git;branch=${TOOLS_BRANCH};protocol=${KERNEL_GIT_PROTOCOL};name=ti-upstream-tools;destsuffix=ti-upstream-tools \ + file://defconfig \ +" + +SRCREV_ti-upstream-tools = "0f60697843bba6f8d721b14da92b1652563ccb95" +SRCREV_FORMAT = "linux" + +KERNEL_DEVICETREE = "" + +kernel_do_compile:append() { + oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} + oe_runmake -C ${WORKDIR}/ti-upstream-tools LINUX=${S} DTC=${B}/scripts/dtc/dtc O=${B} CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} +} + +do_install:append() { + for dtbf in `find arch/${ARCH}/boot/dts/ \( -name '*.dtb' -or -name '*.dtbo' \)`; do + dtb="$dtbf" + dtb_ext=${dtb##*.} + dtb_base_name=`basename $dtb .$dtb_ext` + dtb_path=`get_real_dtb_path_in_kernel "$dtb"` + install -m 0644 $dtbf ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext + done +} + +do_deploy:append() { + for dtbf in `find arch/${ARCH}/boot/dts/ \( -name '*.dtb' -or -name '*.dtbo' \) -printf '%P\n'`; do + dtb="$dtbf" + dtb_ext=${dtb##*.} + dtb_base_name=`basename $dtb .$dtb_ext` + dtb_dir=`dirname $dtb` + install -d ${DEPLOYDIR} + install -m 0644 ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext ${DEPLOYDIR}/$dtb_base_name.$dtb_ext + done +} + +do_shared_workdir:prepend() { + cd ${B} + echo >> Module.symvers +} + +FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/*.itb" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/defconfig new file mode 100644 index 00000000..d083d182 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/dra7xx/defconfig new file mode 100644 index 00000000..dcb53bab --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/k3/defconfig new file mode 100644 index 00000000..b9bc6137 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/omapl138/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/omapl138/defconfig new file mode 100644 index 00000000..b3467853 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/omapl138/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omapl138_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti33x/defconfig new file mode 100644 index 00000000..88f80fa9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti43x/defconfig new file mode 100644 index 00000000..4b9daaf9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.10/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/defconfig new file mode 100644 index 00000000..d083d182 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/dra7xx/defconfig new file mode 100644 index 00000000..dcb53bab --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/k3/defconfig new file mode 100644 index 00000000..b9bc6137 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/omapl138/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/omapl138/defconfig new file mode 100644 index 00000000..b3467853 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/omapl138/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omapl138_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti33x/defconfig new file mode 100644 index 00000000..88f80fa9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti43x/defconfig new file mode 100644 index 00000000..4b9daaf9 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-5.4/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/defconfig new file mode 100644 index 00000000..f0b8bab0 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/dra7xx/defconfig new file mode 100644 index 00000000..47e3d04a --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/k3/defconfig new file mode 100644 index 00000000..cc10bfda --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti33x/defconfig new file mode 100644 index 00000000..0a4fbac2 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti43x/defconfig new file mode 100644 index 00000000..99594c81 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.10/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/defconfig new file mode 100644 index 00000000..f0b8bab0 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/dra7xx/defconfig new file mode 100644 index 00000000..47e3d04a --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/k3/defconfig new file mode 100644 index 00000000..cc10bfda --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti33x/defconfig new file mode 100644 index 00000000..0a4fbac2 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti43x/defconfig new file mode 100644 index 00000000..99594c81 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt-5.4/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_rt_release diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.10.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.10.bb new file mode 100644 index 00000000..10325a8b --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.10.bb @@ -0,0 +1,10 @@ +require linux-ti-staging_5.10.bb + +# Look in the generic major.minor directory for files +# This will have priority over generic non-rt path +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.10:" + +BRANCH = "ti-rt-linux-5.10.y" + +SRCREV = "541ec9a6995c3dd881d6f0b63cc714a08ded457d" +PV = "5.10.65+git${SRCPV}" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.4.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.4.bb new file mode 100644 index 00000000..8a0c0eaf --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-rt_5.4.bb @@ -0,0 +1,10 @@ +require linux-ti-staging_5.4.bb + +# Look in the generic major.minor directory for files +# This will have priority over generic non-rt path +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.4:" + +BRANCH = "ti-rt-linux-5.4.y" + +SRCREV = "519667b0d81d74a6e55105dcd6072ae550352599" +PV = "5.4.106+git${SRCPV}" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/defconfig new file mode 100644 index 00000000..5d051bd1 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/dra7xx/defconfig new file mode 100644 index 00000000..2b3635c3 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/k3/defconfig new file mode 100644 index 00000000..56cf9302 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/omapl138/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/omapl138/defconfig new file mode 100644 index 00000000..95b61168 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/omapl138/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omapl138_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti33x/defconfig new file mode 100644 index 00000000..9ab6733c --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti43x/defconfig new file mode 100644 index 00000000..825c31cd --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.10/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/defconfig new file mode 100644 index 00000000..5d051bd1 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omap2_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/dra7xx/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/dra7xx/defconfig new file mode 100644 index 00000000..2b3635c3 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/dra7xx/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_dra7x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/k3/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/k3/defconfig new file mode 100644 index 00000000..56cf9302 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/k3/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_arm64_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/omapl138/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/omapl138/defconfig new file mode 100644 index 00000000..95b61168 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/omapl138/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_omapl138_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti33x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti33x/defconfig new file mode 100644 index 00000000..9ab6733c --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti33x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am3x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti43x/defconfig b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti43x/defconfig new file mode 100644 index 00000000..825c31cd --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest-5.4/ti43x/defconfig @@ -0,0 +1 @@ +use-tisdk-config=ti_sdk_am4x_debug diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.10.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.10.bb new file mode 100644 index 00000000..e57d82eb --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.10.bb @@ -0,0 +1,5 @@ +require linux-ti-staging_5.10.bb + +# Look in the generic major.minor directory for files +# This will have priority over generic non-rt path +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.10:" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.4.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.4.bb new file mode 100644 index 00000000..7a9a148b --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging-systest_5.4.bb @@ -0,0 +1,5 @@ +require linux-ti-staging_5.4.bb + +# Look in the generic major.minor directory for files +# This will have priority over generic non-rt path +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.4:" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.10.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.10.bb new file mode 100644 index 00000000..1a0ec5df --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.10.bb @@ -0,0 +1,51 @@ +SECTION = "kernel" +SUMMARY = "Linux kernel for TI devices" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +inherit kernel + +DEFCONFIG_BUILDER = "${S}/ti_config_fragments/defconfig_builder.sh" +require recipes-kernel/linux/setup-defconfig.inc +require recipes-kernel/linux/cmem.inc +require recipes-kernel/linux/ti-uio.inc +require recipes-kernel/linux/bundle-devicetree.inc +require recipes-kernel/linux/kernel-rdepends.inc +require recipes-kernel/linux/ti-kernel.inc + +# Look in the generic major.minor directory for files +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.10:" + +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \ + ${EXTRA_DTC_ARGS}" + +S = "${WORKDIR}/git" + +BRANCH = "ti-linux-5.10.y" + +SRCREV = "dcc6bedb2c2bdb509709e4ae08303206e95ce6c2" +PV = "5.10.65+git${SRCPV}" + +# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild +MACHINE_KERNEL_PR:append = "b" +PR = "${MACHINE_KERNEL_PR}" + +KERNEL_GIT_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git" +KERNEL_GIT_PROTOCOL = "git" +SRC_URI += "${KERNEL_GIT_URI};protocol=${KERNEL_GIT_PROTOCOL};branch=${BRANCH} \ + file://defconfig" + +FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/*.itb" + +# Special configuration for remoteproc/rpmsg IPC modules +module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample" +module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus" +module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus" +KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc" +KERNEL_MODULE_AUTOLOAD:append:j7 = " rpmsg_kdrv_switch" + +# Disable SA2UL for AM64x HS and J7200 HS +module_conf_sa2ul:am64xx-hs-evm = "blacklist sa2ul" +KERNEL_MODULE_PROBECONF:append:am64xx-hs-evm = " sa2ul" +module_conf_sa2ul:j7200-hs-evm = "blacklist sa2ul" +KERNEL_MODULE_PROBECONF:append:j7200-hs-evm = " sa2ul" diff --git a/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.4.bb b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.4.bb new file mode 100644 index 00000000..fbfa497f --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_5.4.bb @@ -0,0 +1,43 @@ +SECTION = "kernel" +SUMMARY = "Linux kernel for TI devices" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +inherit kernel + +DEFCONFIG_BUILDER = "${S}/ti_config_fragments/defconfig_builder.sh" +require recipes-kernel/linux/setup-defconfig.inc +require recipes-kernel/linux/cmem.inc +require recipes-kernel/linux/ti-uio.inc +require recipes-kernel/linux/bundle-devicetree.inc +require recipes-kernel/linux/kernel-rdepends.inc + +# Look in the generic major.minor directory for files +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-5.4:" + +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" + +S = "${WORKDIR}/git" + +BRANCH = "ti-linux-5.4.y" + +SRCREV = "023faefa70274929bff92dc41167b007f7523792" +PV = "5.4.106+git${SRCPV}" + +# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild +MACHINE_KERNEL_PR:append = "a" +PR = "${MACHINE_KERNEL_PR}" + +KERNEL_GIT_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git" +KERNEL_GIT_PROTOCOL = "git" +SRC_URI += "${KERNEL_GIT_URI};protocol=${KERNEL_GIT_PROTOCOL};branch=${BRANCH} \ + file://defconfig" + +FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/*.itb" + +# Special configuration for remoteproc/rpmsg IPC modules +module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample" +module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus" +module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus" +KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc" +KERNEL_MODULE_AUTOLOAD:append:j7 = " rpmsg_kdrv_switch" diff --git a/meta-ti-bsp/recipes-kernel/linux/setup-defconfig.inc b/meta-ti-bsp/recipes-kernel/linux/setup-defconfig.inc new file mode 100644 index 00000000..850a1dd8 --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/setup-defconfig.inc @@ -0,0 +1,92 @@ +# KERNEL_LOCALVERSION can be set to add a tag to the end of the +# kernel version string. such as the commit id +def get_git_revision(p): + import subprocess + + try: + return subprocess.Popen("git rev-parse HEAD 2>/dev/null ", cwd=p, shell=True, stdout=subprocess.PIPE, universal_newlines=True).communicate()[0].rstrip() + except OSError: + return None + +KERNEL_LOCALVERSION = "-g${@get_git_revision('${S}').__str__()[:10]}" + +# Check the defconfig file and see if it points to an in kernel +# defconfig that should be used, or if it is a complete config file +# Or if it points to a combined defconfig that lists both in kernel +# defconfig and associated config fragments. + +do_configure() { + # Always copy the defconfig file to .config to keep consistency + # between the case where there is a real config and the in kernel + # tree config + cp ${WORKDIR}/defconfig ${B}/.config + + echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion + echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion + + # Zero, when using "tisdk" configs, pass control to defconfig_builder + config=`cat ${B}/.config | grep use-tisdk-config | cut -d= -f2` + if [ -n "$config" ] + then + ${DEFCONFIG_BUILDER} -w ${S} -t $config + oe_runmake -C ${S} O=${B} "$config"_defconfig + else + # First, check if pointing to a combined config with config fragments + config=`cat ${B}/.config | grep use-combined-config | cut -d= -f2` + if [ -n "$config" ] + then + cp ${S}/$config ${B}/.config + fi + + # Second, extract any config fragments listed in the defconfig + config=`cat ${B}/.config | grep config-fragment | cut -d= -f2` + if [ -n "$config" ] + then + configfrags="" + for f in $config + do + # Check if the config fragment is available + if [ ! -e "${S}/$f" ] + then + echo "Could not find kernel config fragment $f" + exit 1 + else + # Sanitize config fragment files to be relative to sources + configfrags="$configfrags ${S}/$f" + fi + done + fi + + # Third, check if pointing to a known in kernel defconfig + config=`cat ${B}/.config | grep use-kernel-config | cut -d= -f2` + if [ -n "$config" ] + then + oe_runmake -C ${S} O=${B} $config + else + yes '' | oe_runmake -C ${S} O=${B} oldconfig + fi + fi + + # Fourth, handle config fragments specified in the recipe + # The assumption is that the config fragment will be specified with the absolute path. + # E.g. ${WORKDIR}/config1.cfg or ${S}/config2.cfg + if [ -n "${KERNEL_CONFIG_FRAGMENTS}" ] + then + for f in ${KERNEL_CONFIG_FRAGMENTS} + do + # Check if the config fragment is available + if [ ! -e "$f" ] + then + echo "Could not find kernel config fragment $f" + exit 1 + fi + done + fi + + # Now that all the fragments are located merge them + if [ -n "${KERNEL_CONFIG_FRAGMENTS}" -o -n "$configfrags" ] + then + ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config $configfrags ${KERNEL_CONFIG_FRAGMENTS} 1>&2 ) + yes '' | oe_runmake -C ${S} O=${B} oldconfig + fi +} diff --git a/meta-ti-bsp/recipes-kernel/linux/ti-kernel.inc b/meta-ti-bsp/recipes-kernel/linux/ti-kernel.inc new file mode 100644 index 00000000..a7eb476e --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/ti-kernel.inc @@ -0,0 +1,9 @@ +# Add DTC FLAGS -@ when KERNEL_DTB_OVERLAY_SUPPORT is enabled + +def get_extra_dtc_args(d): + if d.getVar('KERNEL_DTB_OVERLAY_SUPPORT') == "1": + return "DTC_FLAGS=-@" + else: + return "" + +EXTRA_DTC_ARGS += "${@get_extra_dtc_args(d)}" diff --git a/meta-ti-bsp/recipes-kernel/linux/ti-uio.inc b/meta-ti-bsp/recipes-kernel/linux/ti-uio.inc new file mode 100644 index 00000000..eea7866a --- /dev/null +++ b/meta-ti-bsp/recipes-kernel/linux/ti-uio.inc @@ -0,0 +1,71 @@ +SRC_URI:append:dra7xx = " file://am57xx-pru-uio.dtsi \ + file://am571x-pru-uio.dtsi \ +" +SRC_URI:append:ti33x = " file://am335x-pru-uio.dtsi" +SRC_URI:append:ti43x = " file://am437x-pru-uio.dtsi" + +DTSI_LIST = "" + +do_setup_uio() { + if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] + then + for dtsi in ${DTSI_LIST} + do + cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ + for dtb in ${KERNEL_DEVICETREE} + do + dts=`echo $dtb | sed -e 's|dtb$|dts|'` + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + done + done + fi +} + +do_setup_uio:append:dra7xx() { + + if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] + then + dtsi="am57xx-pru-uio.dtsi" + cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ + + dts="am572x-idk-pru-excl-uio.dts" + cp ${S}/arch/arm/boot/dts/am572x-idk.dts ${S}/arch/arm/boot/dts/$dts + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + + dts="am574x-idk-pru-excl-uio.dts" + cp ${S}/arch/arm/boot/dts/am574x-idk.dts ${S}/arch/arm/boot/dts/$dts + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + + dts="am571x-idk-pru-excl-uio.dts" + dtsi="am571x-pru-uio.dtsi" + cp ${S}/arch/arm/boot/dts/am571x-idk.dts ${S}/arch/arm/boot/dts/$dts + cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + fi +} + +do_setup_uio:append:ti33x() { + + if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] + then + dts="am335x-icev2-pru-excl-uio.dts" + dtsi="am335x-pru-uio.dtsi" + cp ${S}/arch/arm/boot/dts/am335x-icev2-prueth.dts ${S}/arch/arm/boot/dts/$dts + cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + fi +} + +do_setup_uio:append:ti43x() { + + if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] + then + dts="am437x-idk-pru-excl-uio.dts" + dtsi="am437x-pru-uio.dtsi" + cp ${S}/arch/arm/boot/dts/am437x-idk-evm.dts ${S}/arch/arm/boot/dts/$dts + cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ + echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts + fi +} + +do_patch[postfuncs] += "do_setup_uio" diff --git a/meta-ti-bsp/recipes-multimedia/libdce/libdce_3.00.14.00.bb b/meta-ti-bsp/recipes-multimedia/libdce/libdce_3.00.14.00.bb new file mode 100644 index 00000000..42482c11 --- /dev/null +++ b/meta-ti-bsp/recipes-multimedia/libdce/libdce_3.00.14.00.bb @@ -0,0 +1,18 @@ +SUMMARY = "Library for remotely invoking HW accelerated codecs on IVA-HD" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://libdce.h;beginline=1;endline=31;md5=0a398cf815b8b5f31f552266cd453dae" + +inherit autotools pkgconfig + +DEPENDS = "libdrm ti-ipc" + +SRC_URI = "git://git.omapzoom.org/repo/libdce.git;protocol=git" +SRCREV = "f72096090e3063e85ea77cae66b2d99a48d91727" + +PR = "r1" + +S = "${WORKDIR}/git" +EXTRA_OECONF += "IPC_HEADERS=${STAGING_INCDIR}/ti/ipc/mm" + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-security/optee/optee-%.bbappend b/meta-ti-bsp/recipes-security/optee/optee-%.bbappend new file mode 100644 index 00000000..bc590bfd --- /dev/null +++ b/meta-ti-bsp/recipes-security/optee/optee-%.bbappend @@ -0,0 +1 @@ +COMPATIBLE_MACHINE:ti-soc = "ti-soc" diff --git a/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend new file mode 100644 index 00000000..5cb70df9 --- /dev/null +++ b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend @@ -0,0 +1,91 @@ +do_compile:prepend:ti-soc() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} +} + +do_compile:append:k3() { + ( cd ${B}/core/; \ + cp tee-pager_v2.bin ${B}/bl32.bin; \ + cp tee.elf ${B}/bl32.elf; \ + ) +} + +# Signing procedure for legacy HS devices +optee_sign_legacyhs() { + ( cd ${B}/core/; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \ + normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"` + mv tee.bin.signed ${B}/$normfl.optee; \ + ) + + if [ "${OPTEEPAGER}" = "y" ]; then + oe_runmake clean + oe_runmake all CFG_TEE_TA_LOG_LEVEL=0 CFG_WITH_PAGER=y + ( cd ${B}/core/; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \ + normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"` + mv tee.bin.signed ${B}/$normfl-pager.optee; \ + ) + fi +} + +# Signing procedure for K3 HS devices +optee_sign_k3hs() { + ( cd ${B}/core/; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee-pager_v2.bin tee-pager.bin.signed; \ + mv tee-pager.bin.signed ${B}/bl32.bin; \ + cp tee.elf ${B}/bl32.elf; \ + ) +} + +do_compile:append:ti43x() { + optee_sign_legacyhs +} + +do_compile:append:dra7xx() { + optee_sign_legacyhs +} + +do_compile:append:am65xx-hs-evm() { + optee_sign_k3hs +} + +do_compile:append:am64xx-hs-evm() { + optee_sign_k3hs +} + +do_compile:append:j7-hs-evm() { + optee_sign_k3hs +} + +do_compile:append:j7200-hs-evm() { + optee_sign_k3hs +} + +do_install:append:ti-soc() { + install -m 644 ${B}/*.optee ${D}${nonarch_base_libdir}/firmware/ || true + install -m 644 ${B}/bl32.bin ${D}${nonarch_base_libdir}/firmware/ || true + install -m 644 ${B}/bl32.elf ${D}${nonarch_base_libdir}/firmware/ || true +} + +optee_deploy_legacyhs() { + cd ${DEPLOYDIR}/ + for f in optee/*.optee; do + ln -sf $f ${DEPLOYDIR}/ + done +} + +do_deploy:append:ti43x() { + optee_deploy_legacyhs +} + +do_deploy:append:dra7xx() { + optee_deploy_legacyhs +} + +do_deploy:append:k3() { + ln -sf optee/bl32.bin ${DEPLOYDIR}/ + ln -sf optee/bl32.elf ${DEPLOYDIR}/ +} + +# This is needed for bl32.elf +INSANE_SKIP:${PN}:append:k3 = " textrel" diff --git a/meta-ti-bsp/recipes-ti/README b/meta-ti-bsp/recipes-ti/README new file mode 100644 index 00000000..b32c2842 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/README @@ -0,0 +1 @@ +Note: some of the packages in this area are not actively maintained. diff --git a/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes.bb b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes.bb new file mode 100644 index 00000000..ceefe0d6 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Userspace setup for beaglebone capes" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +PR = "r4" + +inherit allarch + +SRC_URI = "file://cape.service \ + file://cape.sh \ + file://cape-stop.sh \ + " + +do_install() { + install -d ${D}${base_libdir}/systemd/system/ + install -m 0644 ${WORKDIR}/cape.service ${D}${base_libdir}/systemd/system + + install -d ${D}${base_libdir}/systemd/system/basic.target.wants + ln -sf ../cape.service ${D}${base_libdir}/systemd/system/basic.target.wants/ + + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/cape*.sh ${D}${bindir} +} + +FILES:${PN} += "${base_libdir}/systemd/system" diff --git a/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh new file mode 100755 index 00000000..222a010d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh @@ -0,0 +1,14 @@ +#!/bin/sh +for eeprom in /sys/bus/i2c/devices/3-005*/eeprom ; do + PARTNUMBER=$(hexdump -e '8/1 "%c"' $eeprom -s 58 -n16) + case $PARTNUMBER in + "BB-BONE-LCD3-01.") + echo "Turning off backlight for LCD3 cape" + i2cset -f -y 1 0x24 0x07 0x00;; + "BB-BONE-LCD4"*) + echo "Turning off backlight for LCD4 cape" + i2cset -f -y 1 0x24 0x07 0x00;; + *) + echo "unknown cape: $PARTNUMBER";; + esac +done diff --git a/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.service b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.service new file mode 100644 index 00000000..ce0db719 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.service @@ -0,0 +1,11 @@ +[Unit] +Description=Beaglebone cape support + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/cape.sh +ExecStop=/usr/bin/cape-stop.sh + +[Install] +WantedBy=basic.target diff --git a/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.sh b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.sh new file mode 100755 index 00000000..c279349d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-capes/cape.sh @@ -0,0 +1,22 @@ +#!/bin/sh +for eeprom in /sys/bus/i2c/devices/3-005*/eeprom ; do + PARTNUMBER=$(hexdump -e '8/1 "%c"' $eeprom -s 58 -n16) + case $PARTNUMBER in + "BB-BONE-LCD3-01.") + echo "Turning on backlight for LCD3 cape" + i2cset -f -y 1 0x24 0x07 0x09 + i2cset -f -y 1 0x24 0x08 0x60;; + "BB-BONE-LCD4"*) + echo "Turning on backlight for LCD4 cape" + i2cset -f -y 1 0x24 0x07 0x09 + i2cset -f -y 1 0x24 0x08 0x60;; + "BB-BONE-WTHR-01.") + echo "Initializing I2C devices" + echo sht21 0x40 > /sys/class/i2c-adapter/i2c-3/new_device + echo bmp085 0x77 > /sys/class/i2c-adapter/i2c-3/new_device + echo tsl2550 0x39 > /sys/class/i2c-adapter/i2c-3/new_device + echo 1 > /sys/bus/i2c/devices/3-0039/operating_mode;; + *) + echo "unknown cape: $PARTNUMBER";; + esac +done diff --git a/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-getting-started.bb b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-getting-started.bb new file mode 100644 index 00000000..25538ace --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/beaglebone-getting-started.bb @@ -0,0 +1,21 @@ +SUMMARY = "BeagleBone Getting Started Guide" + +PR = "r22" + +inherit allarch + +LICENSE = "CC-BY-SA-3.0 & GPLv3+ & MIT & PD" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6f02761e31334c48f7021fb94c89aaa" + +SRCREV = "05bedba192646152b7bc80b0accaea75aef864e5" +SRC_URI = "git://github.com/jadonk/beaglebone-getting-started.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${datadir}/${PN} + cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${PN} +} + +FILES:${PN} += "${datadir}/${PN}" +INSANE_SKIP:${PN} = "file-rdeps" diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init.bb b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init.bb new file mode 100644 index 00000000..3ab00ec3 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init.bb @@ -0,0 +1,60 @@ +DESCRIPTION = "Units to initialize usb gadgets" + +PR = "r19" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +COMPATIBLE_MACHINE = "(ti33x)" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "file://storage-gadget-init.service \ + file://network-gadget-init.service \ + file://udhcpd.service \ + file://udhcpd.conf \ + file://bone-gmass-eject.rules \ + file://udhcpd.rules \ + file://g-storage-reinsert.sh \ + file://g-ether-start-service.sh \ + file://g-ether-load.sh \ + file://update-image-info-on-mmcblk0p1.sh \ + " + +do_install() { + install -d ${D}${base_libdir}/systemd/system/basic.target.wants + install -m 0644 ${WORKDIR}/*.service ${D}${base_libdir}/systemd/system + + for i in ${WORKDIR}/storage-gadget-init.service ; do + install -m 0644 $i ${D}${base_libdir}/systemd/system + ln -sf ../$(basename $i) ${D}${base_libdir}/systemd/system/basic.target.wants/ + done + + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir} + + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/*.sh ${D}${bindir} +} + +PACKAGES =+ "${PN}-storage ${PN}-network ${PN}-udhcpd" + +ALLOW_EMPTY:${PN} = "1" + +FILES:${PN}-storage = "${base_libdir}/systemd/system/storage-gadget-init.service \ + ${base_libdir}/systemd/system/basic.target.wants/storage-gadget-init.service \ + ${bindir}/g-storage-reinsert.sh \ + ${bindir}/update-image-info-on-mmcblk0p1.sh \ + ${sysconfdir}/udev/rules.d/bone-gmass-eject.rules" + +FILES:${PN}-network = "${base_libdir}/systemd/system/network-gadget-init.service \ + ${base_libdir}/systemd/system/basic.target.wants/network-gadget-init.service \ + ${bindir}/g-ether-load.sh \ + ${bindir}/g-ether-start-service.sh \ + ${sysconfdir}/udev/rules.d/udhcpd.rules" + +FILES:${PN}-udhcpd = "${base_libdir}/systemd/system/udhcpd.service \ + ${base_libdir}/systemd/system/basic.target.wants/udhcpd.service \ + ${sysconfdir}/udhcpd.conf" + +RRECOMMENDS:${PN} = "${PN}-storage ${PN}-network ${PN}-udhcpd" diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules new file mode 100644 index 00000000..ee6f93e2 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules @@ -0,0 +1 @@ +SUBSYSTEM=="block",ACTION=="change",KERNEL=="mmcblk0p1",RUN+="/usr/bin/g-ether-start-service.sh" diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-load.sh b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-load.sh new file mode 100755 index 00000000..f9400649 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-load.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +function get_devmem() +{ + /usr/bin/devmem2 $1 | grep ": " | cut -d ":" -f 2|cut -d "x" -f 2 +} + +function hex_to_mac_addr() +{ + addr=$1 + n=0 + mac_addr=$(echo ${addr} | while read -r -n2 c; do + if [ ! -z "$c" ]; then + if [ $n -ne 0 ] ; then + echo -n ":${c}" + else + echo -n "${c}" + fi + fi + n=$(($n+1)) + done) + echo ${mac_addr} +} + +function reverse_bytes() +{ + addr=$1 + New_addr=$(echo ${addr} | while read -r -n2 c; do + if [ ! -z "$c" ]; then + New_addr=${c}${New_addr} + else echo + echo ${New_addr} + fi + done) + echo ${New_addr} +} + +DEVMEM_ADDR_LO=$(get_devmem 0x44e10638|bc) +DEVMEM_ADDR_LO=$(reverse_bytes ${DEVMEM_ADDR_LO}) + +DEVMEM_ADDR_HI=$(get_devmem 0x44e1063C) +DEVMEM_ADDR_HI=$(reverse_bytes ${DEVMEM_ADDR_HI}) + +DEV_ADDR=$(hex_to_mac_addr "${DEVMEM_ADDR_HI}${DEVMEM_ADDR_LO}") + +modprobe g_ether host_addr=${DEV_ADDR} diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh new file mode 100755 index 00000000..6e73b155 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh @@ -0,0 +1,10 @@ +#!/bin/sh +if [ -a /sys/devices/platform/omap/musb-ti81xx/musb-hdrc.0/gadget/lun0/file ] +then + x=$(cat /sys/devices/platform/omap/musb-ti81xx/musb-hdrc.0/gadget/lun0/file) + if [ -z "$x" ] + then + /bin/systemctl stop storage-gadget-init.service + /bin/systemctl start network-gadget-init.service + fi +fi diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh new file mode 100755 index 00000000..d358640a --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh @@ -0,0 +1,4 @@ +#!/bin/sh +/bin/systemctl stop storage-gadget-init.service +/bin/systemctl stop network-gadget-init.service +/bin/systemctl start storage-gadget-init.service diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/network-gadget-init.service b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/network-gadget-init.service new file mode 100644 index 00000000..0ee29147 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/network-gadget-init.service @@ -0,0 +1,11 @@ +[Unit] +Description=Start USB Ethernet gadget +Conflicts=storage-gadget-init.service + +[Service] +RemainAfterExit=yes +ExecStart=/usr/bin/g-ether-load.sh +ExecStop=/sbin/rmmod g_ether + +[Install] +WantedBy=gether.target diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service new file mode 100644 index 00000000..9a8513e8 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service @@ -0,0 +1,11 @@ +[Unit] +Description=Start usb mass storage gadget +After=dev-mmcblk0p1.device + +[Service] +RemainAfterExit=yes +ExecStart=/sbin/modprobe g_mass_storage file=/dev/mmcblk0p1 cdrom=0 stall=0 removable=1 nofua=1 +ExecStop=/sbin/rmmod g_mass_storage + +[Install] +WantedBy=basic.target diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.conf b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.conf new file mode 100644 index 00000000..3bcf00f0 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.conf @@ -0,0 +1,5 @@ +start 192.168.7.1 +end 192.168.7.1 +interface usb0 +max_leases 1 +option subnet 255.255.255.252 diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.rules b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.rules new file mode 100644 index 00000000..db65f9ac --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.rules @@ -0,0 +1,2 @@ +SUBSYSTEM=="net",ACTION=="add",KERNEL=="usb0",RUN+="/sbin/ifconfig usb0 192.168.7.2 netmask 255.255.255.252",RUN+="/bin/systemctl start udhcpd.service" +SUBSYSTEM=="net",ACTION=="remove",KERNEL=="usb0",RUN+="/bin/systemctl stop udhcpd.service" diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.service b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.service new file mode 100644 index 00000000..1f4ac688 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/udhcpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=DHCP server for USB0 network gadget +After=dev-usb0.device +Conflicts=storage-gadget-init.service + +[Service] +ExecStart=/usr/sbin/udhcpd -f -S /etc/udhcpd.conf +ExecStop=/bin/kill -TERM $MAINPID +KillSignal=SIGINT + +[Install] +WantedBy=gether.target diff --git a/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh new file mode 100755 index 00000000..a4daf734 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh @@ -0,0 +1,37 @@ +#!/bin/sh +mount /dev/mmcblk0p1 /mnt +echo "Image info snapshot" > /mnt/info.txt + +echo >> /mnt/info.txt +echo "/etc/angstrom-version:" >> /mnt/info.txt +cat /etc/angstrom-version >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "/proc/cpuinfo:" >> /mnt/info.txt +cat /proc/cpuinfo >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "uname -a:" >> /mnt/info.txt +uname -a >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "/proc/cmdline:" >> /mnt/info.txt +cat /proc/cmdline >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "ifconfig:" >> /mnt/info.txt +ifconfig >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "/etc/angstrom-build-info:" >> /mnt/info.txt +cat /etc/angstrom-build-info >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "/etc/image-version-info:" >> /mnt/info.txt +cat /etc/image-version-info >> /mnt/info.txt + +echo >> /mnt/info.txt +echo "opkg list-installed:" >> /mnt/info.txt +opkg list-installed >> /mnt/info.txt + +umount /mnt diff --git a/meta-ti-bsp/recipes-ti/bios/ti-sysbios.inc b/meta-ti-bsp/recipes-ti/bios/ti-sysbios.inc new file mode 100644 index 00000000..0009dfcc --- /dev/null +++ b/meta-ti-bsp/recipes-ti/bios/ti-sysbios.inc @@ -0,0 +1,28 @@ +DESCRIPTION = "TI SYS/BIOS v6 Kernel" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios" +SECTION = "devel" +LICENSE = "BSD" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc +require ../includes/ti-eula-unpack.inc + +S = "${WORKDIR}/bios_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=sysbiosbin" +BINFILE="bios_${PV}.bin" +TI_BIN_UNPK_CMDS="Y: q:workdir:Y" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${SYSBIOS_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${SYSBIOS_INSTALL_DIR_RECIPE} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${SYSBIOS_INSTALL_DIR_RECIPE}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN}-dev = "arch ldflags staticdev file-rdeps" diff --git a/meta-ti-bsp/recipes-ti/bios/ti-sysbios_6.76.03.01.bb b/meta-ti-bsp/recipes-ti/bios/ti-sysbios_6.76.03.01.bb new file mode 100644 index 00000000..d242510f --- /dev/null +++ b/meta-ti-bsp/recipes-ti/bios/ti-sysbios_6.76.03.01.bb @@ -0,0 +1,16 @@ +require recipes-ti/bios/ti-sysbios.inc + +PE = "1" +PV = "6_76_03_01" +PR = "r0" + +LIC_FILES_CHKSUM = "file://manifest_bios_${PV}.html;md5=5cf40699c51b26d36fc01647c0b27fb1" + +SRC_URI[sysbiosbin.md5sum] = "647243209d66d5dd35503b0ec5a84ab9" +SRC_URI[sysbiosbin.sha256sum] = "b762b7f2343d26d367f952488e529046785128005158cc921c3baef08e97116a" + +TI_BIN_UNPK_CMDS = "" +TI_BIN_UNPK_ARGS = "--mode unattended --prefix ${WORKDIR}" + +BINFILE = "bios_${PV}.run" +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/${PV}/exports/${BINFILE};name=sysbiosbin" diff --git a/meta-ti-bsp/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb b/meta-ti-bsp/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb new file mode 100644 index 00000000..5851b899 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Codec Engine for TI ARM/DSP processors" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce" +SECTION = "devel" +LICENSE = "BSD" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc + +PV = "3_24_00_08" +PR = "r0" + +LIC_FILES_CHKSUM = "file://codec_engine_${PV}_Manifest.html;md5=de7d9c2594a6f3868e42a33b6a748ce7" + +SRC_URI[cetarball.md5sum] = "d66a8ccbd6cdfe9f735af9f4a07e2b9b" +SRC_URI[cetarball.sha256sum] = "ed7b7399903bbf76af06ee6457836f344ad75b903618339bae82b3967f27ffa1" + +S = "${WORKDIR}/codec_engine_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/${PV}/exports/codec_engine_${PV},lite.tar.gz;name=cetarball " + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + # Install/Stage the Source Tree + install -d ${D}${CE_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${CE_INSTALL_DIR_RECIPE} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${CE_INSTALL_DIR_RECIPE}" diff --git a/meta-ti-bsp/recipes-ti/ctoolslib/libaet_git.bb b/meta-ti-bsp/recipes-ti/ctoolslib/libaet_git.bb new file mode 100644 index 00000000..c15ab229 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ctoolslib/libaet_git.bb @@ -0,0 +1,38 @@ +SUMMARY = "TI Emulation CTools AET library" +DESCRIPTION = "The AETLIB library provides programmatic access to the Advanced Event Triggering capability on C6x processor cores" + +LICENSE = "BSD" + +PV = "4.19.0.0" + +LIC_FILES_CHKSUM = "file://../ctoolslib_manifest.html;md5=b7dd369a2e07ef9a71795ee5a9bd01bd" + +SRC_URI = "git://git.ti.com/sdo-emu/ctoolslib.git;protocol=git;branch=opencl_aetlib_build" +SRCREV = "de7954abab0f0caa8a2c7b53095c30226d901a31" + +DEPENDS = "ti-cgt6x-native" +PR = "r0" + +S = "${WORKDIR}/git/aet" + +DEVICE="" +DEVICE:dra7xx = "DRA7xx" + +EXTRA_OEMAKE = "C6X_C_DIR=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x/include" + +do_install() { + install -d ${D}${datadir}/ti/ctoolslib/aet + install -d ${D}${datadir}/ti/ctoolslib/aet/include + install -d ${D}${datadir}/ti/ctoolslib/aet/lib + cp -rP --preserve=mode,links,timestamps --no-preserve=ownership ${S}/include/* ${D}${datadir}/ti/ctoolslib/aet/include/ + install -m 0644 ${S}/build/c66/libaet.ae66 ${D}${datadir}/ti/ctoolslib/aet/lib/ +} + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES:${PN}-dev += "\ + ${datadir}/ti/ctoolslib/aet \ +" + +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-ti-bsp/recipes-ti/devtools/gcc-arm-baremetal_7-2018-q2-update.bb b/meta-ti-bsp/recipes-ti/devtools/gcc-arm-baremetal_7-2018-q2-update.bb new file mode 100644 index 00000000..e0feb02c --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/gcc-arm-baremetal_7-2018-q2-update.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Baremetal GCC for ARM" +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" + +LIC_FILES_CHKSUM = "file://share/doc/gcc-arm-none-eabi/license.txt;md5=f77466c63f5787f4bd669c402aabe061" + +require recipes-ti/includes/ti-paths.inc + +SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2;name=gcc-arm-none" + +SRC_URI[gcc-arm-none.md5sum] = "299ebd3f1c2c90930d28ab82e5d8d6c0" +SRC_URI[gcc-arm-none.sha256sum] = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69" + +S = "${WORKDIR}/gcc-arm-none-eabi-7-2018-q2-update" + +# only x86_64 is supported +COMPATIBLE_HOST = "x86_64.*-linux" +COMPATIBLE_HOST:class-target = "null" + +do_install() { + install -d ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE} + cp -r ${S}/. ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE} +} + +FILES:${PN} = "${GCC_ARM_NONE_TOOLCHAIN_RECIPE}/*" + +INSANE_SKIP:${PN} = "already-stripped libdir staticdev build-deps file-rdeps" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cg-xml_2.61.00.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cg-xml_2.61.00.bb new file mode 100644 index 00000000..8e36be6d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cg-xml_2.61.00.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "TI CG_XML" +HOMEPAGE = "http://software-dl.ti.com/ccs/non-esd/releases/other/applications_packages/cg_xml/index.htm" +SECTION = "devel" +LICENSE = "BSD" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc +require recipes-ti/includes/ti-unpack.inc + +PV = "2.61.00" +PE = "1" +S = "${WORKDIR}/cg_xml_${PV}" + +SRC_URI = "\ + http://software-dl.ti.com/ccs/non-esd/releases/other/applications_packages/cg_xml/cg_xml_v${@'${PV}'.replace('.','_')}/cgxml-${PV}-linux-installer.run;name=cgxmlbin_linux \ +" +LIC_FILES_CHKSUM = "file://cg_xml_${PV}_Manifest.pdf;md5=fc02a39748ba50373f32b2f4a5e3a684" + +SRC_URI[cgxmlbin_linux.md5sum] = "6ce60caa97bbf15158d806fb062fadff" +SRC_URI[cgxmlbin_linux.sha256sum] = "da77cb10bd3d5de89e27e4ce8f4408a2e50775c8980225f9a828ddc242bb81f9" + +BINFILE="cgxml-${PV}-linux-installer.run" +TI_BIN_UNPK_CMDS="" +TI_BIN_UNPK_ARGS="--prefix ${S} --mode unattended" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${CG_XML_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${CG_XML_INSTALL_DIR_RECIPE} +} + +FILES:${PN} += "${CG_XML_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN} = "arch ldflags file-rdeps" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt-arm_18.12.5.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt-arm_18.12.5.bb new file mode 100644 index 00000000..b7b6d9b1 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt-arm_18.12.5.bb @@ -0,0 +1,44 @@ +SUMMARY = "TI ARM Code Generation Tools" +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" +LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Patrick-Powell & AFL-3.0 & MIT & BSD-2-Clause & PD & BSD-4-Clause" + +LIC_FILES_CHKSUM = "file://ti-cgt-arm_${PV}.LTS/README.txt;md5=79631eb21b2e5b7190cd3ff1dfd41108" + +require recipes-ti/includes/ti-unpack.inc +require recipes-ti/includes/ti-staging.inc +require recipes-ti/includes/ti-paths.inc + +S = "${WORKDIR}/ti-cgt-arm-${PV}" + +PE = "1" +PR = "r0" + +SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/TMS470/${PV}.LTS/${BINFILE};name=${BINFILE_NAME}" + +BINFILE = "ti_cgt_tms470_${PV}.LTS_linux_installer_x86.bin" +TI_BIN_UNPK_ARGS = "--prefix ${S}" +TI_BIN_UNPK_CMDS = "" + +# only x86_64 is supported +COMPATIBLE_HOST = "x86_64.*-linux" +COMPATIBLE_HOST:class-target = "null" + +do_install() { + install -d ${D}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE} + cp -r ${S}/ti-cgt-arm*/. ${D}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE} +} + +SRC_URI[cgt_arm_installer.md5sum] = "e9e668332cf86c965b4da9d1d488426b" +SRC_URI[cgt_arm_installer.sha256sum] = "da976143128c619a278cb4214a4295c409d100f9e65ad2f4d0d1039db7cf98f4" + +BINFILE_NAME = "cgt_arm_installer" + +FILES:${PN} += "${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +INSANE_SKIP:${PN} += "arch staticdev file-rdeps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb new file mode 100644 index 00000000..8b3e2a07 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "TI PRU Code Generation Tools" +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" +LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Hewlett-Packard & AFL-3.0 & MIT & BSD-2-Clause & PD" + +LIC_FILES_CHKSUM = "file://ti-cgt-pru_${PV}/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" +LIC_FILES_CHKSUM:class-target = "file://usr/share/doc/ti/cgt-pru/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-unpack.inc + +BINFILE = "ti_cgt_pru_${PV}_linux_installer_x86.bin" +BINFILE_NAME = "cgt-pru-x86" +TI_BIN_UNPK_ARGS = "--prefix ${S}" +TI_BIN_UNPK_CMDS = "" + +BINFILE:class-target = "ti_cgt_pru_${PV}_armlinuxa8hf_busybox_installer.sh" +BINFILE_NAME:class-target = "cgt-pru-arm" + +SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/${PV}/${BINFILE};name=${BINFILE_NAME}" + +SRC_URI[cgt-pru-x86.md5sum] = "270a0ecca383f66cad3a0e2a738c6ab0" +SRC_URI[cgt-pru-x86.sha256sum] = "af1178a059d46d67d5672df053dd2fbebb0b89a513b17b8739dbe915b4a5d71a" + +SRC_URI[cgt-pru-arm.md5sum] = "fbf10083af1b0e5d69b018126603bb58" +SRC_URI[cgt-pru-arm.sha256sum] = "75ac84775a5624ea7e4fad4efc1acb7e869c79160550d48ba780068a3dce879c" + +do_install() { + install -d ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE} + cp -r ${S}/ti-cgt-pru_${PV}/. \ + ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE}/ +} + +do_install:class-target() { + ${WORKDIR}/${BINFILE} --prefix ${D} +} + +FILES:${PN} += "${datadir}/ti/*" + +FILES:${PN}-dbg = "${TI_CGT_PRU_INSTALL_DIR_RECIPE}/bin/.debug \ + ${TI_CGT_PRU_INSTALL_DIR_RECIPE}/lib/.debug \ +" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +INSANE_SKIP:${PN} += "arch staticdev already-stripped file-rdeps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt470.inc b/meta-ti-bsp/recipes-ti/devtools/ti-cgt470.inc new file mode 100644 index 00000000..f0992aa7 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt470.inc @@ -0,0 +1,24 @@ +DESCRIPTION = "TI ARM Code Generation Tools" +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm" +SECTION = "devel" +LICENSE = "TI" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62f46f1125a152a2e213b414db7ac600" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc +require ../includes/ti-eula-unpack.inc + +S = "${WORKDIR}/cgt470_${PV}" + +SRC_URI = "http://install.source.dir.local/ti_cgt_tms470_${PVwithdots}_setup_linux_x86.bin;name=cgt470bin" + +BINFILE="ti_cgt_tms470_${PVwithdots}_setup_linux_x86.bin" +TI_BIN_UNPK_CMDS="Y:qY:workdir: : " +TI_BIN_UNPK_WDEXT="/cgt470_${PV}" + +do_install() { + install -d ${D}${CODEGEN_ARM_INSTALL_DIR_RECIPE} + cp -pPrf ${S}/* ${D}${CODEGEN_ARM_INSTALL_DIR_RECIPE} +} + diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt470_4.6.6.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt470_4.6.6.bb new file mode 100644 index 00000000..6ff2cc48 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt470_4.6.6.bb @@ -0,0 +1,8 @@ +require ti-cgt470.inc + +PV = "4_6_6" +PVwithdots = "4.6.6" + +SRC_URI[cgt470bin.md5sum] = "29a316dc6b8c8c3a53e0d6c956acb62b" +SRC_URI[cgt470bin.sha256sum] = "a17bc7139f450672503c932ef53b00c425522890e031b4a7c9135fdf90815740" + diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x-7_7.4.16.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x-7_7.4.16.bb new file mode 100644 index 00000000..a7de8e38 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x-7_7.4.16.bb @@ -0,0 +1,46 @@ +SUMMARY = "TI DSP Code Generation Tools" +DESCRIPTION = "Texas Instrument (TI) Code Generation Tools are custom \ +utilities targeted for TI embedded processors. This Digital Signal \ +Processor (DSP) suite contains tools needed to create and debug \ +applications for the C6000 DSP family. This includes tools such as: \ +compiler, linker, assembler, etc. This also includes C runtime \ +libraries and standard header files needed to produce a working DSP application." + +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" +LICENSE = "TI-TSPA" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b6311962635a4f15630e36ec2d875eca" + +S = "${WORKDIR}/c6000_7.4.16" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-unpack.inc + +BINFILE = "ti_cgt_c6000_7.4.16_linux_installer_x86.bin" +BINFILE_NAME = "cgt6x_7.4.16_x86_installer" +TI_BIN_UNPK_ARGS = "--prefix ${WORKDIR} --mode unattended" +TI_BIN_UNPK_CMDS="" + +SRC_URI = "http://install.source.dir.local/${BINFILE};name=${BINFILE_NAME}" + +SRC_URI[cgt6x_7.4.16_x86_installer.md5sum] = "21ca55c5b1f6b2d8d4fb7570d5eb5513" +SRC_URI[cgt6x_7.4.16_x86_installer.sha256sum] = "baa0d1ef20397383f99f45068a6d160963a01419d42fbbb851263b54c91df82f" + +# only x86_64 is supported +COMPATIBLE_HOST = "x86_64.*-linux" +COMPATIBLE_HOST:class-target = "null" + +do_install() { + install -d ${D}/${TI_CGT6X_7_INSTALL_DIR_RECIPE} + cp -rP --preserve=mode,links,timestamps --no-preserve=ownership ${WORKDIR}/c6000_7.4.16/. ${D}/${TI_CGT6X_7_INSTALL_DIR_RECIPE} +} + +FILES:${PN} += "${TI_CGT6X_7_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN} += "arch staticdev textrel" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x_8.3.2.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x_8.3.2.bb new file mode 100644 index 00000000..fd34657a --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt6x_8.3.2.bb @@ -0,0 +1,107 @@ +DESCRIPTION = "TI DSP Code Generation Tools" +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" +LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Patrick-Powell & AFL-3.0 & MIT & BSD-2-Clause & PD" + +LIC_FILES_CHKSUM = "file://ti-cgt-c6000_${PV}/C6000CodeGenerationTools_8.3.x_manifest.html;md5=d06c6f9acebf78df4108a8535396e9f1" +LIC_FILES_CHKSUM:class-target = "file://usr/share/doc/ti/cgt-c6x/C6000CodeGenerationTools_8.3.x_manifest.html;md5=d06c6f9acebf78df4108a8535396e9f1" + +PE = "1" + +require recipes-ti/includes/ti-unpack.inc + +COMPATIBLE_HOST:class-target = "arm.*-linux" + +# For now we only have hardfp version for target class +python __anonymous() { + c = d.getVar("CLASSOVERRIDE") + + if c == "class-target": + tunes = d.getVar("TUNE_FEATURES") + if not tunes: + return + pkgn = d.getVar("PN") + pkgv = d.getVar("PV") + if "callconvention-hard" not in tunes: + bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv)) + raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv)) +} + +BINFILE = "ti_cgt_c6000_${PV}_linux_installer_x86.bin" +BINFILE_NAME = "cgt6x_x86_installer" +TI_BIN_UNPK_ARGS = "--prefix ${S}" +TI_BIN_UNPK_CMDS = "" + +BINFILE:class-target = "ti_cgt_c6000_${PV}_armlinuxa8hf_busybox_installer.sh" +BINFILE_NAME:class-target = "cgt6x_arm_installer" + +SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/C6000/${PV}/${BINFILE};name=${BINFILE_NAME}" + +SRC_URI[cgt6x_x86_installer.md5sum] = "f1f534e6a4bdee6df39e8d0cb458d161" +SRC_URI[cgt6x_x86_installer.sha256sum] = "1fba2a8f5532b33a23677771d686a866171ce7a0e567fed50d900d0ecd2e17e6" + +SRC_URI[cgt6x_arm_installer.md5sum] = "425d82308e71202ad004a36b7ec3cec9" +SRC_URI[cgt6x_arm_installer.sha256sum] = "70c387ddde379194fed712087be6cb0ca5f4f0e65d7f29bd7462c38ee011928f" + +do_install() { + install -d ${D}${bindir} + for binfile in ${S}/ti-cgt-c6000_${PV}/bin/*; do + install -m 755 ${binfile} ${D}${bindir} + done + + install -d ${D}${datadir}/ti/cgt-c6x/bin + for binfile in ${S}/ti-cgt-c6000_${PV}/bin/*; do + install -m 755 ${binfile} ${D}${datadir}/ti/cgt-c6x/bin + done + + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + cp ${CP_ARGS} ${S}/ti-cgt-c6000_${PV}/include ${D}${datadir}/ti/cgt-c6x/include + + install -d ${D}${datadir}/ti/cgt-c6x/lib + for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.a; do + install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib + done + + for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.cmd; do + install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib + done + + for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.lib; do + install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib + done + + install -d ${D}${datadir}/man/man1 + for manfile in ${S}/ti-cgt-c6000_${PV}/man/man1/*; do + if [ -e ${manfile} ]; then + install -m 644 ${manfile} ${D}${datadir}/man/man1 + fi + done + + install -d ${D}${datadir}/doc/ti/cgt-c6x + for docfile in ${S}/ti-cgt-c6000_${PV}/*.txt; do + install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x + done + + for docfile in ${S}/ti-cgt-c6000_${PV}/*.html; do + install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x + done + + for docfile in ${S}/ti-cgt-c6000_${PV}/*.spdx; do + install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x + done + +} + +do_install:class-target() { + ${WORKDIR}/${BINFILE} --prefix ${D} +} + +FILES:${PN} += "${datadir}/ti/*" + +FILES:${PN}-dbg += "${datadir}/ti/cgt-c6x/bin/.debug" + +INSANE_SKIP:${PN} += "staticdev" +INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${datadir}/ti/cgt-c6x/lib/libc.a" + +BBCLASSEXTEND = "native nativesdk" + +COMPATIBLE_MACHINE:class-target = "(ti-soc)" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-cgt7x_1.2.0.bb b/meta-ti-bsp/recipes-ti/devtools/ti-cgt7x_1.2.0.bb new file mode 100644 index 00000000..b45b52a3 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-cgt7x_1.2.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "TI DSP Code Generation Tools" +DESCRIPTION = "Texas Instruments (TI) Code Generation Tools are custom \ +utilities targeted for TI embedded processors. This Digital Signal \ +Processor (DSP) suite contains tools needed to create and debug \ +applications for the C7000 DSP family. This includes tools such as: \ +compiler, linker, assembler, etc. This also includes C runtime \ +libraries and standard header files needed to produce a working DSP application." +HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" +LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Patrick-Powell & AFL-3.0 & MIT & BSD-2-Clause & PD" + +LIC_FILES_CHKSUM = "file://ti-cgt-c7000_${PV}.STS/C7000_Code_Generation_Tools_1.x_manifest.html;md5=f1156d241d104c281bc64a6ec8eadc64" + +require recipes-ti/includes/ti-unpack.inc +require recipes-ti/includes/ti-paths.inc + +# only x86_64 is supported +COMPATIBLE_HOST = "x86_64.*-linux" +COMPATIBLE_HOST:class-target = "null" + +PE = "1" + +BINFILE = "ti_cgt_c7000_${PV}.STS_linux_installer_x86.bin" +BINFILE_NAME = "cgt7x_x86_installer" + +SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/C7000/${PV}.STS/${BINFILE};name=${BINFILE_NAME}" + +TI_BIN_UNPK_ARGS = "--prefix ${S}" +TI_BIN_UNPK_CMDS = "" + +SRC_URI[cgt7x_x86_installer.md5sum] = "813840908f333dd2a31f92edec71c1fb" +SRC_URI[cgt7x_x86_installer.sha256sum] = "21379811a8857489f72ca8ec45a46eb086ced0bdbb58e78f73a86e63984ab2f5" + +S = "${WORKDIR}/c7000_${PV}" + +do_install() { + install -d ${D}/${TI_CGT7X_INSTALL_DIR_RECIPE} + cp -rP --preserve=mode,links,timestamps --no-preserve=ownership ${WORKDIR}/c7000_${PV}/ti-cgt-c7000_${PV}.STS/. ${D}/${TI_CGT7X_INSTALL_DIR_RECIPE} +} + + +FILES:${PN} += "${TI_CGT7X_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN} += "arch staticdev textrel" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-common.inc b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-common.inc new file mode 100644 index 00000000..3caf7b8d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-common.inc @@ -0,0 +1,70 @@ +DESCRIPTION = "TI XDCtools (RTSC - Real Time Software Components - http://rtsc.eclipse.org)" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc" +SECTION = "devel" +LICENSE = "BSD & GPLv2" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + + install -d ${D}${XDC_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${XDC_INSTALL_DIR_RECIPE} +} + +FILES:${PN}-dev = "${XDC_INSTALL_DIR_RECIPE}" + +BBCLASSEXTEND = "native nativesdk" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN}-dev = "libdir dev-elf arch file-rdeps" + +# Prevent internal libs from getting picked up +PRIVATE_LIBS = " \ +libncdb.so \ +libcdb.so \ +libjavaplugin_oji.so \ +libjavaplugin_jni.so \ +libjsound.so \ +libinstrument.so \ +libjawt.so \ +libzip.so \ +libjava_crw_demo.so \ +libjavaplugin_nscp_gcc29.so \ +libhprof.so \ +libcmm.so \ +libjdwp.so \ +libmlib_image.so \ +libjpeg.so \ +libverify.so \ +libjavaplugin_nscp.so \ +libmanagement.so \ +libunpack.so \ +librmi.so \ +libJdbcOdbc.so \ +libawt.so \ +libnet.so \ +libjaas_unix.so \ +libnio.so \ +libdcpr.so \ +libioser12.so \ +libjsoundalsa.so \ +libjava.so \ +libfontmanager.so \ +libdt_socket.so \ +libmawt.so \ +libjvm.so \ +libhpi.so \ +lib.so \ +libcairo.so.2 \ +libjli.so \ +libawt_xawt.so \ +" + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" +COMPATIBLE_HOST:class-native = "(.*)" +COMPATIBLE_HOST:class-nativesdk = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-core.inc b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-core.inc new file mode 100644 index 00000000..47f73b6d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools-core.inc @@ -0,0 +1,5 @@ +require ti-xdctools-common.inc + +S = "${WORKDIR}/xdctools_${PV}_core" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdccore/xdctools_${PV}_core_linux.zip;name=xdczip" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-xdctools.inc b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools.inc new file mode 100644 index 00000000..1415f83e --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools.inc @@ -0,0 +1,10 @@ +require ti-xdctools-common.inc +require ../includes/ti-eula-unpack.inc + +S = "${WORKDIR}/xdctools_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdctools_setuplinux_${PV}.bin;name=xdcbin" + +BINFILE="xdctools_setuplinux_${PV}.bin" +TI_BIN_UNPK_CMDS="Y:workdir:Y" +TI_BIN_UNPK_WDEXT="/ti" diff --git a/meta-ti-bsp/recipes-ti/devtools/ti-xdctools_3.55.02.22.bb b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools_3.55.02.22.bb new file mode 100644 index 00000000..6c3fdeb2 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/devtools/ti-xdctools_3.55.02.22.bb @@ -0,0 +1,10 @@ +require recipes-ti/devtools/ti-xdctools-core.inc + +PE = "1" +PV = "3_55_02_22" +PR = "r0" + +LIC_FILES_CHKSUM = "file://docs/license/xdc/shelf/package.html;beginline=1;endline=140;md5=2e742b9757bc9ce0241aadba9f627ab8" + +SRC_URI[xdczip.md5sum] = "bb9154d677ce4724a5eac73817b23a0f" +SRC_URI[xdczip.sha256sum] = "bf90dfbbe298458c736d81d5631db25b335e79146923a4a50fab217e02723e7b" diff --git a/meta-ti-bsp/recipes-ti/dsplib/dsplib-c64xp_git.bb b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c64xp_git.bb new file mode 100644 index 00000000..1550a538 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c64xp_git.bb @@ -0,0 +1,6 @@ +include dsplib.inc + +MATHLIB_INSTALL_DIR = "${MATHLIB_C64P_INSTALL_DIR}/packages" +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C64P_INSTALL_DIR_RECIPE}" +DSPLIB_INSTALL_DIR = "${DSPLIB_C64P_INSTALL_DIR}" +DSPLIB_BUILD_TARGET = "c64Px" diff --git a/meta-ti-bsp/recipes-ti/dsplib/dsplib-c66x_git.bb b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c66x_git.bb new file mode 100644 index 00000000..b28d8df6 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c66x_git.bb @@ -0,0 +1,8 @@ +include dsplib.inc + +MATHLIB_INSTALL_DIR = "${MATHLIB_C66_INSTALL_DIR}/packages" +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C66_INSTALL_DIR_RECIPE}" +DSPLIB_INSTALL_DIR = "${DSPLIB_C66_INSTALL_DIR}" +DSPLIB_BUILD_TARGET = "c66x" + +DEPENDS += "mathlib-c66x" diff --git a/meta-ti-bsp/recipes-ti/dsplib/dsplib-c674x_git.bb b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c674x_git.bb new file mode 100644 index 00000000..47974ea1 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/dsplib/dsplib-c674x_git.bb @@ -0,0 +1,8 @@ +include dsplib.inc + +MATHLIB_INSTALL_DIR = "${MATHLIB_C674_INSTALL_DIR}/packages" +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C674_INSTALL_DIR_RECIPE}" +DSPLIB_INSTALL_DIR = "${DSPLIB_C674_INSTALL_DIR}" +DSPLIB_BUILD_TARGET = "c674x" + +DEPENDS += "mathlib-c674x" diff --git a/meta-ti-bsp/recipes-ti/dsplib/dsplib.inc b/meta-ti-bsp/recipes-ti/dsplib/dsplib.inc new file mode 100644 index 00000000..85d79ae3 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/dsplib/dsplib.inc @@ -0,0 +1,78 @@ +SUMMARY = "DSPLIB contains optimized signal processing functions for TI DSPs" +HOMEPAGE = "http://git.ti.com/ep-processor-libraries/dsplib" +LICENSE = "BSD-3-Clause" + +require ../includes/ti-paths.inc + +PV = "3_4_0_4" +PR = "r2" + +DEPENDS = "ti-cgt6x-native \ + ti-xdctools-native \ + ti-sysbios \ + doxygen-native \ + zip-native \ + swtools" + +S = "${WORKDIR}/git" + +DSPLIB_GIT_BRANCH = "master" +DSPLIB_GIT_PROTOCOL = "git" +DSPLIB_GIT_URI = "git://git.ti.com/ep-processor-libraries/dsplib.git" +DSPLIB_SRCREV = "0390b171042c602e07669fd28a371cc319b90161" + +SRC_URI = "${DSPLIB_GIT_URI};protocol=${DSPLIB_GIT_PROTOCOL};branch=${DSPLIB_GIT_BRANCH}" +SRCREV = "${DSPLIB_SRCREV}" + +LIC_FILES_CHKSUM = "file://ti/dsplib/src/common/c66/lnk.cmd;beginline=1;endline=37;md5=0f0c9c4d51d8af75419781591ace190b" + +export DSPLIB_WORK_DIR="${S}" +export CGTOOLS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" +export C64PCODEGENTOOL="${CGTOOLS_INSTALL_DIR}" +export C674CODEGENTOOL="${CGTOOLS_INSTALL_DIR}" +export C66CODEGENTOOL ="${CGTOOLS_INSTALL_DIR}" +export SWTOOLS_PATH = "${SWTOOLS_INSTALL_DIR}/ti/mas/swtools" +export XDCBUILDCFG="${SWTOOLS_PATH}/config.bld" +export INCDIR="${MATHLIB_INSTALL_DIR}/" + +PATH:append = ":${XDC_INSTALL_DIR}" + +XDCPATH.="${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;" +XDCPATH.="${SWTOOLS_INSTALL_DIR};${MATHLIB_INSTALL_DIR};${DSPLIB_WORK_DIR};" + +export XDCPATH + +DSPLIB_PACKAGE_NAME = "dsplib_${DSPLIB_BUILD_TARGET}_${PV}" + +do_compile() { + cd ${DSPLIB_WORK_DIR}/ti/dsplib; + xdc XDCARGS="${DSPLIB_BUILD_TARGET} bundle" XDCOPTIONS="-v" +} + +do_install() { + install -d ${D}${DSPLIB_INSTALL_DIR_RECIPE} + + find -name "${DSPLIB_PACKAGE_NAME}.zip" -exec unzip -o {} -d ${D}${DSPLIB_INSTALL_DIR_RECIPE} \; + cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib/. ${D}${DSPLIB_INSTALL_DIR_RECIPE} + rm -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib +} + +inherit deploy +addtask deploy before do_build after do_install + +do_deploy() { + install -d ${DEPLOYDIR} + # zip up files in ${D}${DSPLIB_INSTALL_DIR_RECIPE} + # and place the zip file in ${DEPLOYDIR} + mkdir ./${DSPLIB_PACKAGE_NAME} + cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/. ./${DSPLIB_PACKAGE_NAME} + zip -9 -y -r -q ${DEPLOYDIR}/${DSPLIB_PACKAGE_NAME}.zip ./${DSPLIB_PACKAGE_NAME} + rm -r ./${DSPLIB_PACKAGE_NAME} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${DSPLIB_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN}-dev = "arch" +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components.inc b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components.inc new file mode 100644 index 00000000..e8b7c414 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components.inc @@ -0,0 +1,21 @@ +DESCRIPTION = "TI Framework Components" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc" +SECTION = "devel" +LICENSE = "BSD" + +require recipes-ti/includes/ti-paths.inc + +S = "${WORKDIR}/framework_components_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/${PV}/exports/framework_components_${PV},lite.tar.gz;name=fctarball" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${FC_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${FC_INSTALL_DIR_RECIPE} +} + +INSANE_SKIP:${PN} = "ldflags" + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${FC_INSTALL_DIR_RECIPE}" diff --git a/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb new file mode 100644 index 00000000..1ec10b15 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb @@ -0,0 +1,9 @@ +require ti-framework-components.inc + +PV = "2_26_00_01" +PR = "r2" + +LIC_FILES_CHKSUM = "file://framework_components_2_26_00_01_manifest.html;md5=3250f9da7ee72284c07f8dd840400c75" + +SRC_URI[fctarball.md5sum] = "40b51cade2f9ae6e6f6dca73c17065af" +SRC_URI[fctarball.sha256sum] = "3f7a12a51dfe87310828a31518d7ef8f9039e59269c0ca24f74a68433c235048" diff --git a/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb new file mode 100644 index 00000000..56c00283 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb @@ -0,0 +1,9 @@ +require ti-framework-components.inc + +PV = "3_40_02_07" +PR = "r0" + +LIC_FILES_CHKSUM = "file://framework_components_${PV}_Manifest.html;md5=0dd131dd53300f517b14dba8824f8b0a" + +SRC_URI[fctarball.md5sum] = "36dd2312ea8d70aa2ae0a05a24dbf54e" +SRC_URI[fctarball.sha256sum] = "69082a0f86d12c24b39a1293ec35cf8007b850479898d5ae485ec1e8cf2e8c72" diff --git a/meta-ti-bsp/recipes-ti/imglib/imglib-c66x.inc b/meta-ti-bsp/recipes-ti/imglib/imglib-c66x.inc new file mode 100644 index 00000000..ab5cbdb6 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/imglib/imglib-c66x.inc @@ -0,0 +1,34 @@ +DESCRIPTION = "IMGLIB contains optimized general-purpose image/video processing routines for TI DSPs" +HOMEPAGE = "http://www.ti.com/tool/sprc264" +SECTION = "devel" +LICENSE = "BSD-3-Clause" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc +require ../includes/ti-unpack.inc + +COMPATIBLE_MACHINE = "omap-a15" + +SRC_URI = "http://software-dl.ti.com/sdoemb/sdoemb_public_sw/imglib/${PV}/exports/${BINFILE};name=imglib" + +S = "${WORKDIR}/imglib-c66x-${PV}" + +BINFILE = "imglib_c66x_${PV}_Linux.bin" +TI_BIN_UNPK_ARGS = "--mode silent --prefix ${S}" +TI_BIN_UNPK_CMDS = "" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${IMGLIB_C66_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${IMGLIB_C66_INSTALL_DIR_RECIPE} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${IMGLIB_C66_INSTALL_DIR_RECIPE}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +RDEPENDS:${PN}-dev += "perl" +INSANE_SKIP:${PN}-dev = "arch" diff --git a/meta-ti-bsp/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb b/meta-ti-bsp/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb new file mode 100644 index 00000000..e614352c --- /dev/null +++ b/meta-ti-bsp/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb @@ -0,0 +1,9 @@ +require imglib-c66x.inc + +PV = "3_1_1_0" +PR = "r1" + +LIC_FILES_CHKSUM = "file://packages/ti/imglib/src/common/IMG_profile.h;beginline=1;endline=35;md5=a21fc16da34b650ce33a9a7143908667" + +SRC_URI[imglib.md5sum] = "9d64f213e040899048446df5055deeca" +SRC_URI[imglib.sha256sum] = "f3153e51530f26cfc638efca7ca6ae1bbaf7736daf287fc972592372a676ed21" diff --git a/meta-ti-bsp/recipes-ti/includes/ti-eula-unpack.inc b/meta-ti-bsp/recipes-ti/includes/ti-eula-unpack.inc new file mode 100644 index 00000000..ead06100 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/includes/ti-eula-unpack.inc @@ -0,0 +1,15 @@ +# This file defines function used for unpacking the .bin file downloaded over +# the http and display EULA. +# BINFILE - name of the install jammer .bin file +# TARFILE - name of the tar file inside the install jammer +# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be +# passed while unpacking the bin file. The keyword +# workdir expands to WORKDIR and commands are appendded +# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir" +# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put +# the output in some internal directory + +require recipes-ti/includes/ti-unpack.inc + +TI_BIN_UNPK_ARGS = "--mode console" + diff --git a/meta-ti-bsp/recipes-ti/includes/ti-paths.inc b/meta-ti-bsp/recipes-ti/includes/ti-paths.inc new file mode 100644 index 00000000..358d7dfd --- /dev/null +++ b/meta-ti-bsp/recipes-ti/includes/ti-paths.inc @@ -0,0 +1,109 @@ +installdir = "${datadir}/ti" + +export TOOLCHAIN_PATH ?= "${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_SYS}" +# This is where do_install will put it +export AUDIO_SOC_INSTALL_DIR_RECIPE = "${installdir}/ti-audio-soc-example-tree" +export BIOSPSP_INSTALL_DIR_RECIPE = "${installdir}/ti-biospsp-tree" +export C6ACCEL_INSTALL_DIR_RECIPE = "${installdir}/ti-c6accel-tree" +export C6RUN_INSTALL_DIR_RECIPE = "${installdir}/ti-c6run-tree" +export CE_INSTALL_DIR_RECIPE = "${installdir}/ti-codec-engine-tree" +export CODEC_INSTALL_DIR_RECIPE = "${installdir}/ti-codecs-tree" +export CODEGEN_ARM_INSTALL_DIR_RECIPE= "${installdir}/ti-cgt470-tree" +export CODEGEN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt6x-tree" +export DSP_BENCHMARK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsp-benchmark-tree" +export DSPLIB_C64P_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c64p-tree" +export DSPLIB_C674_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c674x-tree" +export DSPLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c66x-tree" +export DVSDK_DEMOS_INSTALL_DIR_RECIPE= "${installdir}/ti-dvsdk-demos-tree" +export DVTB_INSTALL_DIR_RECIPE = "${installdir}/ti-dvtb-tree" +export EDMA3_LLD_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-tree" +export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-sysbios-tree" +export FASTMATHLIB_C674P_INSTALL_DIR_RECIPE = "${installdir}/ti-fastmathlib-c67x-tree" +export FC3_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components3-tree" +export FC_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components-tree" +export GFX_SDK_INSTALL_DIR_RECIPE = "${installdir}/ti-gfx-sdk-tree" +export HDVICP20_INSTALL_DIR_RECIPE = "${installdir}/ti-hdvicp20-tree" +export IMGLIB_C64P_INSTALL_DIR_RECIPE= "${installdir}/ti-imglib-tree" +export IPC_INSTALL_DIR_RECIPE = "${installdir}/ti-ipc-tree" +export LINK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplink-tree" +export LPM_INSTALL_DIR_RECIPE = "${installdir}/ti-local-power-manager-tree" +export OMX_INSTALL_DIR_RECIPE = "${installdir}/ti-omx-tree" +export OSAL_INSTALL_DIR_RECIPE = "${installdir}/ti-osal-tree" +export RTFS_INSTALL_DIR_RECIPE = "${installdir}/ti-rtfs-tree" +export SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-sysbios-tree" +export SYSLINK_INSTALL_DIR_RECIPE = "${installdir}/ti-syslink-tree" +export SWTOOLS_INSTALL_DIR_RECIPE = "${installdir}/ti-swtools-tree" +export UIA_INSTALL_DIR_RECIPE = "${installdir}/ti-uia-tree" +export VICPLIB_INSTALL_DIR_RECIPE = "${installdir}/ti-vicplib-tree" +export XDAIS_INSTALL_DIR_RECIPE = "${installdir}/ti-xdais-tree" +export XDC_INSTALL_DIR_RECIPE = "${installdir}/ti-xdctools-tree" +export PDK_INSTALL_DIR_RECIPE = "${installdir}/ti-pdk-tree" +export OSAL_INSTALL_DIR_RECIPE = "${installdir}/ti-osal-tree" +export M4_TOOLCHAIN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt-arm" +export GCC_ARM_NONE_TOOLCHAIN_RECIPE = "${installdir}/gcc-arm-none-eabi" +export TI_CGT_PRU_INSTALL_DIR_RECIPE = "${installdir}/cgt-pru" +export MATHLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-mathlib-c66x-tree" +export MATHLIB_C674_INSTALL_DIR_RECIPE = "${installdir}/ti-mathlib-c674x-tree" +export IMGLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-imglib-c66x-tree" +export VLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-vlib-c66x-tree" +export CG_XML_INSTALL_DIR_RECIPE = "${installdir}/ti-cg-xml-tree" +export OMP_INSTALL_DIR_RECIPE = "${installdir}/ti-omp-tree" +export MPM_INSTALL_DIR_RECIPE = "${installdir}/ti-mpm-tree" +export TI_CGT6X_7_INSTALL_DIR_RECIPE = "${installdir}/cgt6x-7" +export TI_CGT7X_INSTALL_DIR_RECIPE = "${installdir}/cgt-c7x" + + +# This is where the tools will end up in sysroot +export BIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOS_INSTALL_DIR_RECIPE}" +export BIOSPSP_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOSPSP_INSTALL_DIR_RECIPE}" +export C6ACCEL_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6ACCEL_INSTALL_DIR_RECIPE}" +export C6RUN_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6RUN_INSTALL_DIR_RECIPE}" +export CE_INSTALL_DIR = "${STAGING_DIR_TARGET}${CE_INSTALL_DIR_RECIPE}" +export CMEM_INSTALL_DIR = "${STAGING_DIR_TARGET}${CMEM_INSTALL_DIR_RECIPE}" +export CODEC_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEC_INSTALL_DIR_RECIPE}" +export CODEGEN_ARM_INSTALL_DIR= "${STAGING_DIR_TARGET}${CODEGEN_ARM_INSTALL_DIR_RECIPE}" +export CODEGEN_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEGEN_INSTALL_DIR_RECIPE}" +export DSP_BENCHMARK_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSP_BENCHMARK_INSTALL_DIR_RECIPE}" +export EDMA3_LLD_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_INSTALL_DIR_RECIPE}" +export EDMA3_LLD_SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}" +export FASTMATHLIB_C674P_INSTALL_DIR = "${STAGING_DIR_TARGET}${FASTMATHLIB_C674P_INSTALL_DIR_RECIPE}" +export FC3_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC3_INSTALL_DIR_RECIPE}" +export FC_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC_INSTALL_DIR_RECIPE}" +export HDVICP20_INSTALL_DIR = "${STAGING_DIR_TARGET}${HDVICP20_INSTALL_DIR_RECIPE}" +export IMGLIB_C64P_INSTALL_DIR= "${STAGING_DIR_TARGET}${IMGLIB_C64P_INSTALL_DIR_RECIPE}" +export IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}${IPC_INSTALL_DIR_RECIPE}" +export LINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${LINK_INSTALL_DIR_RECIPE}" +export LPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${LPM_INSTALL_DIR_RECIPE}" +export OMX_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMX_INSTALL_DIR_RECIPE}" +export SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSBIOS_INSTALL_DIR_RECIPE}" +export SYSLINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSLINK_INSTALL_DIR_RECIPE}" +export UIA_INSTALL_DIR = "${STAGING_DIR_TARGET}${UIA_INSTALL_DIR_RECIPE}" +export XDAIS_INSTALL_DIR = "${STAGING_DIR_TARGET}${XDAIS_INSTALL_DIR_RECIPE}" +export XDC_INSTALL_DIR = "${STAGING_DIR_NATIVE}${XDC_INSTALL_DIR_RECIPE}" +export PDK_INSTALL_DIR = "${STAGING_DIR_TARGET}${PDK_INSTALL_DIR_RECIPE}" +export OSAL_INSTALL_DIR = "${STAGING_DIR_TARGET}${OSAL_INSTALL_DIR_RECIPE}" +export M4_TOOLCHAIN_INSTALL_DIR = "${STAGING_DIR_NATIVE}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}" +export GCC_ARM_NONE_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}" +export TI_CGT_PRU_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT_PRU_INSTALL_DIR_RECIPE}" +export SWTOOLS_INSTALL_DIR = "${STAGING_DIR_TARGET}${SWTOOLS_INSTALL_DIR_RECIPE}" +export DSPLIB_C64P_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C64P_INSTALL_DIR_RECIPE}" +export DSPLIB_C674_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C674_INSTALL_DIR_RECIPE}" +export DSPLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C66_INSTALL_DIR_RECIPE}" +export MATHLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${MATHLIB_C66_INSTALL_DIR_RECIPE}" +export MATHLIB_C674_INSTALL_DIR = "${STAGING_DIR_TARGET}${MATHLIB_C674_INSTALL_DIR_RECIPE}" +export IMGLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${IMGLIB_C66_INSTALL_DIR_RECIPE}" +export VLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${VLIB_C66_INSTALL_DIR_RECIPE}" +export CG_XML_INSTALL_DIR = "${STAGING_DIR_NATIVE}${CG_XML_INSTALL_DIR_RECIPE}" +export OMP_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMP_INSTALL_DIR_RECIPE}" +export MPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${MPM_INSTALL_DIR_RECIPE}" +export TI_CGT6X_7_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT6X_7_INSTALL_DIR_RECIPE}" +export GCC_LINARO_BAREMETAL_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}" +export GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}" +export TI_CGT7X_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT7X_INSTALL_DIR_RECIPE}" + + +DSPSUFFIX:omapl137 = "x674" +DSPSUFFIX:omapl138 = "x674" +DSPSUFFIX_ti816x = "xe674" +DSPSUFFIX_ti814x = "xe674" +DSPSUFFIX ?= "x64P" diff --git a/meta-ti-bsp/recipes-ti/includes/ti-staging.inc b/meta-ti-bsp/recipes-ti/includes/ti-staging.inc new file mode 100644 index 00000000..f18d017c --- /dev/null +++ b/meta-ti-bsp/recipes-ti/includes/ti-staging.inc @@ -0,0 +1,6 @@ +INHIBIT_PACKAGE_STRIP = "1" + +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-dev = "1" + + diff --git a/meta-ti-bsp/recipes-ti/includes/ti-unpack.inc b/meta-ti-bsp/recipes-ti/includes/ti-unpack.inc new file mode 100644 index 00000000..46bfb957 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/includes/ti-unpack.inc @@ -0,0 +1,83 @@ +# This file defines function used for unpacking the .bin file downloaded over +# the http. +# BINFILE - name of the install jammer .bin file +# TARFILE - name of the tar file inside the install jammer +# TI_BIN_UNPK_ARGS - contains the arguments to be passed to the bin file. +# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be +# passed while unpacking the bin file. The keyword +# workdir expands to WORKDIR and commands are appendded +# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir" +# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put +# the output in some internal directory + +python do_unpack () { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('ti_bin_do_unpack', d) +} + +TI_BIN_UNPK_WDEXT ?= "" +python ti_bin_do_unpack() { + import os + + # InstallJammer requires 32bit version of glibc + if not os.path.exists('/lib/ld-linux.so.2'): + bb.fatal("TI installer requires 32bit glibc libraries for proper operation\nrun 'yum install glibc.i686' on Fedora or 'apt-get install libc6:i386' on Ubuntu/Debian") + + localdata = bb.data.createCopy(d) + bb.data.update_data(localdata) + + binfile = localdata.getVar('BINFILE') + binfile = bb.data.expand(binfile, localdata) + + # Change to the working directory + save_cwd = os.getcwd() + workdir = localdata.getVar('WORKDIR') + workdir = bb.data.expand(workdir, localdata) + os.chdir(workdir) + + # Get unpack args + arg_string = localdata.getVar('TI_BIN_UNPK_ARGS') + arg_string = bb.data.expand(arg_string, localdata) + + # Get unpack commands + cmd_string = localdata.getVar('TI_BIN_UNPK_CMDS') + cmd_list = cmd_string.split( ":" ) + + # Make the InstallJammer binary executable so we can run it + os.chmod(binfile, 0o755) + + # Run the InstallJammer binary and accept the EULA + filename = "HOME=%s ./%s %s" % (workdir, binfile, arg_string) + + # Test executable by printing installer version or help screen (--version currently broken for some installers) + # - this is currently broken in some IJ installers - comment out for now + #if os.system(filename + " --version") != 0: + # print "ERROR: ti-eula-unpack: failed to execute binary installer" + # raise bb.build.FuncFailed() + + f = os.popen(filename,'w') + for cmd in cmd_list: + if cmd == "workdir": + wdext = localdata.getVar('TI_BIN_UNPK_WDEXT') + wdext = bb.data.expand(wdext, localdata) + cmd = workdir+wdext + f.write(cmd+'\n'); + f.close() + + # Expand the tarball that was created if required + tarfile = localdata.getVar('TARFILE') + if bool(tarfile) == True: + tarfile = bb.data.expand(tarfile, localdata) + tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir) + if os.system(tcmd) != 0: + print("ERROR: ti-eula-unpack: failed to extract tarfile") + raise bb.build.FuncFailed() + + # Return to the previous directory + os.chdir(save_cwd) +} + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" +COMPATIBLE_HOST:class-native = "(.*)" +COMPATIBLE_HOST:class-nativesdk = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-common.inc b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-common.inc new file mode 100644 index 00000000..4962a3ec --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-common.inc @@ -0,0 +1,12 @@ +PV = "3.51.00.00" +INC_PR = "r0" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" + +PLATFORM = "UNKNOWN" +PLATFORM:dra7xx = "DRA7XX" +PLATFORM:omapl138 = "OMAPL138" + +ALT_PLATFORM:am57xx-evm = "AM572X AM571X" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch new file mode 100644 index 00000000..ea514695 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux/0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch @@ -0,0 +1,40 @@ +From cca4fd812959a0cd241dd3bbebfd461ece94c9b8 Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denis@denix.org> +Date: Mon, 29 Mar 2021 19:42:00 -0400 +Subject: [PATCH] examples/ClusterMgr: sys_errlist[] has been deprecated in + glibc + +Use strerror() instead. + +Upstream-Status: Pending + +Signed-off-by: Denys Dmytriyenko <denis@denix.org> +--- + src/examples/templates/ex46_graph/manager/ClusterMgr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/examples/templates/ex46_graph/manager/ClusterMgr.c b/src/examples/templates/ex46_graph/manager/ClusterMgr.c +index 19216c9..a1fa679 100644 +--- a/src/examples/templates/ex46_graph/manager/ClusterMgr.c ++++ b/src/examples/templates/ex46_graph/manager/ClusterMgr.c +@@ -714,7 +714,7 @@ static pid_t ClusterMgr_system(char *cmd, bool wait) + pid = fork(); + + if (pid == -1) { +- LOG "CM_system: fork error: %s\n", sys_errlist[errno] LOGF ++ LOG "CM_system: fork error: %s\n", strerror(errno) LOGF + status = -1; + goto leave; + } +@@ -739,7 +739,7 @@ static pid_t ClusterMgr_system(char *cmd, bool wait) + else { + /* overlay a new executable */ + execvp(argv[0], argv); +- LOG "CM_system: execvp error: %s\n", sys_errlist[errno] LOGF ++ LOG "CM_system: execvp error: %s\n", strerror(errno) LOGF + status = -1; + } + +-- +2.7.4 + diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux_git.bb new file mode 100644 index 00000000..81706592 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples-linux_git.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running bios" +require ti-ipc-examples.inc + +SRC_URI += "file://0001-examples-ClusterMgr-sys_errlist-has-been-deprecated-.patch;patchdir=../git/ipc-examples" + +DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native" + +do_compile:append() { + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + fi + oe_runmake -C examples all HOSTOS="linux" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake -C examples all HOSTOS="linux" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + PLATFORM="${ALT_PLATFORM}" + fi + fi +} + +do_install:append() { + cd ${S_ipc-examples}/src + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + # Install directory for linux examples + install -d ${D}${bindir}/ipc/examples + oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples" \ + PLATFORM="${ALT_PLATFORM}" + fi + fi +} + +FILES:${PN} += "${bindir}/*" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples.inc b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples.inc new file mode 100644 index 00000000..66cd5d32 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples.inc @@ -0,0 +1,31 @@ +HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:IPC" +require ti-ipc-common.inc +require ti-ipc-rtos.inc + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a" + +INSANE_SKIP:${PN} += "arch" + +ALLOW_EMPTY:${PN} = "1" + +IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" + +do_compile() { + + cd ${S_ipc-examples}/src + oe_runmake .examples \ + IPCTOOLS="${S_ipc-metadata}/src/etc" + + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake .examples "PLATFORM=${alt_platform}" \ + IPCTOOLS="${S_ipc-metadata}/src/etc" + done +} + +do_install() { + cd ${S_ipc-examples}/src + IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'` +} + +INHIBIT_PACKAGE_STRIP = "1" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples_git.bb new file mode 100644 index 00000000..bcc8674e --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-examples_git.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running linux" +require ti-ipc-examples.inc + +DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native" + +do_compile:append() { + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake extract PLATFORM="${alt_platform}" HOSTOS="bios" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + done + oe_runmake -C examples all HOSTOS="bios" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake -C examples all HOSTOS="bios" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" PLATFORM="${alt_platform}" + done + fi +} + +do_install:append() { + if [ "${PLATFORM}" != "UNKNOWN" ]; then + # Install directory for bios examples + install -d ${D}/ipc_${IPC_VERSION}/examples/bios + oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios" + oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios" + + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \ + PLATFORM="${alt_platform}" + oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \ + PLATFORM="${alt_platform}" + done + fi +} + +FILES:${PN} += "ipc_*" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos.inc b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos.inc new file mode 100644 index 00000000..56667ad1 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos.inc @@ -0,0 +1,73 @@ +require recipes-ti/includes/ti-paths.inc + +TI_IPC_EXAMPLES_GIT_URI = "git://git.ti.com/ipc/ipc-examples.git" +TI_IPC_EXAMPLES_DEST_SUFFIX = "git/ipc-examples" +TI_IPC_EXAMPLES_GIT_PROTOCOL = "git" +TI_IPC_EXAMPLES_GIT_BRANCH = "master" +TI_IPC_EXAMPLES_NAME = "ipc-examples" + +SRC_URI += "${TI_IPC_EXAMPLES_GIT_URI};\ +destsuffix=${TI_IPC_EXAMPLES_DEST_SUFFIX};\ +protocol=${TI_IPC_EXAMPLES_GIT_PROTOCOL};\ +branch=${TI_IPC_EXAMPLES_GIT_BRANCH};\ +name=${TI_IPC_EXAMPLES_NAME}" + +TI_IPC_METADATA_GIT_URI = "git://git.ti.com/ipc/ipc-metadata.git" +TI_IPC_METADATA_DEST_SUFFIX = "git/ipc-metadata" +TI_IPC_METADATA_GIT_PROTOCOL = "git" +TI_IPC_METADATA_GIT_BRANCH = "master" +TI_IPC_METADATA_NAME = "ipc-metadata" + +SRC_URI += "${TI_IPC_METADATA_GIT_URI};\ +destsuffix=${TI_IPC_METADATA_DEST_SUFFIX};\ +protocol=${TI_IPC_METADATA_GIT_PROTOCOL};\ +branch=${TI_IPC_METADATA_GIT_BRANCH};\ +name=${TI_IPC_METADATA_NAME}" + +# Corresponds to tag: 3.51.00.00 +TI_IPC_METADATA_SRCREV = "1bf668fd6b0ec2ef6956fa55b8484d0b21a9f9e2" +# Corresponds to tag: 3.51.00.00 +TI_IPC_EXAMPLES_SRCREV = "4707fcbbe0d136e781c4a7ffdc072be407c34358" + +SRCREV_FORMAT = "default" +SRCREV_ipc-metadata = "${TI_IPC_METADATA_SRCREV}" +SRCREV_ipc-examples = "${TI_IPC_EXAMPLES_SRCREV}" + +S_ipc-examples = "${WORKDIR}/git/ipc-examples" +S_ipc-metadata = "${WORKDIR}/git/ipc-metadata" + +RELEASE_TYPE = "GA" +RELEASE_SUFFIX = "" + +PR = "${INC_PR}.r0" + +DEPENDS:append:omap-a15 = " ti-cgt6x-native \ + ti-cgt-arm-native \ + gcc-arm-baremetal-native \ +" +DEPENDS:append:omapl138 = " ti-cgt6x-native \ +" + +IPC_TARGETS = "" + +IPC_TARGETS:omap-a15 = "\ + gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \ + ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \ + ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \ + ti.targets.arm.elf.M4="${M4_TOOLCHAIN_INSTALL_DIR}" \ +" + +IPC_TARGETS:omapl138 = "\ + ti.targets.elf.C674="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \ +" + +PARALLEL_XDC = "${@oe.utils.parallel_make_argument(d, '--jobs=%d')}" +EXTRA_OEMAKE = "\ + PLATFORM=${PLATFORM} \ + XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ + BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \ + ${IPC_TARGETS} \ + ${PARALLEL_XDC} \ + JAVA_TOOL_OPTIONS=-Xss2560k \ +" + diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos_git.bb new file mode 100644 index 00000000..abef3195 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc-rtos_git.bb @@ -0,0 +1,101 @@ +require ti-ipc.inc +require ti-ipc-common.inc +require ti-ipc-rtos.inc + +DEPENDS = "ti-xdctools-native ti-sysbios doxygen-native zip-native" + +PACKAGES =+ "${PN}-fw" +FILES:${PN}-fw = "${base_libdir}/firmware/*" +FILES:${PN}-dev += "${IPC_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN}-fw += "arch" +INSANE_SKIP:${PN}-dev += "arch" + +ALLOW_EMPTY:${PN} = "1" + +IPC_PACKAGE_DIR = "${S}/ipc-package" + +do_compile() { + oe_runmake -f ipc-bios.mak clean + oe_runmake -f ipc-bios.mak release + + cd ${S_ipc-metadata} + oe_runmake .all-files IPC_INSTALL_DIR="${S}" \ + BUILD_HOST_OS="linux" \ + RELEASE_TYPE="${RELEASE_TYPE}" + + cd ${S_ipc-examples}/src + oe_runmake .examples \ + IPCTOOLS="${S_ipc-metadata}/src/etc" + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake .examples \ + IPCTOOLS="${S_ipc-metadata}/src/etc" \ + PLATFORM=${alt_platform} + done + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${S}" + oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${S}" + + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake extract PLATFORM=${alt_platform} HOSTOS="bios" IPC_INSTALL_DIR="${S}" + oe_runmake extract PLATFORM=${alt_platform} HOSTOS="linux" IPC_INSTALL_DIR="${S}" + done + fi + + IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'` + install -d ${IPC_PACKAGE_DIR} + # Copy docs and other meta files + cp -pPrf ${S_ipc-metadata}/exports/ipc_${IPC_VERSION}/* -d ${IPC_PACKAGE_DIR} + + # Copy example folders corresponding to the platforms + if [ "${PLATFORM}" != "UNKNOWN" ]; then + install -d ${IPC_PACKAGE_DIR}/examples + cp -pPf ${S_ipc-examples}/src/examples/*.* ${IPC_PACKAGE_DIR}/examples/ + cp -pPf ${S_ipc-examples}/src/examples/makefile ${IPC_PACKAGE_DIR}/examples/ + cp -pPrf ${S_ipc-examples}/src/examples/${PLATFORM}* ${IPC_PACKAGE_DIR}/examples/ + for alt_platform in ${ALT_PLATFORM}; do + cp -pPrf ${S_ipc-examples}/src/examples/${alt_platform}* ${IPC_PACKAGE_DIR}/examples/ + done + find ${IPC_PACKAGE_DIR}/examples/ -name "*zip" -type f | xargs -I {} rm {} + fi +} + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'` + # Copy docs and other meta files + install -d ${D}${IPC_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${IPC_PACKAGE_DIR}/* -d ${D}${IPC_INSTALL_DIR_RECIPE} + + install -d ${D}${base_libdir}/firmware/ipc + cp ${CP_ARGS} ${S}/packages/ti/ipc/tests/bin/* ${D}${base_libdir}/firmware/ipc || true +} + +KFDSPNUM = "0" + +KFPLAT = "" + +ALTERNATIVE_PRIORITY = "5" + +pkg_postinst:${PN}-fw:omap-a15 () { + update-alternatives --install /lib/firmware/dra7-dsp1-fw.xe66 dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66 ${ALTERNATIVE_PRIORITY} + update-alternatives --install /lib/firmware/dra7-dsp2-fw.xe66 dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66 ${ALTERNATIVE_PRIORITY} + update-alternatives --install /lib/firmware/dra7-ipu1-fw.xem4 dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4 ${ALTERNATIVE_PRIORITY} + update-alternatives --install /lib/firmware/dra7-ipu2-fw.xem4 dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4 ${ALTERNATIVE_PRIORITY} +} + +pkg_postrm:${PN}-fw:omap-a15 () { + update-alternatives --remove dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66 + update-alternatives --remove dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66 + update-alternatives --remove dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4 + update-alternatives --remove dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4 +} + +pkg_postinst:${PN}-fw:omapl138 () { + update-alternatives --install /lib/firmware/rproc-dsp-fw rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674 ${ALTERNATIVE_PRIORITY} +} + +pkg_postrm:${PN}-fw:omapl138 () { + update-alternatives --remove rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674 +} diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc.inc b/meta-ti-bsp/recipes-ti/ipc/ti-ipc.inc new file mode 100644 index 00000000..34278d4b --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc.inc @@ -0,0 +1,20 @@ +DESCRIPTION = "TI Inter Process Communication (IPC) Mechanisms (for Uni- and Multi- Processor Configurations)" +HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://${S}/ipc-linux.mak;beginline=1;endline=30;md5=7b327f9b710fd7c95e545b91cec79255" + +TI_IPC_GIT_URI = "git://git.ti.com/ipc/ipcdev.git" +TI_IPC_GIT_PROTOCOL = "git" +TI_IPC_GIT_BRANCH = "master" + +#Corresponds to 3.51.00.00A +TI_IPC_SRCREV = "7a6e343a208d2849139b7272a67abc01db806e00" + +BRANCH = "${TI_IPC_GIT_BRANCH}" +SRC_URI = "${TI_IPC_GIT_URI};protocol=${TI_IPC_GIT_PROTOCOL};branch=${BRANCH};name=ipcdev" +SRCREV = "${TI_IPC_SRCREV}" + +CFLAGS += "-fcommon" + +S = "${WORKDIR}/git" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch new file mode 100644 index 00000000..71d5b2be --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch @@ -0,0 +1,112 @@ +From c3ada6bf49e6fcf7bc49e5bf09754f384838ca6a Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denys@ti.com> +Date: Mon, 27 Jul 2015 11:51:52 -0400 +Subject: [PATCH] Add kernel build dir + +We build kernel outside of the source directory and the generated version.h +file ends up being in a separate directory from the rest of kernel headers. +Use another variable to point to the kernel build artifacts. + +Signed-off-by: Denys Dmytriyenko <denys@ti.com> + +--- + configure.ac | 6 ++++++ + ipc-linux.mak | 3 +++ + linux/src/mm/Makefile.am | 2 +- + packages/ti/ipc/mm/MmRpc.c | 4 ++++ + 4 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4d4a559..84ac78b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,6 +71,7 @@ AC_SUBST([AM_LDFLAGS]) + AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' '66AK2E' 'TCI6630' 'TCI6636' 'TCI6638' '66AK2G' 'DRA7XX' and 'AM65XX'. If not defined all platforms will be built.) + AC_ARG_VAR(CMEM_INSTALL_DIR, Installation path directory to the CMEM libraries) + AC_ARG_VAR(KERNEL_INSTALL_DIR, Installation path to the Linux kernel.) ++AC_ARG_VAR(KERNEL_BUILD_DIR, Path to the Linux kernel build artifacts.) + AC_ARG_VAR(AF_RPMSG, Address Family used by the RPMSG driver) + AC_ARG_VAR(DRM_PREFIX, Installation location to the DRM library.) + +@@ -113,6 +114,7 @@ AS_IF([test "x$PLATFORM" = "x"], [CMEM_INSTALL_DIR=]) + AC_SUBST([PLATFORM]) + AC_SUBST([CMEM_INSTALL_DIR]) + AC_SUBST([KERNEL_INSTALL_DIR]) ++AC_SUBST([KERNEL_BUILD_DIR]) + AC_SUBST([AF_RPMSG]) + AC_SUBST([DRM_PREFIX]) + +@@ -130,6 +132,7 @@ AM_CONDITIONAL([AM65XX], [test "x$PLATFORM" = "xAM65XX"]) + AM_CONDITIONAL([CMEM], [test "x$CMEM_INSTALL_DIR" != "x"]) + AM_CONDITIONAL([KDIR], [test "x$KERNEL_INSTALL_DIR" != "x"]) + AM_CONDITIONAL([KERNEL_INSTALL_DIR], [test -n "$KERNEL_INSTALL_DIR"]) ++AM_CONDITIONAL([KERNEL_BUILD_DIR], [test -n "$KERNEL_BUILD_DIR"]) + AM_CONDITIONAL([DRM], [test "x$DRM_PREFIX" != "x"]) + AM_CONDITIONAL([AF_RPMSG], [test -n "$AF_RPMSG"]) + +@@ -160,6 +163,9 @@ You have configured to build for the '${PLATFORM}' platform + Your KERNEL installation directory is set to: + '${KERNEL_INSTALL_DIR}' + ++Your KERNEL build artifacts directory is set to: ++ '${KERNEL_BUILD_DIR}' ++ + Your DRM installation directory is set to: + '${DRM_PREFIX}' + +diff --git a/ipc-linux.mak b/ipc-linux.mak +index 58a9cea..4e543ff 100644 +--- a/ipc-linux.mak ++++ b/ipc-linux.mak +@@ -60,6 +60,7 @@ config: + PLATFORM=$(PLATFORM) \ + CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ + KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ ++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ + DRM_PREFIX=$(DRM_PREFIX) \ + AF_RPMSG=$(AF_RPMSG) + +@@ -72,6 +73,7 @@ config-static: + PLATFORM=$(PLATFORM) \ + CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ + KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ ++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ + DRM_PREFIX=$(DRM_PREFIX) \ + AF_RPMSG=$(AF_RPMSG) + +@@ -84,5 +86,6 @@ config-shared: + PLATFORM=$(PLATFORM) \ + CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \ + KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \ ++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \ + DRM_PREFIX=$(DRM_PREFIX) \ + AF_RPMSG=$(AF_RPMSG) +diff --git a/linux/src/mm/Makefile.am b/linux/src/mm/Makefile.am +index 59aa312..8fb51a3 100644 +--- a/linux/src/mm/Makefile.am ++++ b/linux/src/mm/Makefile.am +@@ -32,7 +32,7 @@ + ## + + # additional include paths necessary to compile the library +-AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)" ++AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)" -DKERNEL_BUILD_DIR="$(KERNEL_BUILD_DIR)" + + ############################################################################### + # THE LIBRARIES TO BUILD +diff --git a/packages/ti/ipc/mm/MmRpc.c b/packages/ti/ipc/mm/MmRpc.c +index 2df7420..797e100 100644 +--- a/packages/ti/ipc/mm/MmRpc.c ++++ b/packages/ti/ipc/mm/MmRpc.c +@@ -56,7 +56,11 @@ + #endif + + #define linux_version_include(kd) <kd/include/generated/uapi/linux/version.h> ++#if defined(KERNEL_BUILD_DIR) ++#include linux_version_include(KERNEL_BUILD_DIR) ++#else + #include linux_version_include(KERNEL_INSTALL_DIR) ++#endif + + #if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) + #define linux_include(kd,m) <kd/include/linux/m.h> diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf new file mode 100644 index 00000000..6b5034cd --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf @@ -0,0 +1 @@ +softdep omap_remoteproc pre: virtio_rpmsg_bus diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service new file mode 100644 index 00000000..ea26845e --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service @@ -0,0 +1,9 @@ +[Unit] +Description=TI IPC Daemon + +[Service] +Type=forking +ExecStart=/usr/bin/__LAD_DAEMON__ -g -l lad.txt + +[Install] +WantedBy=basic.target diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh new file mode 100644 index 00000000..9ebfa35a --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh @@ -0,0 +1,25 @@ +#! /bin/sh + +tiipclad_daemon=/usr/bin/__LAD_DAEMON__ +tiipclad_params="-g -l lad.txt" + +test -x "$tiipclad_daemon" || exit 0 + +case "$1" in + start) + echo -n "Starting tiipclad daemon" + start-stop-daemon --start --quiet \ + --exec $tiipclad_daemon -- $tiipclad_params + echo "." + ;; + stop) + echo -n "Stopping tiipclad daemon" + start-stop-daemon --stop --quiet --pidfile /var/run/tiipclad.pid + echo "." + ;; + *) + echo "Usage: /etc/init.d/tiipclad-daemon.sh {start|stop}" + exit 1 +esac + +exit 0 diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb new file mode 100644 index 00000000..01b857c2 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb @@ -0,0 +1,63 @@ +DESCRIPTION = "TI Inter Process Communication (IPC) Mechanisms (for Uni- and Multi- Processor Configurations)" +HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC" + +require ti-ipc.inc +require ti-ipc-common.inc + +PR = "${INC_PR}.2" + +DEPENDS += "virtual/kernel" + +SRC_URI += "file://tiipclad-daemon.sh \ + file://omap_remoteproc.conf \ + file://tiipclad-daemon.service \ + file://0001-Add-kernel-build-dir.patch \ + " + +DAEMON = "UNKNOWN" +DAEMON:dra7xx = "lad_dra7xx" +DAEMON:omapl138 = "lad_omapl138" + +inherit autotools-brokensep pkgconfig update-rc.d systemd + +INITSCRIPT_NAME = "tiipclad-daemon.sh" +INITSCRIPT_PARAMS = "defaults 10" + +SYSTEMD_SERVICE:${PN} = "tiipclad-daemon.service" + +EXTRA_OECONF += "PLATFORM=${PLATFORM} KERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} KERNEL_BUILD_DIR=${STAGING_KERNEL_BUILDDIR}" + +do_compile[depends] += "virtual/kernel:do_shared_workdir" + +do_configure() { + ( cd ${S}; autoreconf -f -i -s ) + oe_runconf +} + +do_install:append() { + install -d ${D}${sysconfdir}/init.d/ + + # Modify the startup scripts to point to the right + # lad daemon executable. + sed -i -e "s/__LAD_DAEMON__/${DAEMON}/" ${WORKDIR}/tiipclad-daemon.sh + sed -i -e "s/__LAD_DAEMON__/${DAEMON}/" ${WORKDIR}/tiipclad-daemon.service + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/tiipclad-daemon.service ${D}${systemd_system_unitdir} + install -d ${D}${sysconfdir}/init.d/ + install -c -m 755 ${WORKDIR}/tiipclad-daemon.sh ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} +} + +do_install:append:dra7xx() { + install -d ${D}${sysconfdir}/modprobe.d/ + install -c -m 644 ${WORKDIR}/omap_remoteproc.conf ${D}${sysconfdir}/modprobe.d/ +} + +PACKAGES =+ "${PN}-test" +RDEPENDS:${PN}-test += "${PN}" + +FILES:${PN}-test = " \ + ${bindir}/NameServerApp \ + ${bindir}/MessageQApp \ + ${bindir}/MessageQMulti \ + ${bindir}/ping_rpmsg" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples/0001-examples-Remove-use-of-includedir-and-libdir.patch b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples/0001-examples-Remove-use-of-includedir-and-libdir.patch new file mode 100644 index 00000000..71fca1b0 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples/0001-examples-Remove-use-of-includedir-and-libdir.patch @@ -0,0 +1,38 @@ +From 1a26cb577ba54dd9214eeb94fed0ce3a0f4603b6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 24 Oct 2020 23:46:39 -0700 +Subject: [PATCH] examples: Remove use of includedir and libdir + +These point to standard include and library paths which already are used +from sysroot relative paths secondly, they use absolute paths which +means we are asking to add -I/usr/include which might be ok in a native +build but not in cross build. This helps mitigate QA errors found with +OE build system since it finds it adding host include and library search +paths to linker/compiler commandline + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + examples/Makefile.am | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index 5a9bedb..d547e41 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,6 +1,4 @@ +-INCLUDE = -I${includedir} +- +-AM_CFLAGS = -Wall -g -O2 $(INCLUDE) ++AM_CFLAGS = -Wall -g -O2 + + bin_PROGRAMS = rpmsg_char_simple + +@@ -8,4 +6,3 @@ bin_PROGRAMS = rpmsg_char_simple + rpmsg_char_simple_SOURCES = rpmsg_char_simple.c + rpmsg_char_simple_CPPFLAGS = $(AM_CFLAGS) + rpmsg_char_simple_LDADD = -lpthread -lti_rpmsg_char +-rpmsg_char_simple_LDFLAGS = -L${libdir} +-- +2.29.1 + diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples_git.bb new file mode 100644 index 00000000..cbe4d7fd --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char-examples_git.bb @@ -0,0 +1,13 @@ +SUMMARY = "TI RPMsg Char Sample Applications and Tests" + +require ti-rpmsg-char.inc + +SRC_URI += "file://0001-examples-Remove-use-of-includedir-and-libdir.patch" + +DEPENDS = "ti-rpmsg-char" + +inherit autotools pkgconfig + +EXTRA_OEMAKE = "-C ${B}/examples" + +PR = "r0" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char.inc b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char.inc new file mode 100644 index 00000000..140536e7 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char.inc @@ -0,0 +1,18 @@ +SUMMARY = "TI RPMsg Char Utility Library" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${S}/src/rpmsg_char.c;beginline=1;endline=31;md5=71987db43a2159cff5ea00505c6fce58" + +PROTOCOL = "git" +BRANCH = "master" +SRC_URI = "git://git.ti.com/rpmsg/ti-rpmsg-char.git;protocol=${PROTOCOL};branch=${BRANCH};" + +# Initial 0.3.1 release +SRCREV = "0824546f61bda7715519841d9b9f0fb030ddfaf2" + +PV = "0.3.1+git${SRCPV}" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char_git.bb b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char_git.bb new file mode 100644 index 00000000..63711a3b --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ipc/ti-rpmsg-char_git.bb @@ -0,0 +1,7 @@ +SUMMARY = "TI RPMsg Char Utility Library" + +require ti-rpmsg-char.inc + +inherit autotools pkgconfig + +PR = "r0" diff --git a/meta-ti-bsp/recipes-ti/mathlib/mathlib-c66x_git.bb b/meta-ti-bsp/recipes-ti/mathlib/mathlib-c66x_git.bb new file mode 100644 index 00000000..22683855 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/mathlib/mathlib-c66x_git.bb @@ -0,0 +1,5 @@ +include mathlib.inc + +MATHLIB_BUILD_TARGET = "c66x" +MATHLIB_INSTALL_DIR_RECIPE = "${MATHLIB_C66_INSTALL_DIR_RECIPE}" +MATHLIB_INSTALL_DIR = "${MATHLIB_C66_INSTALL_DIR}" diff --git a/meta-ti-bsp/recipes-ti/mathlib/mathlib-c674x_git.bb b/meta-ti-bsp/recipes-ti/mathlib/mathlib-c674x_git.bb new file mode 100644 index 00000000..1654baf2 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/mathlib/mathlib-c674x_git.bb @@ -0,0 +1,5 @@ +include mathlib.inc + +MATHLIB_BUILD_TARGET = "c674x" +MATHLIB_INSTALL_DIR_RECIPE = "${MATHLIB_C674_INSTALL_DIR_RECIPE}" +MATHLIB_INSTALL_DIR = "${MATHLIB_C674_INSTALL_DIR}" diff --git a/meta-ti-bsp/recipes-ti/mathlib/mathlib.inc b/meta-ti-bsp/recipes-ti/mathlib/mathlib.inc new file mode 100644 index 00000000..fe75c099 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/mathlib/mathlib.inc @@ -0,0 +1,77 @@ +SUMMARY = "MATHLIB contains optimized floating-point math functions for TI DSPs" +HOMEPAGE = "http://git.ti.com/ep-processor-libraries/mathlib" +LICENSE = "BSD-3-Clause" + +require ../includes/ti-paths.inc + +PV = "3_1_2_4" +PR = "r2" + +DEPENDS = "ti-cgt6x-native \ + ti-xdctools-native \ + ti-sysbios \ + doxygen-native \ + zip-native \ + swtools" + +S = "${WORKDIR}/git" + +MATHLIB_GIT_BRANCH = "master" +MATHLIB_GIT_PROTOCOL = "git" +MATHLIB_GIT_URI = "git://git.ti.com/ep-processor-libraries/mathlib.git" +MATHLIB_SRCREV = "eadcc9547faf69789661b004bb0b5ef53bb69951" + +SRC_URI = "${MATHLIB_GIT_URI};protocol=${MATHLIB_GIT_PROTOCOL};branch=${MATHLIB_GIT_BRANCH}" +SRCREV = "${MATHLIB_SRCREV}" + +LIC_FILES_CHKSUM = "file://ti/mathlib/src/acosdp/acosdp.h;beginline=1;endline=35;md5=c133f7e139b46385906c861dd9552250" + +export MATHLIB_WORK_DIR="${S}" +export CGTOOLS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" +export C64PCODEGENTOOL="${CGTOOLS_INSTALL_DIR}" +export C674CODEGENTOOL="${CGTOOLS_INSTALL_DIR}" +export C66CODEGENTOOL ="${CGTOOLS_INSTALL_DIR}" +export SWTOOLS_PATH = "${SWTOOLS_INSTALL_DIR}/ti/mas/swtools" +export XDCBUILDCFG="${SWTOOLS_PATH}/config.bld" + +PATH:append = ":${XDC_INSTALL_DIR}" + +XDCPATH.="${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;" +XDCPATH.="${SWTOOLS_INSTALL_DIR};${MATHLIB_WORK_DIR};" + +export XDCPATH + +MATHLIB_PACKAGE_NAME = "mathlib_${MATHLIB_BUILD_TARGET}_${PV}" + +do_compile() { + cd ${MATHLIB_WORK_DIR}/ti/mathlib; + xdc XDCARGS="${MATHLIB_BUILD_TARGET} bundle" XDCOPTIONS="-v" +} + +do_install() { + install -d ${D}${MATHLIB_INSTALL_DIR_RECIPE} + + find -name "${MATHLIB_PACKAGE_NAME}.zip" -exec unzip -o {} -d ${D}${MATHLIB_INSTALL_DIR_RECIPE} \; + cp -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/mathlib/. ${D}${MATHLIB_INSTALL_DIR_RECIPE} + rm -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/mathlib +} + +inherit deploy +addtask deploy before do_build after do_install + +do_deploy() { + install -d ${DEPLOYDIR} + # zip up files in ${D}${MATHLIB_INSTALL_DIR_RECIPE} + # and place the zip file in ${DEPLOYDIR} + mkdir ./${MATHLIB_PACKAGE_NAME} + cp -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/. ./${MATHLIB_PACKAGE_NAME} + zip -9 -y -r -q ${DEPLOYDIR}/${MATHLIB_PACKAGE_NAME}.zip ./${MATHLIB_PACKAGE_NAME} + rm -r ./${MATHLIB_PACKAGE_NAME} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${MATHLIB_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN}-dev = "arch" +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/openmp-rtos/openmp-rtos_git.bb b/meta-ti-bsp/recipes-ti/openmp-rtos/openmp-rtos_git.bb new file mode 100644 index 00000000..59a9635d --- /dev/null +++ b/meta-ti-bsp/recipes-ti/openmp-rtos/openmp-rtos_git.bb @@ -0,0 +1,62 @@ +DESCRIPTION = "TI OpenMP RTOS" +HOMEPAGE = "git://git.ti.com/openmp/ti-openmp-dsp-runtime.git" +LICENSE = "BSD" + +require recipes-ti/includes/ti-paths.inc + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dsp" +REQUIRED_DISTRO_FEATURES = "openmp" + +PV = "2_06_03_00" +PR = "r0" + +OPENMP_RTOS_GIT_URI = "git://git.ti.com/openmp/ti-openmp-dsp-runtime.git" +OPENMP_RTOS_GIT_PROTOCOL = "git" +OPENMP_RTOS_GIT_BRANCH = "master" + +BRANCH = "${OPENMP_RTOS_GIT_BRANCH}" +SRC_URI = "${OPENMP_RTOS_GIT_URI};protocol=${OPENMP_RTOS_GIT_PROTOCOL};branch=${BRANCH}" + +SRCREV = "c090eb664d9815a36ead0e14f31e102590680fb8" + +LIC_FILES_CHKSUM = "file://docs/license/omp_manifest_template.html;md5=61a6972303c0447b7c056195d7ebafee" + +DEPENDS = "common-csl-ip-rtos doxygen-native libulm ti-xdctools-native ti-ipc-rtos ti-sysbios ti-cgt6x-native zip-native" + +COMPATIBLE_MACHINE = "omap-a15" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/git" +export IPC_DIR = "${IPC_INSTALL_DIR}" +export XDC_DIR = "${XDC_INSTALL_DIR}" +export BIOS_DIR = "${SYSBIOS_INSTALL_DIR}" +export ULM_DIR ="${STAGING_DIR_TARGET}/usr/share/ti/ulm" +export C6636_PDK_DIR ="${PDK_INSTALL_DIR}" +export AM572_PDK_DIR ="${PDK_INSTALL_DIR}" +export XDCCGROOT = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" + +export BUILD_AM572 = "0" + +BUILD_AM572:omap-a15 = "1" + +RELEASE_TARGET = "" +RELEASE_TARGET:omap-a15 = "am57xx" + +do_compile() { + make -f utils/product/Makefile .zipfile +} + +do_install() { + install -d ${D}${OMP_INSTALL_DIR_RECIPE} + cp -r ${S}/exports/openmp_dsp_${RELEASE_TARGET}_*/. -d ${D}${OMP_INSTALL_DIR_RECIPE} +} + +ALLOW_EMPTY:${PN} = "1" + +FILES:${PN}-dev += " \ + ${OMP_INSTALL_DIR_RECIPE}/ \ +" + +INSANE_SKIP:${PN}-dev = "arch" diff --git a/meta-ti-bsp/recipes-ti/osal/ti-osal.inc b/meta-ti-bsp/recipes-ti/osal/ti-osal.inc new file mode 100644 index 00000000..dbd64f7b --- /dev/null +++ b/meta-ti-bsp/recipes-ti/osal/ti-osal.inc @@ -0,0 +1,24 @@ +DESCRIPTION = "TI Operating System Abstraction Library (OSAL)" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/osal" +LICENSE = "BSD & EPL-1.0" +SECTION = "devel" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc + +S = "${WORKDIR}/osal_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/osal/${PV}/exports/osal_${PV}.tar.gz;name=osaltarball" + +do_install() { + install -d ${D}${OSAL_INSTALL_DIR_RECIPE} + cp -pPrf ${S}/* ${D}${OSAL_INSTALL_DIR_RECIPE} +} + +INSANE_SKIP:${PN}-dev = "staticdev" + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${OSAL_INSTALL_DIR_RECIPE}" + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/osal/ti-osal_1.24.00.09.bb b/meta-ti-bsp/recipes-ti/osal/ti-osal_1.24.00.09.bb new file mode 100644 index 00000000..226458be --- /dev/null +++ b/meta-ti-bsp/recipes-ti/osal/ti-osal_1.24.00.09.bb @@ -0,0 +1,9 @@ +require ti-osal.inc + +PV = "1_24_00_09" +PR = "r0" + +LIC_FILES_CHKSUM = "file://osal_${PV}_Manifest.html;md5=c110191994d011cee4cd02189ed3c9f4" + +SRC_URI[osaltarball.md5sum] = "a7ea85447fa0ff0f786d527a52fa6e8b" +SRC_URI[osaltarball.sha256sum] = "d14f1f43c8a7965e86add69bd813cea56ea7e38abeb55de3fdcdaf4a69f19bf3" diff --git a/meta-ti-bsp/recipes-ti/swtools/swtools_git.bb b/meta-ti-bsp/recipes-ti/swtools/swtools_git.bb new file mode 100644 index 00000000..d3b9a9b1 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/swtools/swtools_git.bb @@ -0,0 +1,52 @@ +SUMMARY = "TI Software Tools" +HOMEPAGE = "https://git.ti.com/ep-processor-libraries/swtools" +SECTION = "devel" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://ti/mas/swtools/copyright.txt;md5=b1f52a1435051fdb18f8885b0384147d" + +require ../includes/ti-paths.inc + +DEPENDS = "ti-cgt6x-native \ + ti-sysbios \ + ti-xdctools-native" + +PV = "5_0_8" +PR = "r3" +S = "${WORKDIR}/git" + +SWTOOLS_GIT_BRANCH = "master" +SWTOOLS_GIT_PROTOCOL = "git" +SWTOOLS_GIT_URI = "git://git.ti.com/ep-processor-libraries/swtools.git" +SWTOOLS_SRCREV = "7d1c85e686b1466cd2d535fc9cac5baf1aae24a4" + +SRC_URI = "${SWTOOLS_GIT_URI};protocol=${SWTOOLS_GIT_PROTOCOL};branch=${SWTOOLS_GIT_BRANCH}" +SRCREV = "${SWTOOLS_SRCREV}" + + +export C64PCODEGENTOOL = "${CGTOOLS_INSTALL_DIR}" +export C674CODEGENTOOL = "${CGTOOLS_INSTALL_DIR}" +export C66CODEGENTOOL = "${CGTOOLS_INSTALL_DIR}" + +PATH:append = ":${XDC_INSTALL_DIR}" + +XDCPATH .= "${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;" + +export XDCPATH + +do_compile() { + cd ${S}/ti/mas/swtools + xdc +} + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${SWTOOLS_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${SWTOOLS_INSTALL_DIR_RECIPE} +} + +FILES:${PN}-dev += "${SWTOOLS_INSTALL_DIR_RECIPE}" + +INSANE_SKIP:${PN}-dev = "arch staticdev" +ALLOW_EMPTY:${PN} = "1" +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/files/empty b/meta-ti-bsp/recipes-ti/ti-rtos-bin/files/empty new file mode 100644 index 00000000..c6cac692 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/files/empty @@ -0,0 +1 @@ +empty diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb new file mode 100644 index 00000000..c0beb550 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb @@ -0,0 +1,276 @@ +SUMMARY = "TI RTOS prebuilt binary firmware images" + +LICENSE = "TI-TFL" +LIC_FILES_CHKSUM = "file://${COREBASE}/../meta-ti/licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" + +COMPATIBLE_MACHINE = "k3" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +INHIBIT_DEFAULT_DEPS = "1" + +inherit deploy +inherit update-alternatives + +PLAT_SFX = "" +PLAT_SFX:j7 = "j721e" +PLAT_SFX:j7200-evm = "j7200" +PLAT_SFX:j7200-hs-evm = "j7200" +PLAT_SFX:am65xx = "am65xx" +PLAT_SFX:am64xx = "am64xx" + +FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +CORESDK_RTOS_VERSION ?= "08.00.00.26" +PV = "${CORESDK_RTOS_VERSION}" + +CLEANBROKEN = "1" +PR = "${INC_PR}.0" + +# Secure Build +DEPENDS += "openssl-native" + +FILES:${PN} += "${base_libdir}" + +TI_SECURE_DEV_PKG ?= "" + +RTOS_ETH_FW_DIR = "${S}/ti-eth/${PLAT_SFX}" +RTOS_DM_FW_DIR = "${S}/ti-dm/${PLAT_SFX}" +RTOS_IPC_FW_DIR = "${S}/ti-ipc/${PLAT_SFX}" + +# For back-ward compatability keeping legacy firmware folder name +# TODO: fix this in next version +LEGACY_ETH_FW_DIR = "${D}${base_libdir}/firmware/ethfw/" +LEGACY_IPC_FW_DIR = "${D}${base_libdir}/firmware/pdk-ipc/" +LEGACY_DM_FW_DIR = "${D}${base_libdir}/firmware/pdk-ipc/" + +DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" + +# J7 HS support +do_install:prepend:j7-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) +} + +# J7 HS support +do_install:prepend:j7200-hs-evm() { + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) +} + +# Update the am64xx ipc binaries to be consistent with other platforms +do_install:prepend:am64xx() { + ( cd ${RTOS_IPC_FW_DIR}; \ + mv am64-main-r5f0_0-fw ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f; \ + mv am64-main-r5f0_1-fw ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f; \ + mv am64-main-r5f1_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \ + mv am64-main-r5f1_1-fw ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f; \ + mv am64-mcu-m4f0_0-fw ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f; \ + ) +} + +#Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level +do_install() { + : +} + +do_install:j7() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu3_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c66xdsp_1_release_strip.xe66 ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c66xdsp_2_release_strip.xe66 ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_c7x_1_release_strip.xe71 ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} + # ETH firmware + install -d ${LEGACY_ETH_FW_DIR} + install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR} +} + +do_install:j7200-evm() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} + # ETH firmware + install -d ${LEGACY_ETH_FW_DIR} + install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR} +} + +do_install:j7200-hs-evm() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} + # ETH firmware + install -d ${LEGACY_ETH_FW_DIR} + install -m 0644 ${RTOS_ETH_FW_DIR}/app_remoteswitchcfg_server_strip.xer5f ${LEGACY_ETH_FW_DIR} +} + +do_install:am65xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} +} + +do_install:am64xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} +} + +# Set up names for the firmwares +ALTERNATIVE:${PN}:am65xx = "\ + am65x-mcu-r5f0_0-fw \ + am65x-mcu-r5f0_1-fw \ + " + +ALTERNATIVE:${PN}:am64xx = "\ + am64-main-r5f0_0-fw \ + am64-main-r5f0_1-fw \ + am64-main-r5f1_0-fw \ + am64-main-r5f1_1-fw \ + am64-mcu-m4f0_0-fw \ + " + +ALTERNATIVE:${PN}:j7 = "\ + j7-mcu-r5f0_0-fw \ + j7-mcu-r5f0_1-fw \ + j7-main-r5f0_0-fw \ + j7-main-r5f0_1-fw \ + j7-main-r5f1_0-fw \ + j7-main-r5f1_1-fw \ + j7-c66_0-fw \ + j7-c66_1-fw \ + j7-c71_0-fw\ + " + +ALTERNATIVE:${PN}:j7200-evm = "\ + j7200-mcu-r5f0_0-fw \ + j7200-mcu-r5f0_1-fw \ + j7200-main-r5f0_0-fw \ + j7200-main-r5f0_1-fw \ + " + +ALTERNATIVE:${PN}:j7200-hs-evm = "\ + j7200-mcu-r5f0_0-fw \ + j7200-mcu-r5f0_1-fw \ + j7200-main-r5f0_0-fw \ + j7200-main-r5f0_1-fw \ + " + +# Set up link names for the firmwares + +TARGET_MCU_R5FSS0_0:am65xx = "am65x-mcu-r5f0_0-fw" +TARGET_MCU_R5FSS0_1:am65xx = "am65x-mcu-r5f0_1-fw" + +TARGET_MAIN_R5FSS0_0:am64xx = "am64-main-r5f0_0-fw" +TARGET_MAIN_R5FSS0_1:am64xx = "am64-main-r5f0_1-fw" +TARGET_MAIN_R5FSS1_0:am64xx = "am64-main-r5f1_0-fw" +TARGET_MAIN_R5FSS1_1:am64xx = "am64-main-r5f1_1-fw" +TARGET_MCU_M4FSS0_0:am64xx = "am64-mcu-m4f0_0-fw" + +TARGET_MCU_R5FSS0_0:j7 = "j7-mcu-r5f0_0-fw" +TARGET_MCU_R5FSS0_1:j7 = "j7-mcu-r5f0_1-fw" +TARGET_MAIN_R5FSS0_0:j7 = "j7-main-r5f0_0-fw" +TARGET_MAIN_R5FSS0_1:j7 = "j7-main-r5f0_1-fw" +TARGET_MAIN_R5FSS1_0:j7 = "j7-main-r5f1_0-fw" +TARGET_MAIN_R5FSS1_1:j7 = "j7-main-r5f1_1-fw" +TARGET_C66_0:j7 = "j7-c66_0-fw" +TARGET_C66_1:j7 = "j7-c66_1-fw" +TARGET_C7X:j7 = "j7-c71_0-fw" + +TARGET_MCU_R5FSS0_0:j7200-evm = "j7200-mcu-r5f0_0-fw" +TARGET_MCU_R5FSS0_1:j7200-evm = "j7200-mcu-r5f0_1-fw" +TARGET_MAIN_R5FSS0_0:j7200-evm = "j7200-main-r5f0_0-fw" +TARGET_MAIN_R5FSS0_1:j7200-evm = "j7200-main-r5f0_1-fw" + +TARGET_MCU_R5FSS0_0:j7200-hs-evm = "j7200-mcu-r5f0_0-fw" +TARGET_MCU_R5FSS0_1:j7200-hs-evm = "j7200-mcu-r5f0_1-fw" +TARGET_MAIN_R5FSS0_0:j7200-hs-evm = "j7200-main-r5f0_0-fw" +TARGET_MAIN_R5FSS0_1:j7200-hs-evm = "j7200-main-r5f0_1-fw" + +ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" + +ALTERNATIVE_LINK_NAME[am64-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am64-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}" +ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}" +ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" +ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" + +ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" +ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[j7-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}" +ALTERNATIVE_LINK_NAME[j7-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_0}" +ALTERNATIVE_LINK_NAME[j7-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" +ALTERNATIVE_LINK_NAME[j7-c66_0-fw] = "${base_libdir}/firmware/${TARGET_C66_0}" +ALTERNATIVE_LINK_NAME[j7-c66_1-fw] = "${base_libdir}/firmware/${TARGET_C66_1}" +ALTERNATIVE_LINK_NAME[j7-c71_0-fw] = "${base_libdir}/firmware/${TARGET_C7X}" + +ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" +ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[j7200-main-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_1}" + +# Create the firmware alternatives + +ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am65x-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" + +ALTERNATIVE_TARGET[am64-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am64-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu1_1_release_strip.xer5f" +ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f" +ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f" + +ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" +ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" +ALTERNATIVE_TARGET[j7-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f" +ALTERNATIVE_TARGET[j7-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release_strip.xer5f" +ALTERNATIVE_TARGET[j7-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release_strip.xer5f" +ALTERNATIVE_TARGET[j7-c66_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release_strip.xe66" +ALTERNATIVE_TARGET[j7-c66_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release_strip.xe66" +ALTERNATIVE_TARGET[j7-c71_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_c7x_1_release_strip.xe71" + +ALTERNATIVE_TARGET[j7200-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" +ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" +ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release_strip.xer5f" + +ALTERNATIVE_PRIORITY = "10" + +# make sure that lib/firmware, and all its contents are part of the package +FILES:${PN} += "${base_libdir}/firmware" + +# This is used to prevent the build system to_strip the executables +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +# This is used to prevent the build system to split the debug info in a separate file +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +# As it likely to be a different arch from the Yocto build, disable checking by adding "arch" to INSANE_SKIP +INSANE_SKIP:${PN} += "arch" + +# we don't want to configure and build the source code +do_compile[noexec] = "1" +do_configure[noexec] = "1" diff --git a/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-metadata.bb b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-metadata.bb new file mode 100644 index 00000000..67b1d2a9 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/ti-rtos-bin/ti-rtos-metadata.bb @@ -0,0 +1,47 @@ +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +COMPATIBLE_MACHINE = "ti-soc" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +INHIBIT_DEFAULT_DEPS = "1" + +inherit nopackages deploy + +PLAT_SFX = "" +PLAT_SFX:j7 = "/j721e" +PLAT_SFX:j7200-evm = "/j7200" +PLAT_SFX:am65xx = "/am65xx" +PLAT_SFX:am64xx = "/am64x" + +# Use weak assignment to set defaults to TI_RTOS_METADATA_* variables +TI_RTOS_METADATA_URI ?= "git://git.ti.com/processor-sdk/coresdk_rtos_releases.git" +TI_RTOS_METADATA_PROTOCOL ?= "git" +TI_RTOS_METADATA_SRCREV ?= "2ecbf45af64bc47806623cc5bf7ab493489acaf9" +TI_RTOS_METADATA_BRANCH ?= "master" +TI_RTOS_METADATA_DIR ?= "${PLAT_SFX}" +TI_RTOS_METADATA_FILE ?= "${S}${TI_RTOS_METADATA_DIR}/metadata.inc" +TI_RTOS_METADATA_FILE:am64xx ?= "${S}${TI_RTOS_METADATA_DIR}/mcusdk_metadata.inc" + +PV = "1.0.0+git${SRCPV}" + +S = "${WORKDIR}/git" + +SRC_URI = "${TI_RTOS_METADATA_URI};branch=${TI_RTOS_METADATA_BRANCH};protocol=${TI_RTOS_METADATA_PROTOCOL}" +SRCREV = "${TI_RTOS_METADATA_SRCREV}" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" +do_install[noexec] = "1" + +do_deploy () { + : +} + +do_deploy:k3 () { + install -d ${DEPLOYDIR} + install -m 0644 ${TI_RTOS_METADATA_FILE} ${DEPLOYDIR}/ +} + +addtask deploy before do_build after do_compile diff --git a/meta-ti-bsp/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb b/meta-ti-bsp/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb new file mode 100644 index 00000000..59576daa --- /dev/null +++ b/meta-ti-bsp/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "Provides test pruss firmware for uio based tests" +LICENSE = "BSD-3-Clause" +PV = "1.0.2.0" +require recipes-ti/includes/ti-paths.inc + +S = "${WORKDIR}/git" + +DEPENDS = "ti-cgt-pru-native" + +BRANCH = "master" +LIC_FILES_CHKSUM = "file://Makefile;startline=1;endline=31;md5=0ee4f2c42eb6b04e37859bb55a18b144" + +UIO_TEST_PRUSS_GIT_URI = "git://git.ti.com/processor-sdk/uio-test-pruss.git" +UIO_TEST_PRUSS_GIT_PROTOCOL = "git" +SRC_URI = "${UIO_TEST_PRUSS_GIT_URI};protocol=${UIO_TEST_PRUSS_GIT_PROTOCOL};branch=${BRANCH}" + +# Corresponds to version 01.00.02.00 +UIO_TEST_PRUSS_SRCREV = "e52a7b099d7203ca52519650df51419e9fef7e0c" + +SRCREV = "${UIO_TEST_PRUSS_SRCREV}" + +PR = "r0" + +COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEVICE_NAME = "" +DEVICE_NAME:append:am57xx-evm = "am57xx" +DEVICE_NAME:append:ti33x = "am33xx" +DEVICE_NAME:append:ti43x = "am43xx" + +EXTRA_OEMAKE = "CGT_PRU=${TI_CGT_PRU_INSTALL_DIR} DEVICE=${DEVICE_NAME}" + +do_install() { + install -d ${D}${bindir}/ + cp -r *.bin ${D}${bindir}/ +} diff --git a/meta-ti-bsp/recipes-ti/vlib/vlib-c66x.inc b/meta-ti-bsp/recipes-ti/vlib/vlib-c66x.inc new file mode 100644 index 00000000..460964b3 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/vlib/vlib-c66x.inc @@ -0,0 +1,32 @@ +DESCRIPTION = "TI Vision Library (VLIB) for C66x" +HOMEPAGE = "http://software-dl.ti.com/libs/vlib/latest/index_FDS.html" +SECTION = "devel" +LICENSE = "TI-TSPA & BSD-3-Clause" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc +require ../includes/ti-eula-unpack.inc + +COMPATIBLE_MACHINE = "omap-a15" + +SRC_URI = "http://software-dl.ti.com/libs/vlib/${PV}//exports/vlib_c66x_obj_${PV}_Linux.bin;name=vlibbin" + +S = "${WORKDIR}/vlib_c66x_${PV}" + +BINFILE="vlib_c66x_obj_${PV}_Linux.bin" +TI_BIN_UNPK_ARGS = "--mode silent --prefix ${S}" +TI_BIN_UNPK_CMDS="" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${VLIB_C66_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${VLIB_C66_INSTALL_DIR_RECIPE} +} + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${VLIB_C66_INSTALL_DIR_RECIPE}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN}-dev = "installed-vs-shipped arch" diff --git a/meta-ti-bsp/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb b/meta-ti-bsp/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb new file mode 100644 index 00000000..e3742d10 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb @@ -0,0 +1,9 @@ +require vlib-c66x.inc + +PV = "3_2_1_0" +PR = "r0" + +LIC_FILES_CHKSUM = "file://docs/VLIB_Software_Manifest.html;md5=75151b04457c8a1ae3c2172ada0eedda" + +SRC_URI[vlibbin.md5sum] = "e292fa3f74be60b9110e0ebcc6840fe7" +SRC_URI[vlibbin.sha256sum] = "05bf16473d60e0252d3a73a7c3d268e540783a226b4bda930e5f6042e7b01bd8" diff --git a/meta-ti-bsp/recipes-ti/xdais/ti-xdais.inc b/meta-ti-bsp/recipes-ti/xdais/ti-xdais.inc new file mode 100644 index 00000000..daa93ddf --- /dev/null +++ b/meta-ti-bsp/recipes-ti/xdais/ti-xdais.inc @@ -0,0 +1,25 @@ +DESCRIPTION = "TI eXpress DSP Algorithm Interface Standard (XDAIS) specification" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais" +LICENSE = "GPLv2" +SECTION = "devel" + +require ../includes/ti-paths.inc +require ../includes/ti-staging.inc + +S = "${WORKDIR}/xdais_${PV}" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais/${PV}/exports/xdais_${PV}.tar.gz;name=xdaistarball" + +do_install() { + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + install -d ${D}${XDAIS_INSTALL_DIR_RECIPE} + cp ${CP_ARGS} ${S}/* ${D}${XDAIS_INSTALL_DIR_RECIPE} +} + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN}-dev = "arch" + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN}-dev += "${XDAIS_INSTALL_DIR_RECIPE}" diff --git a/meta-ti-bsp/recipes-ti/xdais/ti-xdais_6.26.01.03.bb b/meta-ti-bsp/recipes-ti/xdais/ti-xdais_6.26.01.03.bb new file mode 100644 index 00000000..9fc4cee1 --- /dev/null +++ b/meta-ti-bsp/recipes-ti/xdais/ti-xdais_6.26.01.03.bb @@ -0,0 +1,11 @@ +require ti-xdais.inc + +PV = "6_26_01_03" +PR = "r1" + +LIC_FILES_CHKSUM = "file://xdais_6_26_01_03_manifest.html;md5=a5a675d49db2f658bb98746ec80cda4e" + +SRC_URI[xdaistarball.md5sum] = "9b2bea3408254e737ec0d819a031adf6" +SRC_URI[xdaistarball.sha256sum] = "d7bcbd8bcfe6fdfc5f402e4b125ced6c806dc30bc5296e98d5d43b0b5a237a0d" + +INSANE_SKIP:${PN} = "installed-vs-shipped" diff --git a/meta-ti-bsp/recipes-ti/xdais/ti-xdais_7.24.00.04.bb b/meta-ti-bsp/recipes-ti/xdais/ti-xdais_7.24.00.04.bb new file mode 100644 index 00000000..8148f73a --- /dev/null +++ b/meta-ti-bsp/recipes-ti/xdais/ti-xdais_7.24.00.04.bb @@ -0,0 +1,9 @@ +require ti-xdais.inc + +PV = "7_24_00_04" +PR = "r1" + +LIC_FILES_CHKSUM = "file://xdais_7_24_00_04_Manifest.html;md5=fd16442230745f0877cfe1c622669fd6" + +SRC_URI[xdaistarball.md5sum] = "f7514085b531f2ae49b37b30194e4989" +SRC_URI[xdaistarball.sha256sum] = "79fd30377ab4c497292aeefb0565f81703d9020d1242b02ca9968c561e0de9a1" diff --git a/meta-ti-bsp/wic/sdimage-2part-efi.wks b/meta-ti-bsp/wic/sdimage-2part-efi.wks new file mode 100644 index 00000000..ffb8d24b --- /dev/null +++ b/meta-ti-bsp/wic/sdimage-2part-efi.wks @@ -0,0 +1,7 @@ +# short-description: Create SD card image with 2 partitions and EFI support +# long-description: Creates a partitioned SD card image for TI platforms that +# supports EFI. Boot files are located in the first vfat partition with extra +# reserved space. We cannot use a GPT here. +bootloader --append="rootfstype=ext4 ro" +part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --fstype=vfat --label boot --active --align 1024 --use-uuid --fixed-size 128M +part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid diff --git a/meta-ti-bsp/wic/sdimage-2part.wks b/meta-ti-bsp/wic/sdimage-2part.wks new file mode 100644 index 00000000..3eab9407 --- /dev/null +++ b/meta-ti-bsp/wic/sdimage-2part.wks @@ -0,0 +1,6 @@ +# short-description: Create SD card image with 2 partitions +# long-description: Creates a partitioned SD card image for TI platforms. +# Boot files are located in the first vfat partition with extra reserved space. + +part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 1024 --fixed-size 128 --use-uuid +part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 1024 --use-uuid |