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.

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"




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16761): 
https://lists.yoctoproject.org/g/meta-ti/message/16761
Mute This Topic: https://lists.yoctoproject.org/mt/99665494/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to