aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Stephan Gerhold <stephan@gerhold.net> 2023-09-11 19:41:48 +0200
committerGravatar Bjorn Andersson <andersson@kernel.org> 2023-09-20 09:27:45 -0700
commitb22bef3dbc3a67a796f82f49a6df9e413211cb40 (patch)
treecbed9e89ed3ccca03b533d22810d3c79a4c2f1b9
parentarm64: dts: qcom: msm8916: Reserve MBA memory dynamically (diff)
downloadlinux-b22bef3dbc3a67a796f82f49a6df9e413211cb40.tar.gz
linux-b22bef3dbc3a67a796f82f49a6df9e413211cb40.tar.bz2
linux-b22bef3dbc3a67a796f82f49a6df9e413211cb40.zip
arm64: dts: qcom: msm8939: Reserve firmware memory dynamically
Follow the example of MSM8916 and reserve the firmware memory regions dynamically to allow boards to define only the device-specific parts. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20230911-msm8916-rmem-v1-6-b7089ec3e3a1@gerhold.net Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--arch/arm64/boot/dts/qcom/msm8939.dtsi28
1 files changed, 22 insertions, 6 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi
index b0a64e468629..ebea6de1177b 100644
--- a/arch/arm64/boot/dts/qcom/msm8939.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi
@@ -346,22 +346,38 @@
};
mpss_mem: mpss@86800000 {
+ /*
+ * The memory region for the mpss firmware is generally
+ * relocatable and could be allocated dynamically.
+ * However, many firmware versions tend to fail when
+ * loaded to some special addresses, so it is hard to
+ * define reliable alloc-ranges.
+ *
+ * alignment = <0x0 0x400000>;
+ * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
+ */
reg = <0x0 0x86800000 0x0 0x5500000>;
no-map;
};
- wcnss_mem: wcnss@8bd00000 {
- reg = <0x0 0x8bd00000 0x0 0x600000>;
+ wcnss_mem: wcnss {
+ size = <0x0 0x600000>;
+ alignment = <0x0 0x100000>;
+ alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
};
- venus_mem: venus@8c300000 {
- reg = <0x0 0x8c300000 0x0 0x800000>;
+ venus_mem: venus {
+ size = <0x0 0x800000>;
+ alignment = <0x0 0x100000>;
+ alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
};
- mba_mem: mba@8cb00000 {
- reg = <0x0 0x8cb00000 0x0 0x100000>;
+ mba_mem: mba {
+ size = <0x0 0x100000>;
+ alignment = <0x0 0x100000>;
+ alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
no-map;
};
};