On 6/21/2023 11:54 AM, Andrew Davis wrote:
On 6/21/23 11:44 AM, Denys Dmytriyenko wrote:
On Wed, Jun 21, 2023 at 09:59:53AM -0500, Andrew Davis via
lists.yoctoproject.org wrote:
On 6/20/23 5:15 PM, Ryan Eatmon via lists.yoctoproject.org wrote:
We need to package up new HSR firmware for am65x-sr2. Add dependencies
for them on the correct platforms.
Signed-off-by: Ryan Eatmon <[email protected]>
---
v2: Names of firmware were changed to match existing filenames.
.../pruhsr-fw/pruhsr-fw_am65x-sr2_git.bb | 34
+++++++++++++++++++
.../recipes-kernel/linux/kernel-rdepends.inc | 4 +--
2 files changed, 36 insertions(+), 2 deletions(-)
create mode 100644
meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_am65x-sr2_git.bb
diff --git
a/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_am65x-sr2_git.bb
b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_am65x-sr2_git.bb
new file mode 100644
index 00000000..c31af832
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_am65x-sr2_git.bb
@@ -0,0 +1,34 @@
+SUMMARY = "PRU HSR 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"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
Is this needed? I don't think the package changes based on machine here.
Good question. It can be both ways with own pros and cons:
1. Don't make it machine-specific. Either one of am64 or am65 will
build the
package once and it will be Aarch64-generic. So, same package with the
same
binaries inside can be used on am64 and am65. But COMPATIBLE_MACHINE is a
build-time guard, so nothing prevents installing this Aarch64-generic
package
on other platforms - will that work? would there be adverse effects?
There is no ill effects to installing this on other platforms, they are
just
firmware blobs put in the firmware dir. No worse than installing a firmware
package for hardware you don't have installed (which we all do on our PCs).
I'd even say we should drop COMPATIBLE_MACHINE. Sure this firmware
doesn't do
anything for machines other than AM65/AM64, but no harm either, so it is
not
"incompatible". And the job of installing this only on machines that
need it
is already handled in kernel-rdepends.inc below.
All of these pru recipe should be cleaned up. I just did not want to do
that clean up at this time as it involves a lot of files. So I just
copied an existing pru recipe for am65 sr2. But I agree, we should
clean all of these up in the longer term.
Andrew
2. Make it machine-specific (as it is now) - it will be built/packaged
twice,
separate for am64 and am65, and no other platform will be allowed to
build it
due to COMPATIBLE_MACHINE. Moreover, at run-time, no other platform
will be
allowed to even install either of the packages, since they are
specific to
each of those 2 platforms.
So, you decide which way is the best option in this case...
+S = "${WORKDIR}/git"
+
+TARGET = " \
+ am65x-sr2-pru0-pruhsr-fw.elf \
+ am65x-sr2-pru1-pruhsr-fw.elf \
+ am65x-sr2-rtu0-pruhsr-fw.elf \
+ am65x-sr2-rtu1-pruhsr-fw.elf \
+ am65x-sr2-txpru0-pruhsr-fw.elf \
+ am65x-sr2-txpru1-pruhsr-fw.elf \
+"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-pruss
+ for f in ${TARGET}; do
+ install -m 0644 ${S}/ti-pruss/$f
${D}${nonarch_base_libdir}/firmware/ti-pruss/$f
+ done
+}
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware"
+
+INSANE_SKIP:${PN} = "arch"
diff --git a/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc
b/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc
index d2dcc3e5..7c8f3171 100644
--- a/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc
+++ b/meta-ti-bsp/recipes-kernel/linux/kernel-rdepends.inc
@@ -16,8 +16,8 @@ RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am57xx
= " prueth-fw prusw-fw pruhsr
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 = "
prueth-fw-am65x-sr2"
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am65xx-evm = "
prueth-fw-am65x-sr2 pruhsr-fw-am65x-sr2 prusw-fw-am65x-sr2"
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:am64xx = "
prueth-fw-am65x-sr2 pruhsr-fw-am65x-sr2"
# Add run-time dependency for Cadence MHDP firmware to the rootfs
RDEPENDS:${KERNEL_PACKAGE_NAME}-base:append:j721e = "
cadence-mhdp-fw"
--
Ryan Eatmon [email protected]
-----------------------------------------
Texas Instruments, Inc. - LCPD - MGTS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16762):
https://lists.yoctoproject.org/g/meta-ti/message/16762
Mute This Topic: https://lists.yoctoproject.org/mt/99665494/21656
Group Owner: [email protected]
Unsubscribe:
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-