Skip to content

Commit 1810853

Browse files
committed
[QPG] Fix CI checks
* Bump ot-qorvo * Fix paths in zap files * Remove persistent-storage example from qpg action * Sync light.matter with light.zap * Update qpg_sdk repo submodule * Remove shell example from qpg action * Fix missing argument declaration and assignment * Restyled by gn
1 parent 21a88c7 commit 1810853

File tree

19 files changed

+84
-54
lines changed

19 files changed

+84
-54
lines changed

.github/workflows/examples-qpg.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ jobs:
6363
--enable-flashbundle \
6464
--target qpg-qpg6105-lock \
6565
--target qpg-qpg6105-light \
66-
--target qpg-qpg6105-shell \
67-
--target qpg-qpg6105-persistent-storage \
6866
--target qpg-qpg6105-light-switch \
6967
--target qpg-qpg6105-thermostat \
7068
build \

config/qpg/chip-gn/build.sh

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ env
2323
GN_ROOT_TARGET=$(dirname "$0")
2424
CHIP_ROOT=$GN_ROOT_TARGET/../../../
2525
OUTDIR=$CHIP_ROOT/out
26+
GN_ARGS="qpg_target_ic=\"qpg6105\" qpg_flavour=\"_ext_flash\""
2627

2728
mkdir -p "$OUTDIR"
2829
gn \
@@ -33,6 +34,7 @@ gn \
3334
--export-compile-commands \
3435
gen \
3536
--check \
37+
--args="$GN_ARGS" \
3638
--fail-on-unused-args \
3739
"$OUTDIR"
3840
ninja -C "$OUTDIR"

examples/light-switch-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ qpg_executable("light_switch_app") {
137137
}
138138
}
139139

140-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
140+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
141141

142142
inputs = [ ldscript ]
143143

examples/light-switch-app/qpg/zap/switch.zap

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@
1818
],
1919
"package": [
2020
{
21-
"pathRelativity": "resolveEnvVars",
22-
"path": "$CHIP_ROOT/src/app/zap-templates/zcl/zcl.json",
21+
"pathRelativity": "relativeToZap",
22+
"path": "../../../../src/app/zap-templates/zcl/zcl.json",
2323
"type": "zcl-properties",
2424
"category": "matter",
2525
"version": 1,
2626
"description": "Matter SDK ZCL data"
2727
},
2828
{
29-
"pathRelativity": "resolveEnvVars",
30-
"path": "$CHIP_ROOT/src/app/zap-templates/app-templates.json",
29+
"pathRelativity": "relativeToZap",
30+
"path": "../../../../src/app/zap-templates/app-templates.json",
3131
"type": "gen-templates-json",
3232
"version": "chip-v1"
3333
}

examples/lighting-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ qpg_executable("lighting_app") {
140140
}
141141
}
142142

143-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
143+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
144144

145145
inputs = [ ldscript ]
146146

examples/lighting-app/qpg/zap/light.matter

+4-4
Original file line numberDiff line numberDiff line change
@@ -2346,11 +2346,11 @@ endpoint 1 {
23462346
}
23472347

23482348
server cluster ColorControl {
2349-
ram attribute currentHue default = 0x00;
2350-
ram attribute currentSaturation default = 0x00;
2349+
persist attribute currentHue default = 0x00;
2350+
persist attribute currentSaturation default = 0x00;
23512351
ram attribute remainingTime default = 0x0000;
2352-
persist attribute currentX default = 0x616B;
2353-
persist attribute currentY default = 0x607D;
2352+
ram attribute currentX default = 0x616B;
2353+
ram attribute currentY default = 0x607D;
23542354
ram attribute colorTemperatureMireds default = 0x00FA;
23552355
ram attribute colorMode default = 0x01;
23562356
ram attribute options default = 0x00;

examples/lock-app/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ qpg_executable("lock_app") {
138138
}
139139
}
140140

141-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
141+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
142142

143143
inputs = [ ldscript ]
144144

examples/persistent-storage/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ qpg_executable("persistent_storage_app") {
5858

5959
output_dir = root_out_dir
6060

61-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
61+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
6262

6363
inputs = [ ldscript ]
6464

examples/shell/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ qpg_executable("shell_app") {
6666

6767
defines = []
6868

69-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
69+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
7070

7171
inputs = [ ldscript ]
7272

examples/thermostat/qpg/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ qpg_executable("thermostat") {
136136
}
137137
}
138138

139-
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}/QorvoStack_${qpg_target_ic}.ld"
139+
ldscript = "${qpg_sdk_root}/Libraries/Qorvo/QorvoStack/gen/QorvoStack_${qpg_target_ic}${qpg_flavour}/QorvoStack_${qpg_target_ic}${qpg_flavour}.ld"
140140

141141
inputs = [ ldscript ]
142142

examples/thermostat/qpg/zap/thermostaticRadiatorValve.zap

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@
1818
],
1919
"package": [
2020
{
21-
"pathRelativity": "resolveEnvVars",
22-
"path": "$CHIP_ROOT/src/app/zap-templates/zcl/zcl.json",
21+
"pathRelativity": "relativeToZap",
22+
"path": "../../../../src/app/zap-templates/zcl/zcl.json",
2323
"type": "zcl-properties",
2424
"category": "matter",
2525
"version": 1,
2626
"description": "Matter SDK ZCL data"
2727
},
2828
{
29-
"pathRelativity": "resolveEnvVars",
30-
"path": "$CHIP_ROOT/src/app/zap-templates/app-templates.json",
29+
"pathRelativity": "relativeToZap",
30+
"path": "../../../../src/app/zap-templates/app-templates.json",
3131
"type": "gen-templates-json",
3232
"version": "chip-v1"
3333
}

scripts/build/builders/qpg.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -88,25 +88,37 @@ def GnArgName(self):
8888
raise Exception('Unknown board #: %r' % self)
8989

9090

91+
class QpgFlavour(Enum):
92+
EXT_FLASH = 1
93+
94+
def GnFlavourName(self):
95+
if self == QpgFlavour.EXT_FLASH:
96+
return '_ext_flash'
97+
else:
98+
raise Exception('Unknown flavour #: %r' % self)
99+
100+
91101
class QpgBuilder(GnBuilder):
92102

93103
def __init__(self,
94104
root,
95105
runner,
96106
app: QpgApp = QpgApp.LIGHT,
97107
board: QpgBoard = QpgBoard.QPG6105,
108+
flavour: QpgFlavour = QpgFlavour.EXT_FLASH,
98109
enable_rpcs: bool = False,
99110
update_image: bool = False):
100111
super(QpgBuilder, self).__init__(
101112
root=app.BuildRoot(root),
102113
runner=runner)
103114
self.app = app
104115
self.board = board
116+
self.flavour = flavour
105117
self.enable_rpcs = enable_rpcs
106118
self.update_image = update_image
107119

108120
def GnBuildArgs(self):
109-
args = ['qpg_target_ic=\"%s\"' % self.board.GnArgName()]
121+
args = ['qpg_target_ic=\"%s\" qpg_flavour=\"%s\"' % (self.board.GnArgName(), self.flavour.GnFlavourName())]
110122
if self.enable_rpcs:
111123
args.append('import("//with_pw_rpc.gni")')
112124
if self.update_image:

src/platform/qpg/args.gni

-7
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,6 @@ lwip_debug = false
4242
chip_build_tests = false
4343

4444
openthread_external_mbedtls = mbedtls_target
45-
openthread_project_core_config_file =
46-
"openthread-core-${qpg_target_ic}-config.h"
47-
openthread_core_config_platform_check_file =
48-
"openthread-core-${qpg_target_ic}-config-check.h"
49-
openthread_core_config_deps = [
50-
"${chip_root}/third_party/openthread/platforms/qpg:libopenthread-qpg-config",
51-
]
5245

5346
openthread_external_platform =
5447
"${chip_root}/third_party/openthread/platforms/qpg:libopenthread-qpg"

third_party/openthread/ot-qorvo

Submodule ot-qorvo updated 91 files

third_party/openthread/platforms/qpg/BUILD.gn

+1-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ source_set("openthread_core_config_qpg") {
4646
}
4747

4848
source_set("openthread_mbedtls_config_qpg") {
49-
sources = [ # "${openthread_qpg_root}/third_party/Qorvo/repo/${openthread_qpg_family}/inc/${openthread_qpg_family}-mbedtls-config.h",
50-
"${qpg_sdk_build_root}/repo/Libraries/Qorvo/mbedtls_alt/inc/${openthread_qpg_family}-mbedtls-config.h" ]
49+
sources = [ "${qpg_sdk_build_root}/repo/Libraries/Qorvo/mbedtls_alt/inc/${openthread_qpg_family}-mbedtls-config.h" ] # "${openthread_qpg_root}/third_party/Qorvo/repo/${openthread_qpg_family}/inc/${openthread_qpg_family}-mbedtls-config.h",
5150
}
5251

5352
source_set("libopenthread-qpg") {

third_party/qpg_sdk/BUILD.gn

+15-12
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,10 @@ static_library("qpg_mbedtls_alt_lib") {
102102

103103
qpg_make_build("qpg_stack") {
104104
make_sources = [ "${qpg_sdk_root}/Components/Qorvo" ]
105-
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/QorvoStack/libQorvoStack_${qpg_target_ic}.a" ]
105+
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/QorvoStack/libQorvoStack_${qpg_target_ic}${qpg_flavour}.a" ]
106106
make_args = [
107107
"-f",
108-
rebase_path(qpg_sdk_root, root_build_dir) +
109-
"/Libraries/Qorvo/QorvoStack/Makefile.QorvoStack_${qpg_target_ic}",
108+
rebase_path(qpg_sdk_root, root_build_dir) + "/Libraries/Qorvo/QorvoStack/Makefile.QorvoStack_${qpg_target_ic}${qpg_flavour}",
110109
"FREERTOS_REPO_DIR=" + rebase_path(chip_root, root_build_dir) +
111110
"/third_party/freertos/repo",
112111
"WORKDIR=" + rebase_path(target_gen_dir, root_build_dir) +
@@ -116,15 +115,15 @@ qpg_make_build("qpg_stack") {
116115

117116
static_library("qpg_stack_lib") {
118117
deps = [ "${chip_root}/third_party/qpg_sdk:qpg_stack" ]
119-
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/QorvoStack/libQorvoStack_${qpg_target_ic}.a" ]
118+
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/QorvoStack/libQorvoStack_${qpg_target_ic}${qpg_flavour}.a" ]
120119
}
121120

122121
qpg_make_build("qpg_glue") {
123122
make_sources = [ "${qpg_sdk_root}/Components/Qorvo/Matter" ]
124-
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/MatterQorvoGlue/libMatterQorvoGlue_${qpg_target_ic}_libbuild.a" ]
123+
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/MatterQorvoGlue/libMatterQorvoGlue_${qpg_target_ic}${qpg_flavour}_libbuild.a" ]
125124
make_args = [
126125
"-f",
127-
rebase_path(qpg_sdk_root, root_build_dir) + "/Libraries/Qorvo/MatterQorvoGlue/Makefile.MatterQorvoGlue_${qpg_target_ic}_libbuild",
126+
rebase_path(qpg_sdk_root, root_build_dir) + "/Libraries/Qorvo/MatterQorvoGlue/Makefile.MatterQorvoGlue_${qpg_target_ic}${qpg_flavour}_libbuild",
128127
"FREERTOS_REPO_DIR=" + rebase_path(chip_root, root_build_dir) +
129128
"/third_party/freertos/repo",
130129
"WORKDIR=" + rebase_path(target_gen_dir, root_build_dir) +
@@ -133,24 +132,28 @@ qpg_make_build("qpg_glue") {
133132
}
134133
static_library("qpg_glue_lib") {
135134
deps = [ "${chip_root}/third_party/qpg_sdk:qpg_glue" ]
136-
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/MatterQorvoGlue/libMatterQorvoGlue_${qpg_target_ic}_libbuild.a" ]
135+
if (qpg_target_ic == "qpg6105") {
136+
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/MatterQorvoGlue/libMatterQorvoGlue_${qpg_target_ic}${qpg_flavour}_libbuild.a" ]
137+
} else {
138+
assert(false, "QPG target not specified")
139+
}
137140
}
138141

139142
# openthread toevoegen
140143
# bootloader build
141144
#
142145
qpg_make_build("qpg_bootloader") {
143146
make_sources = [ "${qpg_sdk_root}/Libraries/Qorvo/Bootloader" ]
144-
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/Bootloader_${qpg_target_ic}_compr_secure/libBootloader_${qpg_target_ic}_compr_secure.a" ]
147+
make_output = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/BootloaderSections_${qpg_target_ic}_compr_secure/libBootloaderSections_${qpg_target_ic}_compr_secure.a" ]
145148
make_args = [
146149
"-f",
147-
rebase_path(qpg_sdk_root, root_build_dir) + "/Libraries/Qorvo/Bootloader/Makefile.Bootloader_${qpg_target_ic}_compr_secure",
150+
rebase_path(qpg_sdk_root, root_build_dir) + "/Libraries/Qorvo/Bootloader/Makefile.BootloaderSections_${qpg_target_ic}_compr_secure",
148151
"FREERTOS_REPO_DIR=" + rebase_path(chip_root, root_build_dir) +
149152
"/third_party/freertos/repo",
150153
"WORKDIR=" + rebase_path(target_gen_dir, root_build_dir) +
151-
"/${qpg_sdk_lib_dir}/Bootloader_${qpg_target_ic}_compr_secure",
154+
"/${qpg_sdk_lib_dir}/BootloaderSections_${qpg_target_ic}_compr_secure",
152155
"UMB_WORKDIR=" + rebase_path(target_gen_dir, root_build_dir) +
153-
"/${qpg_sdk_lib_dir}/UMB_${qpg_target_board}_nrt_flash_compr_secure",
156+
"/${qpg_sdk_lib_dir}/Bootloader_QPG6105DK_B01_nrt_flash_compr_secure",
154157
]
155158
}
156159
config("qpg_retain_bootloader") {
@@ -163,7 +166,7 @@ config("qpg_retain_bootloader") {
163166

164167
static_library("qpg_bootloader_lib") {
165168
deps = [ "${chip_root}/third_party/qpg_sdk:qpg_bootloader" ]
166-
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/Bootloader_${qpg_target_ic}_compr_secure/libBootloader_${qpg_target_ic}_compr_secure.a" ]
169+
libs = [ "${target_gen_dir}/${qpg_sdk_lib_dir}/BootloaderSections_${qpg_target_ic}_compr_secure/libBootloaderSections_${qpg_target_ic}_compr_secure.a" ]
167170
public_configs = [ ":qpg_retain_bootloader" ]
168171
}
169172

third_party/qpg_sdk/qpg_platform.gni

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2020 Project CHIP Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import("//build_overrides/chip.gni")
16+
import("${chip_root}/src/crypto/crypto.gni")
17+
18+
declare_args() {
19+
# QPG chip
20+
qpg_target_ic = "unset"
21+
qpg_flavour = ""
22+
mbedtls_alt_enabled = true
23+
}
24+
25+
if (qpg_target_ic == "qpg6105") {
26+
mbedtls_alt_enabled = true
27+
arm_float_abi = "soft"
28+
arm_arch = "armv7e-m"
29+
} else {
30+
assert(qpg_target_ic != "", "qpg_target_ic must be specified")
31+
}

third_party/qpg_sdk/qpg_sdk.gni

+2-10
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import("//build_overrides/chip.gni")
1616
import("//build_overrides/jlink.gni")
1717
import("//build_overrides/openthread.gni")
1818
import("//build_overrides/qpg_sdk.gni")
19+
import("qpg_platform.gni")
1920

2021
declare_args() {
2122
# Location of the QPG SDK.
@@ -24,21 +25,12 @@ declare_args() {
2425
# subdirectory in qpg_sdk_root where the binary library builds (.a) are to be found
2526
qpg_sdk_lib_dir = "Work"
2627

27-
# Target IC for QPG SDK
28-
qpg_target_ic = "qpg6105"
29-
30-
# Target board for QPG SDK
31-
qpg_target_board = "QPG6105DK_B01"
32-
3328
# an option to disable referencing qorvo object archive files (*.a)
3429
qpg_sdk_include_platform_libs = true
3530

3631
# Enable Sleepy end device
3732
enable_sleepy_device = false
3833

39-
# Enable mbedtls HW acceleration
40-
mbedtls_alt_enabled = true
41-
4234
# OTA parameters
4335
matter_device_vid = ""
4436
matter_device_pid = ""
@@ -107,7 +99,7 @@ template("qpg_sdk") {
10799
if (matter_ota_test_image) {
108100
defines += [ "OTA_TEST_IMAGE" ]
109101
}
110-
102+
111103
if (qpg_target_ic == "qpg6200") {
112104
defines += [ "QPG_6200" ]
113105
} else {

third_party/qpg_sdk/repo

Submodule repo updated 185 files

0 commit comments

Comments
 (0)