Skip to content

Commit 8efb51e

Browse files
committed
firmware-qcom-qcs6490: package latest firmware for the RB3 Gen2
Add recipe to package the latest DSP firmware files for the board in order to be able to test them on the hardware. Signed-off-by: Dmitry Baryshkov <[email protected]>
1 parent 1ae800e commit 8efb51e

File tree

3 files changed

+82
-0
lines changed

3 files changed

+82
-0
lines changed

meta-qcom-tip/conf/qcom-tip.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
QCOM_QCM6490_PV = "00075.0"
22
QCOM_QCM6490_BOOTBINARIES_SUM = "38e6f424e02a8f99b9edf953e9d62b02489cb936426c58c48daf399ec6d5b60c"
3+
QCOM_QCM6490_FIRMWARE_SUM = "d8614693c8e19e9467294bf7b778a3e74dbbba1974ca1c312f82a9700b09478b"
34

45
QCOM_QCS9100_PV = "00075.0"
56
QCOM_QCS9100_BOOTBINARIES_SUM = "c8042ef4668761f75021886b931d678339ca9cbab936a20f951a6ba747a77303"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
PV = "00075.0"
2+
3+
QCOM_FW_BOARD = "Robotics RB3 Gen2"
4+
QCOM_FW_SOC = "qcm6490"
5+
QCOM_FW_NAME = "QCM6490_fw"
6+
7+
FW_QCOM_NAME = "qcm6490"
8+
9+
DSP_PKG_NAME = "thundercomm-rb3gen2"
10+
DSP_QCOM_VENDOR = "Thundercomm"
11+
DSP_QCOM_DEVICE = "RB3gen2"
12+
13+
require firmware-qcom-tip.inc
14+
15+
do_install:append() {
16+
install -d ${D}/${FW_QCOM_BASE_PATH}/qcs6490
17+
ln -sr ${D}/${FW_QCOM_PATH}/* ${D}/${FW_QCOM_BASE_PATH}/qcs6490/
18+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
DESCRIPTION = "QCOM HLOS Firmware for Qualcomm ${QCOM_FW_BOARD} platform"
2+
LICENSE = "Proprietary"
3+
LIC_FILES_CHKSUM = "file://Qualcomm-Technologies-Inc.-Proprietary;md5=58d50a3d36f27f1a1e6089308a49b403"
4+
5+
require conf/qcom-tip.conf
6+
7+
def get_var(d, var):
8+
name = var % d.getVar('QCOM_FW_SOC').upper()
9+
return d.getVar(name) or ""
10+
11+
PV = "${@get_var(d, 'QCOM_%s_PV')}"
12+
SRC_URI[fw.sha256sum] = "${@get_var(d, 'QCOM_%s_FIRMWARE_SUM')}"
13+
14+
FW_ARTIFACTORY = "softwarecenter.qualcomm.com/download/software/chip/qualcomm_linux-spf-1-0/qualcomm-linux-spf-1-0_test_device_public"
15+
FW_BUILD_ID = "r1.0_${PV}/${QCOM_FW_SOC}-le-1-0"
16+
FW_BIN_PATH = "common/build/ufs/bin"
17+
18+
DSP_QCOM_SOC ?= "${FW_QCOM_NAME}"
19+
20+
DSP_QCOM_BASE_PATH = "${datadir}/qcom"
21+
DSP_QCOM_PATH = "${DSP_QCOM_BASE_PATH}/${DSP_QCOM_SOC}/${DSP_QCOM_VENDOR}/${DSP_QCOM_DEVICE}"
22+
23+
SRC_URI = " \
24+
https://${FW_ARTIFACTORY}/${FW_BUILD_ID}/${FW_BIN_PATH}/${QCOM_FW_NAME}.zip;downloadfilename=${QCOM_FW_NAME}_r1.0_${PV}.zip;name=fw \
25+
"
26+
27+
S = "${UNPACKDIR}/${QCOM_FW_NAME}"
28+
29+
require recipes-bsp/firmware/firmware-qcom.inc
30+
31+
do_install:append() {
32+
install -d ${D}${FW_QCOM_PATH}
33+
install -m 0644 ${S}/lib/firmware/qcom/${FW_QCOM_SUBDIR}/*.mbn ${D}${FW_QCOM_PATH}
34+
install -m 0644 ${S}/lib/firmware/qcom/${FW_QCOM_SUBDIR}/*.jsn ${D}${FW_QCOM_PATH}
35+
if [ -e "${S}/lib/firmware/qupv3fw.elf" ] ; then
36+
install -m 0644 "${S}/lib/firmware/qupv3fw.elf" ${D}${FW_QCOM_PATH}
37+
fi
38+
39+
for subdir in `ls -1 ${S}/usr/lib/dsp` ; do
40+
install -d ${D}${DSP_QCOM_PATH}/dsp/${subdir}
41+
install -m 0644 ${S}/usr/lib/dsp/${subdir}/* ${D}${DSP_QCOM_PATH}/dsp/${subdir}
42+
done
43+
}
44+
45+
SPLIT_FIRMWARE_PACKAGES = " \
46+
linux-firmware-qcom-${FW_QCOM_NAME}-audio \
47+
linux-firmware-qcom-${FW_QCOM_NAME}-compute \
48+
linux-firmware-qcom-${FW_QCOM_NAME}-generalpurpose \
49+
hexagon-dsp-binaries-${DSP_PKG_NAME}-adsp \
50+
hexagon-dsp-binaries-${DSP_PKG_NAME}-cdsp \
51+
hexagon-dsp-binaries-${DSP_PKG_NAME}-gdsp \
52+
hexagon-dsp-binaries-${DSP_PKG_NAME}-sdsp \
53+
"
54+
55+
FILES:hexagon-dsp-binaries-${DSP_PKG_NAME}-adsp = "${DSP_QCOM_PATH}/dsp/adsp"
56+
FILES:hexagon-dsp-binaries-${DSP_PKG_NAME}-cdsp = "${DSP_QCOM_PATH}/dsp/cdsp*"
57+
FILES:hexagon-dsp-binaries-${DSP_PKG_NAME}-gdsp = "${DSP_QCOM_PATH}/dsp/gdsp*"
58+
FILES:hexagon-dsp-binaries-${DSP_PKG_NAME}-sdsp = "${DSP_QCOM_PATH}/dsp/sdsp*"
59+
60+
INSANE_SKIP:hexagon-dsp-binaries-${DSP_PKG_NAME}-adsp = "arch libdir file-rdeps textrel"
61+
INSANE_SKIP:hexagon-dsp-binaries-${DSP_PKG_NAME}-cdsp = "arch libdir file-rdeps textrel"
62+
INSANE_SKIP:hexagon-dsp-binaries-${DSP_PKG_NAME}-gdsp = "arch libdir file-rdeps textrel"
63+
INSANE_SKIP:hexagon-dsp-binaries-${DSP_PKG_NAME}-sdsp = "arch libdir file-rdeps textrel"

0 commit comments

Comments
 (0)