[PATCH] arm64: dts: qcom: monaco: reserve firmware carve-outs

From: Tyler Baker

Date: Sat Oct 24 2026 - 21:10:04 EST


monaco.dtsi does not reserve the DDR carve-outs used by firmware at
runtime.

The downstream UEFI hides these from the OS. U-Boot as the EFI firmware
[0] builds its memory map from the SMEM DDR banks, which do not list
them, so it hands them to Linux as RAM, and the first write to one of
those pages takes an SError.

Reserve them as no-map, at the base and size the QCS8300 boot binaries
use, as lemans.dtsi does.

Link: https://lore.kernel.org/r/20260928-monaco-ventuno-q-v2-0-0e046c8242be@xxxxxxxxxxxxxxxx [0]
Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxxxxxxxx>
---
Tested on the Arduino VENTUNO Q with U-Boot as the EFI firmware and
with the downstream UEFI, which already withholds these regions.
---
arch/arm64/boot/dts/qcom/monaco.dtsi | 55 ++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index 35fbee63d4c65..43e1954b563b9 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -729,6 +729,11 @@ reserved-memory {
#size-cells = <2>;
ranges;

+ sail_ss_mem: sail-ss-region@80000000 {
+ reg = <0x0 0x80000000 0x0 0x10000000>;
+ no-map;
+ };
+
aop_image_mem: aop-image-region@90800000 {
reg = <0x0 0x90800000 0x0 0x60000>;
no-map;
@@ -740,6 +745,11 @@ aop_cmd_db_mem: aop-cmd-db-region@90860000 {
no-map;
};

+ ddr_training_checksum_mem: ddr-training-checksum-region@908c0000 {
+ reg = <0x0 0x908c0000 0x0 0x1000>;
+ no-map;
+ };
+
smem_mem: smem@90900000 {
compatible = "qcom,smem";
reg = <0x0 0x90900000 0x0 0x200000>;
@@ -747,6 +757,21 @@ smem_mem: smem@90900000 {
hwlocks = <&tcsr_mutex 3>;
};

+ tz_sail_mailbox_mem: tz-sail-mailbox-region@90c00000 {
+ reg = <0x0 0x90c00000 0x0 0x100000>;
+ no-map;
+ };
+
+ sail_mailbox_mem: sail-mailbox-region@90d00000 {
+ reg = <0x0 0x90d00000 0x0 0x100000>;
+ no-map;
+ };
+
+ sail_ota_mem: sail-ota-region@90e00000 {
+ reg = <0x0 0x90e00000 0x0 0x300000>;
+ no-map;
+ };
+
gunyah_md_mem: gunyah-md-region@91a80000 {
reg = <0x0 0x91a80000 0x0 0x80000>;
no-map;
@@ -811,6 +836,36 @@ video_mem: video-region@9be82000 {
reg = <0x0 0x9be82000 0x0 0x700000>;
no-map;
};
+
+ tags_mem: tags-region@d0100000 {
+ reg = <0x0 0xd0100000 0x0 0x1200000>;
+ no-map;
+ };
+
+ qtee_mem: qtee-region@d1300000 {
+ reg = <0x0 0xd1300000 0x0 0x500000>;
+ no-map;
+ };
+
+ deepsleep_backup_mem: deepsleep-backup-region@d1800000 {
+ reg = <0x0 0xd1800000 0x0 0x100000>;
+ no-map;
+ };
+
+ trusted_apps_mem: trusted-apps-region@d1900000 {
+ reg = <0x0 0xd1900000 0x0 0x1a00000>;
+ no-map;
+ };
+
+ tz_stat_mem: tz-stat-region@db100000 {
+ reg = <0x0 0xdb100000 0x0 0x100000>;
+ no-map;
+ };
+
+ cpucp_fw_mem: cpucp-fw-region@db200000 {
+ reg = <0x0 0xdb200000 0x0 0x100000>;
+ no-map;
+ };
};

smp2p-adsp {

---
base-commit: 20a33c6b6cbe7e4805dfb6cd68816937443aa148
change-id: 20261024-monaco-fw-carveouts-36335a6f76c8

Best regards,
--
Tyler Baker <tyler.baker@xxxxxxxxxxxxxxxx>