Skip to content

Commit be0bc07

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 7925192 commit be0bc07

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-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 = "00085.0"
22
QCOM_QCM6490_BOOTBINARIES_SUM = "9b2b38e22c18896765d789609ed321f47b25e4f9574204995f591abc1b598ec4"
3+
QCOM_QCM6490_FIRMWARE_SUM = "771de30b5f2c352de4d770f2352e2a038c424c9221eed743256d44fda77a4dee"
34

45
QCOM_QCS8300_PV = "00085.0"
56
QCOM_QCS8300_BOOTBINARIES_SUM = "5f82e10d64afb10fe812bb6741aa74894718fd05654f39d1466f54ebe81dbb42"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
QCOM_FW_BOARD = "Robotics RB3 Gen2"
2+
QCOM_FW_SOC = "qcm6490"
3+
QCOM_FW_NAME = "QCM6490_fw"
4+
5+
FW_QCOM_NAME = "qcm6490"
6+
7+
DSP_PKG_NAME = "thundercomm-rb3gen2"
8+
DSP_QCOM_VENDOR = "Thundercomm"
9+
DSP_QCOM_DEVICE = "RB3gen2"
10+
11+
require firmware-qcom-tip.inc
12+
13+
do_install:append() {
14+
install -d ${D}/${FW_QCOM_BASE_PATH}/qcs6490
15+
ln -sr ${D}/${FW_QCOM_PATH}/* ${D}/${FW_QCOM_BASE_PATH}/qcs6490/
16+
}
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)