Add a config fragment for the Arduino VENTUNO Q (QCS8275, Monaco) with TF-A and OP-TEE, to be combined with qcom_defconfig and tfa-optee.config. It selects the board device tree and moves the boot to the first Cortex-A55 (MPIDR 0x10000) with BOOT0_QCOM_BOOT_CPU.
SMEM describes all of DDR, including memory the Qualcomm boot firmware keeps for itself. Add a /memory node to the board -u-boot.dtsi that leaves those regions out, as qcs8300-ride-u-boot.dtsi does: the SAIL safety island memory, the XBL DDR training checksum, the SAIL mailboxes and OTA area, the pIMEM vault and DBI dump, the TZ statistics region and the CPUCP firmware. Writes to the TZ statistics region raise an asynchronous external abort; a memtest=1 boot with this map tests all memory Linux gets without errors. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tyler Baker <[email protected]> --- arch/arm/dts/monaco-arduino-monza-u-boot.dtsi | 27 +++++++++++++++++++++++++++ board/qualcomm/arduino-ventuno-q.config | 6 ++++++ 2 files changed, 33 insertions(+) diff --git a/arch/arm/dts/monaco-arduino-monza-u-boot.dtsi b/arch/arm/dts/monaco-arduino-monza-u-boot.dtsi new file mode 100644 index 0000000000..7a4b58e3f2 --- /dev/null +++ b/arch/arm/dts/monaco-arduino-monza-u-boot.dtsi @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/ { + /* + * SMEM describes all of DDR. The banks below leave out what the + * Qualcomm boot firmware keeps for itself: + * 0x80000000 SAIL safety island memory + * 0x908c0000 XBL DDR training checksum + * 0x90c00000 SAIL mailboxes and SAIL OTA + * 0xd0100000 pIMEM vault (tags, secure OS, TAs) and DBI dump + * 0xdb100000 TZ statistics (access-controlled; writes abort) + * 0xdb200000 CPUCP firmware + */ + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x90000000 0x0 0x008c0000>, + <0x0 0x908c1000 0x0 0x0033f000>, + <0x0 0x91100000 0x0 0x3f000000>, + <0x0 0xd4400000 0x0 0x06d00000>, + <0x0 0xdb300000 0x0 0x24d00000>, + <0xa 0x00000000 0x2 0x00000000>, + <0xe 0x00000000 0x1 0x80000000>; + }; +}; diff --git a/board/qualcomm/arduino-ventuno-q.config b/board/qualcomm/arduino-ventuno-q.config new file mode 100644 index 0000000000..24c07e4162 --- /dev/null +++ b/board/qualcomm/arduino-ventuno-q.config @@ -0,0 +1,6 @@ +# Arduino VENTUNO Q (QCS8275, Monaco) as BL33 of TF-A and OP-TEE; combine +# with qcom_defconfig and tfa-optee.config. +CONFIG_DEFAULT_DEVICE_TREE="qcom/monaco-arduino-monza" +CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y +CONFIG_BOOT0_QCOM_BOOT_CPU=y +CONFIG_QCOM_BOOT_CPU_MPIDR=0x10000 -- 2.47.3
