[PATCH v1 1/2] arm64: dts: qcom: qcs6490-rb3gen2: add audio CMA memory region for AudioReach
From: Karthik S
Date: Tue Aug 25 2026 - 09:44:07 EST
Add a dynamic CMA pool for the AudioReach audio stack on qcs6490-rb3gen2.
Use alloc-ranges to let the kernel pick a free address rather than a fixed
reg, which avoided EFI-reserved memory at 0x9cc00000. Add 4 MiB alignment
to satisfy CMA_MIN_ALIGNMENT_BYTES. Wire memory-region into q6apmdai so
the q6apm-audio-mem-cma child driver can attach the pool.
Based on the equivalent implementation for lemans (SA8295P).
Signed-off-by: Karthik S <karthik.s@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi | 1 +
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi b/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
index c1867711298b..06f65ae8afbc 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi
@@ -97,6 +97,7 @@ q6apm: service@1 {
q6apmdai: dais {
compatible = "qcom,q6apm-dais";
iommus = <&apps_smmu 0x1801 0x0>;
+ memory-region = <&audio_cma_mem>;
};
q6apmbedai: bedais {
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index a13315bf0fb0..d39246f34172 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -174,6 +174,14 @@ rmtfs_mem: memory@f8500000 {
qcom,client-id = <1>;
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
};
+
+ audio_cma_mem: qcom,audio-ml {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x1000000>;
+ };
};
gpio-keys {
--
2.34.1