Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,20 @@ LICENSE = "LicenseRef-qcom-ai-stack"
LIC_FILES_CHKSUM = "file://LICENSE.pdf;md5=878b885995f453e328edbcd5a1302306"
NO_GENERIC_LICENSE[qcom-ai-stack] = "LICENSE.pdf"

# The zip file is quite large ~2.2 GB
# It's better to increase the default tries from 2 and timeout from 100.
FETCHCMD_wget = "wget --tries=5 --timeout=1000"
Comment thread
quaresmajose marked this conversation as resolved.

SRC_URI = "https://softwarecenter.qualcomm.com/api/download/software/sdks/Qualcomm_AI_Runtime_Community/All/${PV}/v${PV}.zip"
SRC_URI[sha256sum] = "d3497e110eae82c35a9152a93c0a18bbede402aaf9faa7a97c8079eb0f522b01"
SRC_URI[sha256sum] = "a346ea0e2c8631b46d57261a4969994cd9cc34124a8355bbc7b08b2c8bd859a5"

S = "${UNPACKDIR}/qairt/${PV}"

# We need host tools during the build:
# - patchelf-native: to patch DT_NEEDED entries in prebuilt .so files
# - binutils-native: for readelf to inspect NEEDED
DEPENDS = "patchelf-native binutils-native"
# - systemd: for libsystemd.so.0 dependency of libGenieService.so
DEPENDS = "patchelf-native binutils-native systemd"

# The SDK ships multiple toolchain-specific lib directories with names
# like "aarch64-oe-linux-gcc8.2", "aarch64-oe-linux-gcc9.3", etc.
Expand Down Expand Up @@ -59,6 +64,8 @@ do_install() {
install -d ${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp
install -d ${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp1
install -d ${D}${datadir}/qcom/qcs8300/Qualcomm/QCS8300-RIDE/dsp/cdsp
install -d ${D}${datadir}/qcom/x1e80100/Qualcomm/Hamoa-IoT-EVK/dsp/cdsp
install -d ${D}${datadir}/qcom/shikra/Qualcomm/Shikra-CQS-EVK/dsp/cdsp
install -d ${D}${bindir}

cp -r ${S}/include/* ${D}${includedir}
Expand All @@ -72,6 +79,19 @@ do_install() {
cp -r ${S}/lib/hexagon-v73/unsigned/* ${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp
cp -r ${S}/lib/hexagon-v75/unsigned/* ${D}${datadir}/qcom/qcs8300/Qualcomm/QCS8300-RIDE/dsp/cdsp

# Shikra CQS-EVK uses the same v66 binaries as QCS615-RIDE.
for lib in ${D}${datadir}/qcom/qcs615/Qualcomm/QCS615-RIDE/dsp/cdsp/*; do \
ln -s ${datadir}/qcom/qcs615/Qualcomm/QCS615-RIDE/dsp/cdsp/$(basename $lib) \
${D}${datadir}/qcom/shikra/Qualcomm/Shikra-CQS-EVK/dsp/cdsp/$(basename $lib); \
done

# Hamoa IoT EVK uses the same v73 binaries as SA8775P-RIDE.
for lib in ${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp/*; do \
ln -s ${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp/$(basename $lib) \
${D}${datadir}/qcom/x1e80100/Qualcomm/Hamoa-IoT-EVK/dsp/cdsp/$(basename $lib); \
done

# SA8775P-RIDE cdsp1 is an alias for cdsp used by some FastRPC clients.
for lib in ${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp/*; do \
ln -s ../cdsp/$(basename $lib) \
${D}${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp1/$(basename $lib); \
Expand Down Expand Up @@ -116,9 +136,11 @@ PACKAGES += "\
"

FILES:${PN}-hexagon-v66 += "${datadir}/qcom/qcs615/Qualcomm/QCS615-RIDE/dsp/cdsp"
FILES:${PN}-hexagon-v66 += "${datadir}/qcom/shikra/Qualcomm/Shikra-CQS-EVK/dsp/cdsp"
FILES:${PN}-hexagon-v68 += "${datadir}/qcom/qcm6490/Thundercomm/RB3gen2/dsp/cdsp"
FILES:${PN}-hexagon-v73 += "${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp"
FILES:${PN}-hexagon-v73 += "${datadir}/qcom/sa8775p/Qualcomm/SA8775P-RIDE/dsp/cdsp1"
FILES:${PN}-hexagon-v73 += "${datadir}/qcom/x1e80100/Qualcomm/Hamoa-IoT-EVK/dsp/cdsp"
FILES:${PN}-hexagon-v75 += "${datadir}/qcom/qcs8300/Qualcomm/QCS8300-RIDE/dsp/cdsp"

RDEPENDS:${PN} += "fastrpc"
Expand All @@ -137,4 +159,5 @@ INSANE_SKIP:${PN}-hexagon-v73 += "arch libdir ldflags file-rdeps"
INSANE_SKIP:${PN}-hexagon-v75 += "arch libdir ldflags file-rdeps"

# Hexagon libraries include .so symlinks but are runtime artifacts.
INSANE_SKIP:${PN}-hexagon-v66 += "dev-so"
INSANE_SKIP:${PN}-hexagon-v73 += "dev-so"
8 changes: 8 additions & 0 deletions recipes-test/images/initramfs-kerneltest-image.bb
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
require initramfs-test-image.bb

PACKAGE_INSTALL += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"

python __anonymous () {
meer = d.getVar('MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS') or ''
for p in meer.split():
# exclude qairt-sdk-hexagon-vXX
if 'qairt-sdk-hexagon-v' in p:
d.setVar('PACKAGE_INSTALL:remove', p)
}
Comment thread
ricardosalveti marked this conversation as resolved.
Loading