aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
blob: 6820c924ea6cb7e9133665e620fb1aaf9da11b69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
DESCRIPTION = "QCOM Firmware for Qualcomm Robotics RB5 platform"

LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.qcom.txt;md5=cbbe399f2c983ad51768f4561587f000"

SRC_URI = " \
    http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_${PV}.zip;subdir=${BP} \
"
SRC_URI[md5sum] = "d65ec09ba18dcafe291c870e0516c290"
SRC_URI[sha256sum] = "30e2c02be32de9f809b590f4fe76d9eb66d35f8c7d13b1f2850beb3d793192cc"

# From v2 to v4 the versioning has changed, so add epoch
# 20210118133815-v2
# 20210331-v4
PE = "1"

DEPENDS += "qca-swiss-army-knife-native"

FW_QCOM_NAME = "sm8250"

require recipes-bsp/firmware/firmware-qcom.inc

do_compile() {
    # Build board-2.bin needed by WiFi
    ath11k-generate-board-2_json.sh ./38-bdwlan_split board-2.json
    python3 "${STAGING_BINDIR_NATIVE}/ath10k-bdencoder" -m ath11k -c board-2.json -o board-2.bin
}

do_install() {
    install -d ${D}${FW_QCOM_PATH}

    install -m 0444 ./08-dspso/dspso.bin ${D}${FW_QCOM_PATH}

    install -m 0444 ./30-slpi_split/slpi.mbn  ${D}${FW_QCOM_PATH}/
    install -m 0444 ./39-jsn/slpi*.jsn  ${D}${FW_QCOM_PATH}/

    install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
    install -m 0444 ${S}/board-2.bin ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board-2.bin

    install -d ${D}${sysconfdir}/
    install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}

inherit update-alternatives

ALTERNATIVE:${PN} = "qca6390-board2"
ALTERNATIVE_LINK_NAME[qca6390-board2] = "/lib/firmware/ath11k/QCA6390/hw2.0/board-2.bin"
ALTERNATIVE_PRIORITY = "100"

SPLIT_FIRMWARE_PACKAGES = " \
    ${PN}-dspso \
    linux-firmware-qcom-${FW_QCOM_NAME}-sensors \
"