Skip to content

Commit a91a98a

Browse files
authored
Add support for QCS615-adp-air machine (#913)
Enable QCS615 support, include: 1. dts patches for kernel 2. partition conf for qcs615 3. firmware recipe to take care deploy boot non-hlos. 4. machine conf 5. github CI enablement for qcs615
2 parents 69d9482 + 78372e6 commit a91a98a

File tree

10 files changed

+188
-0
lines changed

10 files changed

+188
-0
lines changed

.github/workflows/build-yocto.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ jobs:
8989
matrix:
9090
machine:
9191
- qcm6490-idp
92+
- qcs615-adp-air
9293
- qcs6490-rb3gen2-core-kit
9394
- qcs8300-ride-sx
9495
- qcs9075-iq-9075-evk

ci/qcs615-adp-air.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json
2+
3+
header:
4+
version: 14
5+
includes:
6+
- ci/base.yml
7+
8+
machine: qcs615-adp-air
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Configuration and variables for QCS615 family.
2+
3+
SOC_FAMILY = "qcs615"
4+
require conf/machine/include/qcom-base.inc
5+
require conf/machine/include/qcom-common.inc
6+
7+
DEFAULTTUNE = "armv8-2a-crypto"
8+
require conf/machine/include/arm/arch-armv8-2a.inc
9+
10+
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
11+
packagegroup-qcom-boot-essential \
12+
"
13+
14+
MACHINE_EXTRA_RRECOMMENDS += " \
15+
packagegroup-qcom-boot-additional \
16+
"
17+
18+
EXTRA_IMAGEDEPENDS += "firmware-qcom-boot-qcs615"

conf/machine/qcs615-adp-air.conf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#@TYPE: Machine
2+
#@NAME: Qualcomm QCS615 ADP Air Beta Evaluation Kit (EVK)
3+
#@DESCRIPTION: Machine configuration for Qualcomm ADP Air Beta Evaluation Kit (EVK), with QCS615.
4+
5+
require conf/machine/include/qcom-qcs615.inc
6+
7+
MACHINE_FEATURES += "efi pci"
8+
9+
QCOM_DTB_DEFAULT ?= "qcs615-ride"
10+
11+
KERNEL_DEVICETREE ?= " \
12+
qcom/qcs615-ride.dtb \
13+
"
14+
15+
QCOM_BOOT_FILES_SUBDIR = "qcs615"
16+
QCOM_PARTITION_CONF = "qcom-partition-conf-qcs615-adp-air"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
DESCRIPTION = "QCOM NHLOS Firmware for Qualcomm QCS615 platform"
2+
LICENSE = "Proprietary"
3+
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BOOTBINARIES}/Qualcomm-Technologies-Inc.-Proprietary;md5=58d50a3d36f27f1a1e6089308a49b403"
4+
5+
FW_ARTIFACTORY = "softwarecenter.qualcomm.com/download/software/chip/qualcomm_linux-spf-1-0/qualcomm-linux-spf-1-0_test_device_public"
6+
FW_BUILD_ID = "r1.0_${PV}/qcs615-le-1-0"
7+
FW_BIN_PATH = "common/build/common/bin"
8+
BOOTBINARIES = "QCS615_bootbinaries"
9+
10+
SRC_URI = " \
11+
https://${FW_ARTIFACTORY}/${FW_BUILD_ID}/${FW_BIN_PATH}/${BOOTBINARIES}.zip;downloadfilename=${BOOTBINARIES}_r1.0_${PV}.zip;name=bootbinaries \
12+
"
13+
14+
QCOM_BOOT_IMG_SUBDIR = "qcs615"
15+
16+
include firmware-qcom-boot-common.inc
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
require firmware-qcom-boot-qcs615.inc
2+
3+
SRC_URI[bootbinaries.sha256sum] = "c9b0332873feda447b32491dcbbc96255c3cf88da1868d89ac5113b01cb42f75"
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
2+
# SPDX-License-Identifier: BSD-3-Clause-Clear
3+
4+
# select disk type emmc | nand | ufs Mandatory
5+
# disk size in bytes Mandatory
6+
# options if not explicitly provide
7+
8+
--disk --type=emmc --size=76841669632 --write-protect-boundary=65536 --sector-size-in-bytes=512 --grow-last-partition
9+
10+
# per partition entry
11+
# mandatory options:
12+
# --lun (mandatory for UFS, emmc no need this)
13+
# --name
14+
# --size in bytes
15+
# --type-guid
16+
# optional options: (defaults used if not provided)
17+
# --attributes 1000000000000004
18+
# --filename ""
19+
# --readonly true
20+
# --sparse false
21+
22+
# This is LUN 0 - HLOS LUN"
23+
--partition --name=xbl_a --size=3584KB --type-guid=DEA0BA2C-CBDD-4805-B4F9-F428251C3E98 --filename=xbl.elf
24+
--partition --name=xbl_config_a --size=512KB --type-guid=5A325AE4-4276-B66D-0ADD-3494DF27706A --filename=xbl_config.elf
25+
--partition --name=xbl_b --size=3584KB --type-guid=DEA0BA2C-CBDD-4805-B4F9-F428251C3E98
26+
--partition --name=xbl_config_b --size=512KB --type-guid=A4CDBB5A-5A73-436E-B129-689EC01DBFE3
27+
--partition --name=ddr --size=1024KB --type-guid=20A0C19C-286A-42FA-9CE7-F64C3226A794
28+
--partition --name=aop_a --size=512KB --type-guid=D69E90A5-4CAB-0071-F6DF-AB977F141A7F --filename=aop.mbn
29+
--partition --name=tz_a --size=4096KB --type-guid=A053AA7F-40B8-4B1C-BA08-2F68AC71A4F4 --filename=tz.mbn
30+
--partition --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
31+
--partition --name=mdtpsecapp_a --size=4096KB --type-guid=EA02D680-8712-4552-A3BE-E6087829C1E6
32+
--partition --name=mdtp_a --size=32768KB --type-guid=3878408A-E263-4B67-B878-6340B35B11E3
33+
--partition --name=keymaster_a --size=512KB --type-guid=A11D2A7C-D82A-4C2F-8A01-1805240E6626 --filename=keymint.mbn
34+
--partition --name=secs2d_a --size=64KB --type-guid=5f435fe2-5707-4fed-9719-853c2aa6d23c --filename=secs2d.mbn
35+
--partition --name=cmnlib_a --size=512KB --type-guid=73471795-AB54-43F9-A847-4F72EA5CBEF5
36+
--partition --name=cmnlib64_a --size=512KB --type-guid=8EA64893-1267-4A1B-947C-7C362ACAAD2C
37+
--partition --name=devcfg_a --size=128KB --type-guid=F65D4B16-343D-4E25-AAFC-BE99B6556A6D --filename=devcfg_iot.mbn
38+
--partition --name=qupfw_a --size=64KB --type-guid=21D1219F-2ED1-4AB4-930A-41A16AE75F7F --filename=qupv3fw.elf
39+
--partition --name=uefisecapp_a --size=2048KB --type-guid=BE8A7E08-1B7A-4CAE-993A-D5B7FB55B3C2 --filename=uefi_sec.mbn
40+
--partition --name=dtb_a --size=65536KB --type-guid=2A1A52FC-AA0B-401C-A808-5EA0F91068F8 --filename=dtb.bin
41+
--partition --name=apdp_a --size=256KB --type-guid=E6E98DA2-E22A-4D12-AB33-169E7DEAA507
42+
--partition --name=devinfo --size=4KB --type-guid=65ADDCF4-0C5C-4D9A-AC2D-D90B5CBFCD03
43+
--partition --name=dip --size=1024KB --type-guid=4114B077-005D-4E12-AC8C-B493BDA684FB
44+
--partition --name=spunvm --size=8192KB --type-guid=E42E2B4C-33B0-429B-B1EF-D341C547022C
45+
--partition --name=splash --size=33424KB --type-guid=AD99F201-DC71-4E30-9630-E19EEF553D1B
46+
--partition --name=limits --size=4KB --type-guid=10A0C19C-516A-5444-5CE3-664C3226A794
47+
--partition --name=toolsfv --size=1024KB --type-guid=97745ABA-135A-44C3-9ADC-05616173C24C
48+
--partition --name=logfs --size=8192KB --type-guid=BC0330EB-3410-4951-A617-03898DBE3372
49+
--partition --name=cateloader --size=2048KB --type-guid=AA9A5C4C-4F1F-7D3A-014A-22BD33BF7191
50+
--partition --name=rawdump --size=131072KB --type-guid=66C9B323-F7FC-48B6-BF96-6F32E335A428
51+
--partition --name=emac --size=512KB --type-guid=E7E5EFF9-D224-4EB3-8F0B-1D2A4BE18665
52+
--partition --name=logdump --size=65536KB --type-guid=5AF80809-AABB-4943-9168-CDFC38742598
53+
--partition --name=storsec --size=128KB --type-guid=02DB45FE-AD1B-4CB6-AECC-0042C637DEFA
54+
--partition --name=multiimgoem --size=32KB --type-guid=E126A436-757E-42D0-8D19-0F362F7A62B8
55+
--partition --name=multiimgqti --size=32KB --type-guid=846C6F05-EB46-4C0A-A1A3-3648EF3F9D0E
56+
--partition --name=uefivarstore --size=512KB --type-guid=165BD6BC-9250-4AC8-95A7-A93F4A440066
57+
--partition --name=secdata --size=25KB --type-guid=76CFC7EF-039D-4E2C-B81E-4DD8C2CB2A93
58+
--partition --name=aop_b --size=512KB --type-guid=B8B27C4C-4B5B-8AB2-502F-A792B590A896 --filename=aop.mbn
59+
--partition --name=tz_b --size=4096KB --type-guid=C832EA16-8B0D-4398-A67B-EBB30EF98E7E --filename=tz.mbn
60+
--partition --name=dtb_b --size=65536KB --type-guid=A166F11A-2B39-4FAA-B7E7-F8AA080D0587 --filename=dtb.bin
61+
--partition --name=hyp_b --size=8192KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
62+
--partition --name=keymaster_b --size=512KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34
63+
--partition --name=devcfg_b --size=128KB --type-guid=4E820A31-17E3-447D-B32D-FB339F7EA1A2
64+
--partition --name=qupfw_b --size=64KB --type-guid=04BA8D53-5091-4958-9CA1-0FE0941D2CBC
65+
--partition --name=uefisecapp_b --size=2048KB --type-guid=538CBDBA-D4A4-4438-A466-D7B356FAC165 --filename=uefi_sec.mbn
66+
--partition --name=apdp_b --size=256KB --type-guid=110F198D-8174-4193-9AF1-5DA94CDC59C9
67+
--partition --name=secs2d_b --size=64KB --type-guid=5f435fe2-5707-4fed-9719-853c2aa6d23c --filename=secs2d.mbn
68+
--partition --name=cmnlib_b --size=512KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34
69+
--partition --name=cmnlib64_b --size=512KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34
70+
--partition --name=uefi_a --size=5120KB --type-guid=400FFDCD-22E0-47E7-9A23-F16ED9382388 --filename=uefi.elf
71+
--partition --name=uefi_b --size=5120KB --type-guid=9F234B5B-0EFB-4313-8E4C-0AF1F605536B --filename=uefi.elf
72+
--partition --name=xbl_ramdump_a --size=2048KB --type-guid=0382F197-E41F-4E84-B18B-0B564AEAD875 --filename=XblRamdump.elf
73+
--partition --name=xbl_ramdump_b --size=2048KB --type-guid=C3E58B09-ABCB-42EA-9F0C-3FA453FA892E
74+
--partition --name=core_nhlos_a --size=174080KB --type-guid=6690b4ce-70e9-4817-b9f1-25d64d888357
75+
--partition --name=core_nhlos_b --size=174080KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34
76+
--partition --name=quantumfv --size=512KB --type-guid=80c23c26-c3f9-4a19-bb38-1e457daceb09
77+
--partition --name=SYSFW_VERSION --size=4KB --type-guid=3C44F88B-1878-4C29-B122-EE78766442A7
78+
--partition --name=efi --size=524288KB --type-guid=C12A7328-F81F-11D2-BA4B-00A0C93EC93B --filename=efi.bin
79+
--partition --name=persist --size=131072KB --type-guid=0FC63DAF-8483-4772-8E79-3D69D8477DE4
80+
--partition --name=rootfs --size=16777216KB --type-guid=B921B045-1DF0-41C3-AF44-4C6F280D3FAE --filename=rootfs.img
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
MACHINE_DESC = "Qualcomm QCS615 ADP AIR"
2+
3+
PARTCONF = "qcs615-partitions.conf"
4+
5+
QCOM_PARTCONF_SUBDIR = "qcs615"
6+
7+
include qcom-partition-conf.inc

recipes-kernel/linux/linux-yocto-dev.bbappend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ SRC_URI:append:qcom = " \
4242
file://qcs9075-board-dts/0003-arm64-dts-qcom-qcs9075-Introduce-QCS9075M-SOM.patch \
4343
file://qcs9075-board-dts/0004-arm64-dts-qcom-Add-support-for-qcs9075-IQ-9075-EVK.patch \
4444
file://qcs9075-board-dts/0001-arm64-dts-qcom-qcs9075-iq-9075-evk-enable-UFS.patch \
45+
file://qcs615-board-dts/0001-arm64-dts-qcom-qcs615-Add-Command-DB-support.patch \
4546
"
4647

4748
# Include additional kernel configs.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
From 63b53fc23be01c7b34690f7dded0c144ae4412ac Mon Sep 17 00:00:00 2001
2+
From: Lijuan Gao <[email protected]>
3+
Date: Thu, 27 Mar 2025 15:29:49 +0800
4+
Subject: [PATCH 1/3] arm64: dts: qcom: qcs615: Add Command DB support
5+
6+
Command DB is a database in the shared memory of QCOM SoCs, that
7+
provides a mapping between resource key and the resource address for a
8+
system resource managed by a remote processor. The data is stored in a
9+
shared memory region and is loaded by the remote processor. Therefore,
10+
enabling Command DB ensures that those resources function properly.
11+
12+
Signed-off-by: Lijuan Gao <[email protected]>
13+
Signed-off-by: Bjorn Andersson <[email protected]>
14+
Upstream-Status: Backport [https://lore.kernel.org/r/[email protected]]
15+
---
16+
arch/arm64/boot/dts/qcom/qcs615.dtsi | 6 ++++++
17+
1 file changed, 6 insertions(+)
18+
19+
diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi
20+
index 3e9922e69536..4a96202aea99 100644
21+
--- a/arch/arm64/boot/dts/qcom/qcs615.dtsi
22+
+++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi
23+
@@ -417,6 +417,12 @@ reserved-memory {
24+
#size-cells = <2>;
25+
ranges;
26+
27+
+ aop_cmd_db_mem: aop-cmd-db@85f20000 {
28+
+ compatible = "qcom,cmd-db";
29+
+ reg = <0x0 0x85f20000 0x0 0x20000>;
30+
+ no-map;
31+
+ };
32+
+
33+
smem_region: smem@86000000 {
34+
compatible = "qcom,smem";
35+
reg = <0x0 0x86000000 0x0 0x200000>;
36+
--
37+
2.34.1
38+

0 commit comments

Comments
 (0)