1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-04-20 19:53:43 +00:00

Compare commits

...

50 Commits

Author SHA1 Message Date
Yogesh Siraswar
15f3d4a3c3 ti-rtos-firmware: Add soft link to the rtos firmware binaries
Changes for firmware update( eff643e5 ti-rtos-firmware: update the
source to ti-linux-firmware) were in-complete without soft link.
1) Added soft link missing for the rtos firmware.
2) Updated the IPC am64x firmware name to be consistent with 7.3

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
2021-07-23 00:11:06 +00:00
Yogesh Siraswar
96852ff4ff linux-ti-staging-rt: Update linux rt to 08.00.00.004 release
Changes to pick 08.00.00.004 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-22 22:48:42 +00:00
Yogesh Siraswar
78b1f1de6b linux-ti-staging: Update linux to 08.00.00.004 release
Changes to pick the 08.00.00.004 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-22 22:48:42 +00:00
Yogesh Siraswar
6c6646adf5 u-boot-ti-staging: Updated the u-boot to 08.00.00.004 release
Changes to pick 08.00.00.004 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-22 22:48:42 +00:00
Yogesh Siraswar
67c16e291c ti-sci-fw: Update to fix ipc firmware load issue
These are the complete changes in the patch
1) Updated the firmware to fix IPC load issue due to resource_table
placement
2) Added the INC_PR
3) Updated the RTOS version

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-22 22:48:42 +00:00
Vignesh Raghavedra
92068df915 prueth-fw-am65x-sr2: Update firmware to 02.02.09.03
Update AM65x SR2.0 prueth firmware to 02.02.09.03 that adds support for
100M HD mode.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-20 19:32:31 +00:00
Yogesh Siraswar
4a9c7c18d4 ti-sci-fw: Update ti-linux-firmware srcrev to 08.00.00.003
Update ti-linux-firmware to pick 08.00.00.003

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-16 20:23:49 +00:00
Yogesh Siraswar
13f9690aa6 linux-ti-staging-rt: Update linux-rt srcrev to 08.00.00.003
Updated the linux-rt to pick 08.00.00.003 tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-16 19:26:32 +00:00
Yogesh Siraswar
344de9c04c linux-ti-staging: Update the linux srcrev to 08.00.00.003
Updated the linux branch to pick 08.00.00.003 tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-16 19:21:53 +00:00
Yogesh Siraswar
63d042cc10 u-boot-ti-staging: Update the u-boot srcrev to 08.00.00.003
Update the u-boot to pick tag 08.00.00.003

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-16 19:18:27 +00:00
Yogesh Siraswar
eff643e591 ti-rtos-firmware: update the source to ti-linux-firmware
This is temporary change to pick the 08.00.00.026 firmware from
ti-linux-firmware repos:
1) Using the ti-sci-fw to pick the latest firmware and support AUTOREV
in future
2) Kept the destination folder name same to avoid wide-spead changes to
other recipes. Since that will be changed as part of over-all clean-up

TODO:
1) Re-structure rtos firmware repo and update all dependent firmware recipes.
2) Fix the destination folder name to match src folder

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-16 17:29:08 +00:00
Denys Dmytriyenko
e287e588bb ti-img-rogue-driver: support OE nodistro toolchain same as Poky
Add OpenEmbedded "nodistro" internal toolchain triplet detection similar to
corresponding Poky one.

Cc: Gowtham Tammana <g-tammana@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-14 04:37:26 +00:00
Nishanth Menon
ee7389ab67 recipes-bsp: u-boot-ti-mainline: Update to v2021.07 release
Update u-boot recipe to be on the latest official upstream tag.

This introduces initial support for AM64x which works with v5.13
kernel tag.

Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-14 04:34:12 +00:00
Sinthu Raja
26acf04c06 conf: j7-evm: Add j721e eaik dtb to KERNEL_DEVICETREE
J721E EdgeAI Kit (EAIK) is a low cost, small form factor board designed
for TI’s J721E SoC. TI’s J721E SoC comprises of dual core A72, high
performance vision accelerators, video codec accelerators, latest C71x
and C66x DSP, high bandwidth real-time IPs for capture and display,
GPU, dedicated safety island and security accelerators.

J721E EAIK supports the following interfaces:
* 4 GB LPDDR4 RAM
* x1 Gigabit Ethernet interface
* x1 USB 3.0 Type-C port
* x3 USB 3.0 Type-A ports
* x1 PCIe M.2 E Key
* x1 PCIe M.2 M Key
* x2 CSI2 Camera interface (RPi and TI Camera connector)
* 40-pin Raspberry Pi compatible GPIO header

J721e EVM and EAIK uses the unified bootloader. Add j721e eaik dtb
for machine=j721e-evm

Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-14 04:29:26 +00:00
Yogesh Siraswar
64012ed5e0 ti-sci-fw: Update linux firmware repo to 08.00.00.002
Update linux firmware repo to 08.00.00.002

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-08 05:01:21 +00:00
Yogesh Siraswar
c63eff371b u-boot-ti-staging: Update to 08.00.00.002 release tag
Update to 08.00.00.002 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-08 04:53:55 +00:00
Yogesh Siraswar
46fcec17d5 linux-ti-staging-rt: Update to 08.00.00.002 release tag
Update to 08.00.00.002 release

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-08 04:51:08 +00:00
Yogesh Siraswar
5aaea8ee7f linux-ti-staging: Update to 08.00.00.002 release tag
Update to 08.00.00.002 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-08 04:46:52 +00:00
Nishanth Menon
bad7dbba38 linux-ti-mainline: Bump kernel version to v5.13
And lets work with the latest kernel and while at it bump the system up
to latest ti-upstream-tools repo to get:
* AM65x SR1.0 overlay support
* EFI configuration to allow for the eventual support
* Few more cleanups for new architectures that have popped in.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-07 22:23:41 +00:00
Nishanth Menon
d5db414172 ti-sci-fw: k3-image-gen: Revert SPL address change for mainline
Commit 02a2433c ("ti-sci-fw: Update image gen to latest") switched to a
newer commit in k3-image-gen that also picked up TISCI firmware release,
However, does include a change where the SPL address changed.

This switch in address has been queued for upstream in a future release
(v5.14 + u-boot 2021.10) and current mainline formal tags do not support
this address change. As a result, we have a broken AM64x mainline
support.

Revert this specific change from k3-image-gen for mainline alone for
now.

NOTE: This uses ARAGO_BRAND=mainline which is NOT accurate for meta-ti
which is distro independent, hence without appropriate changes while
using alternate distros, this change will not take effect.

Reported-by: Tom Rini <trini@konsulko.com>
Suggested-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-07-07 22:23:13 +00:00
Nishanth Menon
69f5800255 ti-sci-fw: Update linux firmware repo to 08.00.00.001
Just updating imggen to a configuration compatible with latest firmware
should not have been accepted, we should have ensured that firmware
commit has moved correspondingly as well. Fix the same, else we get a
broken system.

Fixes: 406f599822 ("ti-sci-fw: Update imggen to release 08.00.00.001 tag")

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-30 20:45:18 +00:00
Lokesh Vutla
4a63e03c63 prueth-fw: Update prueth dual emac firmware to 5.6.15
Update the Prueth Dual Emac firmware to 5.6.15 version

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 03:06:46 +00:00
Lokesh Vutla
518092b90a prusw-fw: Update switch firmwares to 3.2.9 version
Update prueth switch firmwares to 3.2.9 version

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 03:06:46 +00:00
Yogesh Siraswar
24959c861c linux-ti-staging: Update to 08.00.00.001 release tag
Update to 08.00.00.001 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 02:51:47 +00:00
Yogesh Siraswar
3d86b4f2bb linux-ti-staging-rt: Update to 08.00.00.001 release tag
Update to 08.00.00.001 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 02:51:38 +00:00
Yogesh Siraswar
05fd87a80e u-boot-ti-staging: Update to 08.00.00.001 release tag
Update to 08.00.00.001 release tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 02:51:32 +00:00
Yogesh Siraswar
406f599822 ti-sci-fw: Update imggen to release 08.00.00.001 tag
Update imggen for release 08.00.00.001 tag

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-29 02:51:23 +00:00
Praneeth Bajjuri
b394c5feba optee-os: upgrade to upstream 3.12.0
Upgrade optee-os to upstream 3.12.0 on dunfell branch.

upstream optee 3.13.0 tag has the following patches.
f50962e3 ta_dev_kit.mk: make sure that libutils is linked second time
73196b58 link.mk: implement support for libnames-after-libgcc variable
36e784f6 libutils: provide empty __getauxval() implementation

Hence removing from here.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-28 11:21:31 +00:00
Grygorii Strashko
7c4f40e09b prueth-fw-am65x-sr2: Updating firmware to 02.02.09.02
Update AM65x SR2.0 prueth firmware to 02.02.09.02

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-28 11:19:21 +00:00
Grygorii Strashko
ececc4f073 prueth-fw: am65x: SR1.0: Package the firmware images from ti-linux-firmware
Directly take the images from ti-linux-firmware instead of using pdk build,
due to inconsistency of PDK releases vs Linux SDK releases vs different
SoCs.

Update to FW version: REL.CORESDK.08.00.00.20

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-28 11:17:38 +00:00
Nikhil Devshatwar
d8e96545f1 recipes-kernel: jailhouse: Remove jailhouse recipe
Jailhouse support is dropped for K3 platforms, remove the
recipe and corresponding patches.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-26 11:53:49 +00:00
Nikhil Devshatwar
7876863adb recipes-bsp: ivshmem: Remove ivshmem packages
Jailhouse support is dropped for K3 platforms. So the ivshmem
(inter VM shared memory) based UIO driver and test applications
cannot be build and are not required.

Remove the recipes for the same.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-26 11:53:20 +00:00
Praneeth Bajjuri
2ab3edaf70 trusted-firmware-a: Update to v2.5
Update to v2.5 tag merge from upstream to keep TF-A in sync.

For major changes in trusted-firmware-a, See:
https://trustedfirmware-a.readthedocs.io/en/latest/change-log.html#version-2-5

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-25 15:23:22 +00:00
Praneeth Bajjuri
749fcd9b91 ti-sci-fw: Update linux-firmware to latest
update linux-firmware to latest which has sync from upstream linux-firmware main branch.

This commit also picks latest version of DisplayPort firmware v2.1.0
commit f99d6a1d579e ("linux-firmware: update firmware for mhdp8546")

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-25 15:20:48 +00:00
Praneeth Bajjuri
02a2433c47 ti-sci-fw: Update image gen to latest
update image gen to latest.
This commit also picks AM64x boot critical fix.
commit e411dc16862b ("soc: am64x: Makefile: Move the SPL Load address to 0x70000000")

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-06-10 19:49:54 -05:00
Praneeth Bajjuri
f4dfe17248 linux-ti-staging: Update 5.10 kernel to tag 08.00.00.000
Update 5.10 kernel to tag 08.00.00.000

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-06-10 17:52:16 -05:00
Praneeth Bajjuri
cb349db54f linux-ti-staging: Update 5.10 kernel to 5.10.41
Update linux 5.10 to 5.10.41 stable

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-06-10 08:19:17 -05:00
Praneeth Bajjuri
3f7375b6d1 conf: j7-evm: ReIntroduce pm1 SOM with tps65917 PMIC
commit 8b206b32ec ("conf: j7-evm: Remove unavailable dtb/o from 5.10 kernel")
removed all non-existent dtb* for j7-evm as they were not
available on linux 5.10 branch at that time.

Since the support for pm1 SOM with tps65917 PMIC is added in ti-linux-5.10.y by
commit dd97d0bbafb7 ("arm64: dts: ti: k3-j721e: Add support for pm1 SOM with tps65917 PMIC")

This patch adds the support back with the supported dtb.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-06-10 08:19:17 -05:00
Praneeth Bajjuri
65a60dc349 linux-ti-staging: Update 5.10 kernel to the latest commit SHA
Update 5.10 kernel to the latest commit SHA

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-06-10 08:19:17 -05:00
Praneeth Bajjuri
45f43b3a29 conf: am65xx-evm: ReIntroduce display overlays for 5.10
commit 9ea50db095 ("conf: am65xx-evm: Remove non-existent dtb* from 5.10")
removed all non-existent dtb* for am65xx-evm as they were not
available on linux 5.10 branch at that time.

This patch reintroduces following display overlays.
- k3-am654-evm-tc358876.dtbo
- k3-am654-evm-oldi-lcd1evm.dtbo

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:19:41 -05:00
Praneeth Bajjuri
e13d00e73e conf/machine: am64xx: Add overlay to support icssg1-dualemac
This patch adds overlay to support icssg1-dualemac
ie: 1 x CPSW3g ports and 2 x ICSSG1 ports configuration

overlay: k3-am642-evm-icssg1-dualemac.dtbo

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:18:48 -05:00
Praneeth Bajjuri
cd4e782d01 ti-uboot-staging: Update to the latest ti-u-boot-2021.01
Update to the latest commit of ti-u-boot-2021.01

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Acked-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:16:28 -05:00
Praneeth Bajjuri
2de2c5ec01 linux-ti-staging: Update 5.10 kernel to the latest commit SHA
Update 5.10 kernel to the latest commit SHA

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:15:00 -05:00
Praneeth Bajjuri
6983b50ecf linux-ti-staging: Update 5.10 kernel to 5.10.35
Update linux 5.10 to 5.10.35 stable

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:13:49 -05:00
Praneeth Bajjuri
fbcd6401ae conf: j7-evm: ReIntroduce existent dtbo for 5.10
commit 8b206b32ec ("conf: j7-evm: Remove unavailable dtb/o from 5.10 kernel")
removed all non-existent dtb* for j7-evm as they were not
available on linux 5.10 branch at that time.

This patch reintroduces k3-j721e-common-proc-board-infotainment.dtbo overlay.

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:11:05 -05:00
Grygorii Strashko
48dabba548 prueth-fw: am64xx-evm: add prebuilt PRU Ethernet FW
Add prebuilt PRU Ethernet FW for am64xx-evm which is the same as
for AM65x SR2.0.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-06-08 09:08:13 -05:00
Yogesh Siraswar
99cf543ee3 linux-ti-staging: Add extra dtc flags to support dtb overlays
Added KERNEL_DTB_OVERLAY_SUPPORT to common ti-soc include. This fixes the issue
where the dtbs are build without symbols causing issue with overlays.

Please note this increases the size of the dtb for all platform
derived from ti-soc. So for custom boards disable it from local.conf to
reduce size.

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
2021-05-26 12:17:22 -05:00
Lokesh Vutla
0a7997966f machine: am64xx-sk: Drop am64xx-sk Machine support
With U-Boot supporting both am64xx-evm and am64xx-sk with single
defconfig, there is not need for a new machine for am64xx-sk.

So, drop support for am64xx-sk machine.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2021-05-17 17:37:22 -05:00
Lokesh Vutla
33ad83a1de conf/machine: am64xx: Include SK dtb for machine am64xx-evm
As a step towards unification for am64xx-evm and am64xx-sk,
start including am64xx-sk dtb for machine=am64xx-evm.

Once U-Boot merges support for unified bootloader, am64xx-sk
machine can be dropped.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2021-05-14 01:07:05 -05:00
Praneeth Bajjuri
b180f68878 ti-uboot-staging: Update to the latest ti-u-boot-2021.01
Update to the latest commit of ti-u-boot-2021.01

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2021-05-14 01:01:26 -05:00
34 changed files with 345 additions and 625 deletions

View File

@@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: AM64xx SK (R5F)
#@DESCRIPTION: Machine configuration for the TI AM64xx SK (R5F core)
require conf/machine/include/k3r5.inc
SYSFW_SOC = "am64x"
SYSFW_CONFIG = "evm"
SYSFW_SUFFIX = "gp"
UBOOT_MACHINE = "am64x_sk_r5_defconfig"

View File

@@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: AM64xx SK
#@DESCRIPTION: Machine configuration for the TI AM64xx SK board
require conf/machine/include/am64xx.inc
UBOOT_MACHINE = "am64x_sk_a53_defconfig"
KERNEL_DEVICETREE = " \
ti/k3-am642-sk.dtb \
"

View File

@@ -8,6 +8,8 @@ SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
KERNEL_DEVICETREE = " \
ti/k3-am642-evm.dtb \
ti/k3-am642-sk.dtb \
ti/k3-am642-evm-icssg1-dualemac.dtbo \
"
# AM64 supports multi-certificate images, use the same

View File

@@ -15,6 +15,8 @@ KERNEL_DEVICETREE = " \
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 \
"
BBMULTICONFIG += "k3r5-sr2"

View File

@@ -1,4 +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

View File

@@ -11,6 +11,9 @@ SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
KERNEL_DEVICETREE = " \
ti/k3-j721e-common-proc-board.dtb \
ti/k3-j721e-proc-board-tps65917.dtb \
ti/k3-j721e-common-proc-board-infotainment.dtbo \
ti/k3-j721e-eaik.dtb \
"
UBOOT_MACHINE = "j721e_evm_a72_config"

View File

@@ -1,29 +0,0 @@
SUMMARY = "Kernel driver for IVSHMEM based UIO driver"
DESCRIPTION = "Kernel module which registers a UIO (userspace io) device for inter VM shared memory"
HOMEPAGE = "https://github.com/henning-schild-work/ivshmem-guest-code"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0546a27aad86c83b75ad4ee6133e9d5e"
inherit module
RDEPENDS_${PN} = "jailhouse"
PROTOCOL = "git"
BRANCH = "jailhouse"
SRCREV = "f3ad79881bebb6c6068966ee3d265d8034c20492"
SRC_URI = "git://github.com/henning-schild-work/ivshmem-guest-code.git;protocol=${PROTOCOL};branch=${BRANCH}"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += 'KDIR="${STAGING_KERNEL_DIR}"'
COMPATIBLE_MACHINE = "(ti-soc)"
do_compile_prepend() {
cd ${S}/kernel_module/uio
}
do_install() {
install -d ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
install -m 644 ${S}/kernel_module/uio/uio_ivshmem.ko ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
}

View File

@@ -1,23 +0,0 @@
SUMMARY = "UIO tests for IVSHMEM based UIO driver"
DESCRIPTION = "Test programs which use UIO (userspace io) device for inter VM communication"
HOMEPAGE = "https://github.com/henning-schild-work/ivshmem-guest-code"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/COPYING;md5=0546a27aad86c83b75ad4ee6133e9d5e"
inherit cmake
PROTOCOL = "git"
BRANCH = "jailhouse"
SRCREV = "f3ad79881bebb6c6068966ee3d265d8034c20492"
SRC_URI = "git://github.com/henning-schild-work/ivshmem-guest-code.git;protocol=${PROTOCOL};branch=${BRANCH}"
S = "${WORKDIR}/git/uio/tests/Interrupts/VM"
COMPATIBLE_MACHINE = "(ti-soc)"
OECMAKE_TARGET_COMPILE = "uio_send uio_read"
do_install() {
install -d ${D}/${bindir}
install -m 755 ${B}/uio_send ${D}/${bindir}/
install -m 755 ${B}/uio_read ${D}/${bindir}/
}

View File

@@ -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

View File

@@ -19,7 +19,10 @@ PROVIDES = "virtual/gpudriver"
BRANCH = "1.13-5776728/linux-k5.10"
SRC_URI = "git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH}"
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"

View File

@@ -3,15 +3,15 @@ SUMMARY = "PRU Ethernet firmware for AM65xx SR2.0"
LICENSE = "TI-TFL"
LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
PV = "02.02.08.02"
PV = "02.02.09.03"
CLEANBROKEN = "1"
COMPATIBLE_MACHINE = "am65xx-evm"
COMPATIBLE_MACHINE = "am65xx-evm|am64xx-evm"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRCREV = "31e626d84a3f8a5dc7175b79440972ce90a23de0"
SRCREV = "f3d2c7cafc906adc9a2f4543aa2fee556483545d"
BRANCH ?= "ti-linux-firmware"
SRC_URI = "git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH}"

View File

@@ -1,43 +1,35 @@
SUMMARY = "PRU Ethernet firmware for AM65x"
require recipes-ti/includes/ti-paths.inc
require recipes-bsp/emac-lld/emac-lld.inc
SUMMARY = "PRU Ethernet firmware for AM65x SR1.0"
LICENSE = "TI-TFL"
LIC_FILES_CHKSUM = "file://icss_dualmac/src/makefile;beginline=6;endline=53;md5=3f9129d208f240940749757214bdc191"
LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
PR = "r0"
PV = "08.00.00.20"
TI_PDK_COMP = "ti.drv.emac.firmware"
B = "${S}/icss_dualmac"
CLEANBROKEN = "1"
COMPATIBLE_MACHINE = "am65xx"
PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS = "ti-cgt-pru-native"
SRCREV = "517b0cd8d8d80e91f1f7d80f035e6af041c39726"
BRANCH ?= "ti-linux-firmware"
EXTRA_OEMAKE += "CL_PRU_INSTALL_PATH="${TI_CGT_PRU_INSTALL_DIR}""
SRC_URI = "git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH}"
do_compile() {
oe_runmake -C src
}
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
install -m 0644 bin/rxl2_txl2_rgmii0/rxl2_txl2.out \
${D}${base_libdir}/firmware/ti-pruss/am65x-pru0-prueth-fw.elf
install -m 0644 bin/rtu_test0/rtu_v2.out \
${D}${base_libdir}/firmware/ti-pruss/am65x-rtu0-prueth-fw.elf
install -m 0644 bin/rxl2_txl2_rgmii1/rxl2_txl2.out \
${D}${base_libdir}/firmware/ti-pruss/am65x-pru1-prueth-fw.elf
install -m 0644 bin/rtu_test1/rtu_v2.out \
${D}${base_libdir}/firmware/ti-pruss/am65x-rtu1-prueth-fw.elf
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"

View File

@@ -11,7 +11,7 @@ COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRCREV = "0038ff0ecda8dae83c65d454c85776c6a4ef8e63"
SRCREV = "11fecaf08eeed27f2a834c9911edb8a5fb2a23b1"
BRANCH ?= "ti-linux-firmware"
SRC_URI = "git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH}"

View File

@@ -11,7 +11,7 @@ COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx-evm|am57xx-hs-evm"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRCREV = "0038ff0ecda8dae83c65d454c85776c6a4ef8e63"
SRCREV = "dccfb2328354be2933a5a179b528ec8a18b92d3a"
BRANCH ?= "ti-linux-firmware"
SRC_URI = "git://git.ti.com/processor-firmware/ti-linux-firmware.git;protocol=git;branch=${BRANCH}"

View File

@@ -0,0 +1,36 @@
From 83d29d5e346083254e71fbe483cb14f6657b9965 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Tue, 29 Jun 2021 12:03:29 -0500
Subject: [PATCH] Revert "soc: am64x: Makefile: Move the SPL Load address to
0x70000000"
This reverts commit e411dc16862b5bb2d8befb12496b03d7b01c87b2.
Mainline is NOT ready for the change yet as of u-boot 2021.07 + v5.13,
So, this patch reverts the SPL address change.
This patch needs to be dropped once mainline u-boot and kernel have
migrated over to newer releases.
Upstream-Status: Not applicable
Signed-off-by: Nishanth Menon <nm@ti.com>
---
soc/am64x/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/soc/am64x/Makefile b/soc/am64x/Makefile
index 45425428f9c6..e8747376f153 100644
--- a/soc/am64x/Makefile
+++ b/soc/am64x/Makefile
@@ -30,7 +30,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-SBL_LOADADDDR ?= 0x70000000
+SBL_LOADADDDR ?= 0x70020000
COMBINED_SYSFW_BRDCFG_LOADADDR ?= 0x70000
LOADADDR ?= 0x44000
SCIFS = sci
--
2.32.0

View File

@@ -3,11 +3,14 @@ SUMMARY = "TI SCI firmware (SYSFW)"
LICENSE = "TI-TFL"
LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
PV = "2021.01a"
PV = "2021.05"
INC_PR = "r0"
# RTOS firmware version
CORESDK_RTOS_VERSION = "08.00.00.32"
SRCREV = "34062b5670aac524ce3074b184ef2ef62daafca0"
SRCREV = "793309716bce2e443f798dd5c5f0d8dd310970c0"
BRANCH ?= "ti-linux-firmware"
SRCREV_imggen = "7b6f3832af6d334d335309d66d206ab829765c0e"
SRCREV_imggen = "b65ae80847f5a0d1885ed6e4de4d9d635544053c"
SRCREV_FORMAT = "imggen"
SRC_URI = " \
@@ -15,4 +18,15 @@ SRC_URI = " \
git://git.ti.com/k3-image-gen/k3-image-gen.git;protocol=git;branch=master;destsuffix=imggen;name=imggen \
"
# This is a protection in case the definition is not present in other distros.
ARAGO_BRAND ?= ""
# Mainline u_boot 2021.07 and upstream kernel v5.13 tag cannot use new SPL address
# in K3-Imagegen
SRC_URI += "\
${@oe.utils.conditional('ARAGO_BRAND', 'mainline', '\
file://0001-Revert-soc-am64x-Makefile-Move-the-SPL-Load-address-.patch;patchdir=../imggen \
', '', d)} \
"
S = "${WORKDIR}/git"

View File

@@ -3,7 +3,6 @@ require recipes-bsp/ti-sci-fw/ti-sci-fw.inc
DEPENDS = "openssl-native u-boot-mkimage-native dtc-native"
DEPENDS_append_j7200-evm-k3r5 = " virtual/bootloader"
DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader"
DEPENDS_append_am64xx-sk-k3r5 = " virtual/bootloader"
CLEANBROKEN = "1"
PR = "r1"
@@ -54,7 +53,6 @@ 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_am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
EXTRA_OEMAKE_append_am64xx-sk-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
do_compile() {
cd ${WORKDIR}/imggen/
@@ -117,19 +115,4 @@ do_deploy_am64xx-evm-k3r5() {
install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
}
do_install_am64xx-sk-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-sk-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

View File

@@ -1,8 +1,8 @@
PV_k3 = "2.4"
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 = "65dd16b4ea5032752af62e94ca64cff41733a123"
SRCREV_tfa_k3 = "0693f356eb2a25adf8758d98058120bed082cc73"
COMPATIBLE_MACHINE_k3 = "k3"
TFA_BUILD_TARGET_k3 = "all"
TFA_INSTALL_TARGET_k3 = "bl31"

View File

@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
PR = "r0"
PV = "2021.04"
PV = "2021.07"
# For the un-initiated:
# The actual URL you'd use with a git clone for example would be:
@@ -15,4 +15,4 @@ PV = "2021.04"
# 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 = "b46dd116ce03e235f2a7d4843c6278e1da44b5e1"
SRCREV = "840658b093976390e9537724f802281c9c8439f5"

View File

@@ -2,8 +2,8 @@ require u-boot-ti.inc
LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
PR = "r5"
PR = "r11"
BRANCH = "ti-u-boot-2021.01"
SRCREV = "fbbc964a3514d99430f66600603b7ae348b64cd4"
SRCREV = "53e79d0e89f975eeb874366dd9a92f68b3a599d1"

View File

@@ -66,7 +66,6 @@ SPL_UART_BINARY_k3r5 = ""
SPL_UART_BINARY_lego-ev3 = ""
SPL_UART_BINARY_j7200-evm-k3r5 = "u-boot-spl.bin"
SPL_UART_BINARY_am64xx-evm-k3r5 = "u-boot-spl.bin"
SPL_UART_BINARY_am64xx-sk-k3r5 = "u-boot-spl.bin"
SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
@@ -402,9 +401,4 @@ do_deploy_append_am64xx-evm-k3r5 () {
mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
}
do_deploy_append_am64xx-sk-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"

View File

@@ -1,22 +0,0 @@
# Set jailhouse architecture JH_ARCH variable
#
# return value must match one of architectures supported by jailhouse
#
valid_jh_archs = "x86 arm"
def map_jh_arch(a, d):
import re
valid_jh_archs = d.getVar('valid_jh_archs', True).split()
if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
elif re.match('armeb$', a): return 'arm'
elif re.match('aarch64$', a): return 'arm64'
elif re.match('aarch64_be$', a): return 'arm64'
elif a in valid_jh_archs: return a
else:
bb.error("cannot map '%s' to a jailhouse supported architecture" % a)
export JH_ARCH = "${@map_jh_arch(d.getVar('TARGET_ARCH', True), d)}"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"

View File

@@ -1,56 +0,0 @@
From 24e58c75592a2ba09f3062c8a4722c0e29a9b558 Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
Date: Wed, 1 Apr 2020 15:44:46 -0400
Subject: [PATCH] tools: update shebang in helper scripts for python3
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
tools/jailhouse-cell-linux | 2 +-
tools/jailhouse-cell-stats | 2 +-
tools/jailhouse-config-create | 2 +-
tools/jailhouse-hardware-check | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/jailhouse-cell-linux b/tools/jailhouse-cell-linux
index 007a5c4..e106b9d 100755
--- a/tools/jailhouse-cell-linux
+++ b/tools/jailhouse-cell-linux
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Jailhouse, a Linux-based partitioning hypervisor
#
diff --git a/tools/jailhouse-cell-stats b/tools/jailhouse-cell-stats
index 2f7e966..4c5289f 100755
--- a/tools/jailhouse-cell-stats
+++ b/tools/jailhouse-cell-stats
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Jailhouse, a Linux-based partitioning hypervisor
#
diff --git a/tools/jailhouse-config-create b/tools/jailhouse-config-create
index 1e2df74..9382b05 100755
--- a/tools/jailhouse-config-create
+++ b/tools/jailhouse-config-create
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Jailhouse, a Linux-based partitioning hypervisor
#
diff --git a/tools/jailhouse-hardware-check b/tools/jailhouse-hardware-check
index 375816e..658ce6f 100755
--- a/tools/jailhouse-hardware-check
+++ b/tools/jailhouse-hardware-check
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Jailhouse, a Linux-based partitioning hypervisor
#
--
2.7.4

View File

@@ -1,168 +0,0 @@
SUMMARY = "Linux-based partitioning hypervisor"
DESCRIPTION = "Jailhouse is a partitioning Hypervisor based on Linux. It is able to run bare-metal applications or (adapted) \
operating systems besides Linux. For this purpose, it configures CPU and device virtualization features of the hardware \
platform in a way that none of these domains, called 'cells' here, can interfere with each other in an unacceptable way."
HOMEPAGE = "https://github.com/siemens/jailhouse"
SECTION = "jailhouse"
LICENSE = "GPL-2.0 & BSD-2-Clause"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
"
PV = "0.12+git${SRCPV}"
SRCREV = "0d059b6f2c3efeaa2466517300540498b34b7655"
BRANCH = "ti-jailhouse-0.12"
SRC_URI = " \
git://git.ti.com/jailhouse/ti-jailhouse.git;protocol=git;branch=${BRANCH} \
file://0001-tools-update-shebang-in-helper-scripts-for-python3.patch \
"
DEPENDS = "virtual/kernel dtc-native python3-mako-native python3-mako make-native"
RDEPENDS_${PN} += "\
python3-curses\
python3-datetime\
python3-mmap\
"
require jailhouse-arch.inc
inherit module python3native bash-completion deploy setuptools3
S = "${WORKDIR}/git"
B = "${S}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(ti-soc)"
JH_DATADIR ?= "${datadir}/jailhouse"
JH_EXEC_DIR ?= "${libexecdir}/jailhouse"
CELL_DIR ?= "${JH_DATADIR}/cells"
CELLCONF_DIR ?= "${JH_DATADIR}/configs"
INMATES_DIR ?= "${JH_DATADIR}/inmates"
JH_CELL_FILES ?= "*.cell"
JH_CELL_FILES_k3 ?= "k3-*.cell"
JH_INMATE_DTB ?= ""
JH_INMATE_DTB_am65xx ?= "inmate-k3-am654-idk.dtb"
JH_INMATE_DTB_j7 ?= "inmate-k3-j721e-evm.dtb"
JH_INMATE_DTB_j7200-evm ?= "inmate-k3-j7200-evm.dtb"
JH_LINUX_DEMO_CELL ?= ""
JH_LINUX_DEMO_CELL_am65xx ?= "k3-am654-idk-linux-demo.cell"
JH_LINUX_DEMO_CELL_j7 ?= "k3-j721e-evm-linux-demo.cell"
JH_LINUX_DEMO_CELL_j7200-evm ?= "k3-j7200-evm-linux-demo.cell"
JH_SYSCONFIG_CELL ?= ""
JH_SYSCONFIG_CELL_am65xx ?= "k3-am654-idk.cell"
JH_SYSCONFIG_CELL_j7 ?= "k3-j721e-evm.cell"
JH_SYSCONFIG_CELL_j7200-evm ?= "k3-j7200-evm.cell"
INITRAMFS_IMAGE ?= ""
JH_RAMFS_IMAGE ?= "${INITRAMFS_IMAGE}"
JH_CMDLINE ?= ""
JH_CMDLINE_am65xx ?= "console=ttyS1,115200n8"
JH_CMDLINE_j7 ?= "console=ttyS3,115200n8"
JH_CMDLINE_j7200-evm ?= "console=ttyS3,115200n8"
do_configure() {
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
then
cp ${STAGING_DIR_HOST}/${CELLCONF_DIR}/*.c ${S}/configs/
fi
}
USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \
-DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \
-Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \
-I../driver'
TOOLS_SRC_DIR = "${S}/tools"
EXTRA_OEMAKE = "ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" KDIR=${STAGING_KERNEL_BUILDDIR}"
do_compile() {
oe_runmake V=1
}
do_install() {
# Install pyjailhouse python modules needed by the tools
distutils3_do_install
# We want to install the python tools, but we do not want to use pip...
# At least with v0.10, we can work around this with
# 'PIP=":" PYTHON_PIP_USEABLE=yes'
oe_runmake PIP=: PYTHON=python3 PYTHON_PIP_USEABLE=yes DESTDIR=${D} install
install -d ${D}${CELL_DIR}
install -m 0644 ${B}/configs/${JH_ARCH}/${JH_CELL_FILES} ${D}${CELL_DIR}/
install -d ${D}${INMATES_DIR}
install -m 0644 ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
install -d ${D}/boot
if [ -n "${JH_RAMFS_IMAGE}" ]
then
if [ -f ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}-${MACHINE}.cpio ]
then
install -m 0644 ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}-${MACHINE}.cpio ${D}/boot
else
bberror "Could not find JH_RAMFS_IMAGE (${JH_RAMFS_IMAGE}-${MACHINE}.cpio)!"
bberror "Please make sure that \"cpio\" is in IMAGE_FSTYPES."
fi
fi
if [ -n "${JH_INMATE_DTB}" -a -n "${JH_LINUX_DEMO_CELL}" ]; then
cd ${TOOLS_SRC_DIR}
echo "#! /bin/sh" > ${D}${JH_DATADIR}/linux-demo.sh
echo "jailhouse enable ${CELL_DIR}/${JH_SYSCONFIG_CELL}" >> ${D}${JH_DATADIR}/linux-demo.sh
./jailhouse-cell-linux -w ${D}${JH_DATADIR}/${JH_INMATE_DTB} \
-a ${JH_ARCH} -c "${JH_CMDLINE}" \
-d ../configs/${JH_ARCH}/dts/${JH_INMATE_DTB} \
-i ${D}/boot/${JH_RAMFS_IMAGE}-${MACHINE}.cpio \
${D}${CELL_DIR}/${JH_LINUX_DEMO_CELL} \
${DEPLOY_DIR_IMAGE}/Image \
| tr -cd '\11\12\15\40-\176' \
>> ${D}${JH_DATADIR}/linux-demo.sh
sed -i -e 's,^Modified device tree written.*,,g' ${D}${JH_DATADIR}/linux-demo.sh
sed -i -e 's,\${D},,g' ${D}${JH_DATADIR}/linux-demo.sh
sed -i -e 's, linux-loader.bin, ${JH_EXEC_DIR}/linux-loader.bin,g' ${D}${JH_DATADIR}/linux-demo.sh
sed -i -e 's,\${DEPLOY_DIR_IMAGE},/boot,g' ${D}${JH_DATADIR}/linux-demo.sh
sed -i -e '/^\s*$/d' ${D}${JH_DATADIR}/linux-demo.sh
chmod +x ${D}${JH_DATADIR}/linux-demo.sh
fi
}
PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse ${PN}-tools"
FILES_${PN} = "${base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR} /boot"
FILES_pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
FILES_${PN}-tools = "${libexecdir}/${BPN}/${BPN}-*"
RDEPENDS_${PN}-tools = "pyjailhouse python3-mmap python3-math python3-datetime python3-curses python3-compression"
RDEPENDS_pyjailhouse = "python3-core python3-ctypes python3-fcntl python3-shell"
RRECOMMENDS_${PN} = "${PN}-tools"
INSANE_SKIP_${PN} = "ldflags"
KERNEL_MODULE_AUTOLOAD += "jailhouse"
# Any extra cells/inmates from external recipes/packages
CELLS = ""
python __anonymous () {
d.appendVarFlag('do_install', 'depends', ' virtual/kernel:do_deploy')
ramfs = d.getVar('JH_RAMFS_IMAGE', True)
if ramfs:
d.appendVarFlag('do_install', 'depends', ' ${JH_RAMFS_IMAGE}:do_image_complete')
# Setup DEPENDS and RDEPENDS to included cells
cells = d.getVar('CELLS', True) or ""
for cell in cells.split():
d.appendVar('DEPENDS', ' ' + cell)
d.appendVar('RDEPENDS_${PN}', ' ' + cell)
}

View File

@@ -35,6 +35,7 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base_append_ti43x = " prueth-fw pruhsr-fw pruprp
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"
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"

View File

@@ -8,22 +8,24 @@ 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}"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \
${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
BRANCH = "master"
TOOLS_BRANCH = "master"
# 5.12 Mainline version
SRCREV = "9f4ad9e425a1d3b6a34617b8ea226d56a119a717"
PV = "5.12+git${SRCPV}"
# 5.13 Mainline version
SRCREV = "62fb9874f5da54fdb243003b386128037319b219"
PV = "5.13+git${SRCPV}"
# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild
MACHINE_KERNEL_PR_append = "a"
MACHINE_KERNEL_PR_append = "b"
PR = "${MACHINE_KERNEL_PR}"
KERNEL_GIT_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
@@ -34,7 +36,7 @@ SRC_URI += " \
file://defconfig \
"
SRCREV_ti-upstream-tools = "d59b7471d99b806e3dc22342c8f42d5bb33f8cce"
SRCREV_ti-upstream-tools = "c9b8150cb00a5beb7b7f3e42d0d817aa9392fabd"
SRCREV_FORMAT = "linux"
KERNEL_DEVICETREE = ""

View File

@@ -6,5 +6,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-5.10:"
BRANCH = "ti-rt-linux-5.10.y"
SRCREV = "8fbd16658d1105671e67182c290235a99a7af02b"
PV = "5.10.30+git${SRCPV}"
SRCREV = "0701a5b58c943909a38be9df38a3b4bdd8234340"
PV = "5.10.41+git${SRCPV}"

View File

@@ -11,18 +11,20 @@ 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}"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT} \
${EXTRA_DTC_ARGS}"
S = "${WORKDIR}/git"
BRANCH = "ti-linux-5.10.y"
SRCREV = "d85aee3e19aa7403bd157d2ae30917e736096a7f"
PV = "5.10.30+git${SRCPV}"
SRCREV = "4c2eade9f722838b0e457650368cba1c6c7483c2"
PV = "5.10.41+git${SRCPV}"
# Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild
MACHINE_KERNEL_PR_append = "a"

View File

@@ -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)}"

View File

@@ -1,62 +0,0 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 36e784f621bf5d5be9183beba35f39426277c110 Mon Sep 17 00:00:00 2001
From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Date: Tue, 13 Oct 2020 22:45:39 +0300
Subject: [PATCH 1/3] libutils: provide empty __getauxval() implementation
Never version of libgcc are built with LSE implementation in mind. To
determine if LSE is available on platform it calls __getauxval(), so in
some cases we can get undefined reference to __getauxval() error.
Prominent case is libgcc_eh.a library, which is used by C++ TAs. Exception
handler depends on atomic operations, so it tries to call
init_have_lse_atomics() first. This function in turn calls __getauxval(),
which causes linking error.
In the future we can make __getauxval() to return actual platform
capabilities.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
---
lib/libutils/ext/arch/arm/auxval.c | 12 ++++++++++++
lib/libutils/ext/arch/arm/sub.mk | 1 +
2 files changed, 13 insertions(+)
create mode 100644 lib/libutils/ext/arch/arm/auxval.c
diff --git a/lib/libutils/ext/arch/arm/auxval.c b/lib/libutils/ext/arch/arm/auxval.c
new file mode 100644
index 00000000..98bca850
--- /dev/null
+++ b/lib/libutils/ext/arch/arm/auxval.c
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: BSD-2-Clause
+/*
+ * Copyright (c) 2020, EPAM Systems
+ */
+
+#include <compiler.h>
+
+unsigned long int __getauxval (unsigned long int type);
+unsigned long int __getauxval (unsigned long int type __unused)
+{
+ return 0;
+}
diff --git a/lib/libutils/ext/arch/arm/sub.mk b/lib/libutils/ext/arch/arm/sub.mk
index dc5eed67..2e779066 100644
--- a/lib/libutils/ext/arch/arm/sub.mk
+++ b/lib/libutils/ext/arch/arm/sub.mk
@@ -3,6 +3,7 @@ srcs-$(CFG_ARM32_$(sm)) += aeabi_unwind.c
endif
srcs-$(CFG_ARM32_$(sm)) += atomic_a32.S
srcs-$(CFG_ARM64_$(sm)) += atomic_a64.S
+srcs-y += auxval.c
ifneq ($(sm),ldelf) # TA, core
srcs-$(CFG_ARM32_$(sm)) += mcount_a32.S
srcs-$(CFG_ARM64_$(sm)) += mcount_a64.S
--
2.25.1

View File

@@ -1,55 +0,0 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 73196b58ea6978ffa5e581738030f51c5789ef73 Mon Sep 17 00:00:00 2001
From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Date: Tue, 13 Oct 2020 22:54:13 +0300
Subject: [PATCH 2/3] link.mk: implement support for libnames-after-libgcc
variable
Newer versions of libgcc depend on external __getauxval() symbol, which is
now provided by libutils. But libgcc is linked after libutils, so linker
can't resolve that symbol. We can't include libgcc into linking group with
libtutils, because libgcc provides symbols that conflict with libutil's
ones, like __aeabi_idiv with friends for instance.
So, to resolve libgcc dependency on libutils we need to link with libutils
second time. To make things more generic, we will introduce
$(libnames-after-libgcc) variable for libraries that should be linked after
libgcc.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
---
ta/arch/arm/link.mk | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk
index 445c285d..3025acb1 100644
--- a/ta/arch/arm/link.mk
+++ b/ta/arch/arm/link.mk
@@ -55,8 +55,11 @@ link-ldflags += --eh-frame-hdr
link-ldadd += $(libstdc++$(sm)) $(libgcc_eh$(sm))
endif
link-ldadd += --end-group
-ldargs-$(user-ta-uuid).elf := $(link-ldflags) $(objs) $(link-ldadd) $(libgcc$(sm))
+link-ldadd-after-libgcc += $(addprefix -l,$(libnames-after-libgcc))
+
+ldargs-$(user-ta-uuid).elf := $(link-ldflags) $(objs) $(link-ldadd) \
+ $(libgcc$(sm)) $(link-ldadd-after-libgcc)
link-script-cppflags-$(sm) := \
$(filter-out $(CPPFLAGS_REMOVE) $(cppflags-remove), \
@@ -76,6 +79,7 @@ $(link-script-pp$(sm)): $(link-script$(sm)) $(conf-file) $(link-script-pp-makefi
$(link-script-cppflags-$(sm)) $$< -o $$@
$(link-out-dir$(sm))/$(user-ta-uuid).elf: $(objs) $(libdeps) \
+ $(libdeps-after-libgcc) \
$(link-script-pp$(sm)) \
$(dynlistdep) \
$(additional-link-deps)
--
2.25.1

View File

@@ -1,44 +0,0 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From f50962e3f56f0932662b2ffa10afe53339a335dd Mon Sep 17 00:00:00 2001
From: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Date: Fri, 16 Oct 2020 16:36:08 +0300
Subject: [PATCH 3/3] ta_dev_kit.mk: make sure that libutils is linked second
time
libgcc depends on __getauxval symbol from libuils. As, generally libutils
is linked before libgcc, we will get "unresolved symbol" error. To resolve
this dependency we need to link libutils second time - after libgcc.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
---
ta/mk/ta_dev_kit.mk | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/ta/mk/ta_dev_kit.mk b/ta/mk/ta_dev_kit.mk
index e28be677..d0e66317 100644
--- a/ta/mk/ta_dev_kit.mk
+++ b/ta/mk/ta_dev_kit.mk
@@ -78,6 +78,16 @@ endif
libnames += dl
libdeps += $(ta-dev-kit-dir$(sm))/lib/libdl.a
+# libutils provides __getauxval symbol which is needed by libgcc 10.x. We can't
+# link libutils after libgcc, because libgcc will replace some symbols provided
+# by libutils, which will cause further linking issues.
+#
+# But if we place libutils before libgcc, linker will not be able to resolve
+# __getauxval. So we need to link with libutils twice: before and after libgcc.
+# Hence it included both in $(libnames) and in $(libnames-after-libgcc)
+libnames-after-libgcc += utils
+libdeps-after-libgcc += $(ta-dev-kit-dir$(sm))/lib/libutils.a
+
# Pass config variable (CFG_) from conf.mk on the command line
cppflags$(sm) += $(strip \
$(foreach var, $(filter CFG_%,$(.VARIABLES)), \
--
2.25.1

View File

@@ -1,16 +1,13 @@
FILESEXTRAPATHS_prepend_ti-soc := "${THISDIR}/${PN}:"
PV_ti-soc = "3.11.0+git${SRCPV}"
PV_ti-soc = "3.12.0+git${SRCPV}"
SRCREV_ti-soc = "c4def2a8262a03244d9a88461699b9b8e43c6b55"
SRCREV_ti-soc = "3d47a131bca1d9ed511bfd516aa5e70269e12c1d"
SRC_URI_ti-soc = " \
git://github.com/OP-TEE/optee_os.git \
file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
file://0007-allow-setting-sysroot-for-clang.patch \
file://0001-libutils-provide-empty-__getauxval-implementation.patch \
file://0002-link.mk-implement-support-for-libnames-after-libgcc-.patch \
file://0003-ta_dev_kit.mk-make-sure-that-libutils-is-linked-seco.patch \
"
do_compile_prepend_ti-soc() {

View File

@@ -10,95 +10,226 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
INHIBIT_DEFAULT_DEPS = "1"
inherit deploy
inherit update-alternatives
DEFAULT_METADATA_FILE ?= "metadata.inc"
DEFAULT_METADATA_FILE_am64xx ?= "mcusdk_metadata.inc"
PLAT_SFX = ""
PLAT_SFX_j7 = "j721e"
PLAT_SFX_j7200-evm = "j7200"
PLAT_SFX_am65xx = "am65xx"
PLAT_SFX_am64xx = "am64xx"
# First, let's try including metadata.inc that could be fetched and deployed
# by ti-rtos-metadata earlier and provide new set of CORESDK_RTOS_* variables
include ${DEPLOY_DIR_IMAGE}/${DEFAULT_METADATA_FILE}
require recipes-bsp/ti-sci-fw/ti-sci-fw.inc
# Set some defaults for when metadata.inc is not available
DEFAULT_RTOS_FAMILY = "jacinto"
DEFAULT_RTOS_VERSION = "07_03_00_29"
DEFAULT_RTOS_VERSION_DOT = "07.03.00.29"
CORESDK_RTOS_VERSION ?= "08.00.00.26"
PV = "${CORESDK_RTOS_VERSION}"
DEFAULT_RTOS_VERSION_am64xx = "07_03_00_19"
DEFAULT_RTOS_VERSION_DOT_am64xx = "07.03.00.19"
DEFAULT_RTOS_VERSION_am65xx = "07_03_00_22"
DEFAULT_RTOS_VERSION_DOT_am65xx = "07.03.00.22"
DEFAULT_RTOS_SOC = "undefined"
DEFAULT_RTOS_SOC_j7 = "j721e"
DEFAULT_RTOS_SOC_j7200-evm = "j7200"
DEFAULT_RTOS_SOC_am65xx = "am65xx"
DEFAULT_RTOS_SOC_am64xx = "am64x"
DEFAULT_RTOS_WEBLINK = "undefined"
DEFAULT_RTOS_WEBLINK_j7 = "https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/firmware/${CORESDK_RTOS_VERSION}"
DEFAULT_RTOS_WEBLINK_j7200-evm = "https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j7200/firmware/${CORESDK_RTOS_VERSION}"
DEFAULT_RTOS_WEBLINK_am65xx = "https://software-dl.ti.com/processor-sdk-rtos/esd/AM65X/firmware/${CORESDK_RTOS_VERSION}"
DEFAULT_RTOS_WEBLINK_am64xx = "https://software-dl.ti.com/processor-sdk-rtos/esd/AM64X/firmware/${CORESDK_RTOS_VERSION}"
DEFAULT_FIRMWARE_FILE = "coresdk_rtos_${CORESDK_RTOS_SOC}_${CORESDK_RTOS_VERSION}_firmware.tar.xz"
DEFAULT_FIRMWARE_FILE_am64xx = "mcu_plus_sdk_${CORESDK_RTOS_SOC}_${CORESDK_RTOS_VERSION}_firmware.tar.xz"
DEFAULT_FIRMWARE_URL = "file://empty"
DEFAULT_FIRMWARE_URL_k3 = "${CORESDK_RTOS_WEBLINK}/${DEFAULT_FIRMWARE_FILE}"
DEFAULT_FIRMWARE_SHA256SUM = "unknown"
DEFAULT_FIRMWARE_SHA256SUM_j7 = "1e306065d7273c4ac6f803d5b404ba5ff0ddd55a1afa2911944fe5e696629193"
DEFAULT_FIRMWARE_SHA256SUM_j7200-evm = "28fa4f5c57459ea0adc44e8c83b814a4adcfb887bee69769c5656adf628586b2"
DEFAULT_FIRMWARE_SHA256SUM_am65xx = "61e0be08bea8ab1055645bd96504a6a29c70318c5b277237dee9981cd94d7f79"
DEFAULT_FIRMWARE_SHA256SUM_am64xx = "5d1785cbdb91904a5ef3027378061041c59186c4198d7ebcfa660a1ff513d528"
# Use weak assignment for CORESDK_RTOS_* variables to use defaults if not yet set
CORESDK_RTOS_FAMILY ?= "${DEFAULT_RTOS_FAMILY}"
CORESDK_RTOS_VERSION ?= "${DEFAULT_RTOS_VERSION}"
CORESDK_RTOS_VERSION_DOT ?= "${DEFAULT_RTOS_VERSION_DOT}"
CORESDK_RTOS_SOC ?= "${DEFAULT_RTOS_SOC}"
CORESDK_RTOS_WEBLINK ?= "${DEFAULT_RTOS_WEBLINK}"
CORESDK_RTOS_FIRMWARE_URL ?= "${DEFAULT_FIRMWARE_URL}"
CORESDK_RTOS_FIRMWARE_SHA256SUM ?= "${DEFAULT_FIRMWARE_SHA256SUM}"
CORESDK_RTOS_FILE_PREFIX ?= ""
CORESDK_RTOS_FILE_SUFFIX ?= ""
# Common code below
S = "${WORKDIR}/lib"
PV = "${CORESDK_RTOS_VERSION_DOT}"
SRC_URI = "${CORESDK_RTOS_FIRMWARE_URL}${CORESDK_RTOS_FILE_SUFFIX}"
SRC_URI[sha256sum] = "${CORESDK_RTOS_FIRMWARE_SHA256SUM}"
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 ${S}/firmware/pdk-ipc/; \
( 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}; \
)
}
do_install() {
CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
install -d ${D}${base_libdir}
cp ${CP_ARGS} ${S} ${D}
# 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; \
)
}
FILES_${PN} = "${base_libdir}"
#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_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}
}
# 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 \
"
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 \
"
# 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_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"
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[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[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"