summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
diff options
context:
space:
mode:
authorRichard Zhu <hongxing.zhu@nxp.com>2018-04-25 10:42:40 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:31:42 +0800
commit5c3c491f39b3db5840f1d48e46ec265945a36f72 (patch)
tree4401459bc9650f539cd9142482350fda58f32daa /arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
parentb3fdd7e1120b5c8b5104dd8fd0b8bef295861cc9 (diff)
MLK-18239 ARM64: dts: imx8qxp: change the rpmsg reserved memory region
In order to enlarge the CMA easily, change the rpmsg reserved memory region from 0xb800_0000 to 0x9000_0000. And refine the layout of the reserved memory. - RPMSG buffers are allocated from CMA dynamically, and have to be accessed by M4 side. But M4 can only access the 1.5Gbytes DDR memory from 0x8000_0000. So, the finial reserved memory layout is just like the one below. Thus, the largest size of the DDR memory left for CMA, is about 1212Mbytes in theory, since 32Mbytes alignment is required by CMA allocation. reserved-memory layout 0x8000_0000 ~ 0x83FF_FFFF A core + Linux Kernel(64M) 0x8400_0000 ~ 0x85FF_FFFF VPU encoder boot(32M) 0x8600_0000 ~ 0x87FF_FFFF VPU decoder boot(32M) 0x8800_0000 ~ 0x8FFF_FFFF M4 + RTOS(128M) 0x9000_0000 ~ 0x903F_FFFF RPMSG Vring(4M) 0x9040_0000 ~ 0x913F_FFFF VPU decoder rpc(16M) 0x9140_0000 ~ 0x923F_FFFF VPU encoder rpc(16M) 0x9240_0000 ~ 0x943F_FFFF DSP(32M) 0x9440_0000 ~ 0xDFFF_FFFF(MAX) CMA(1212M)(MAX) Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi44
1 files changed, 25 insertions, 19 deletions
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
index 7d9bc6c91e80..e9268d710088 100644
--- a/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp.dtsi
@@ -69,38 +69,44 @@
#size-cells = <2>;
ranges;
- dsp_reserved: dsp@0x8e000000 {
+ /*
+ * reserved-memory layout
+ * 0x8800_0000 ~ 0x8FFF_FFFF is reserved for M4
+ * Shouldn't be used at A core and Linux side.
+ *
+ */
+ decoder_boot: decoder_boot@0x84000000 {
+ no-map;
+ reg = <0 0x84000000 0 0x2000000>;
+ };
+ encoder_boot: encoder_boot@0x86000000 {
+ no-map;
+ reg = <0 0x86000000 0 0x2000000>;
+ };
+ rpmsg_reserved: rpmsg@0x90000000 {
+ no-map;
+ reg = <0 0x90000000 0 0x400000>;
+ };
+ decoder_rpc: decoder_rpc@0x90400000 {
no-map;
- reg = <0 0x8e000000 0 0x1ffffff>;
+ reg = <0 0x90400000 0 0x1000000>;
};
- decoder_boot: decoder_boot@0x88000000 {
+ encoder_rpc: encoder_rpc@0x91400000 {
no-map;
- reg = <0 0x88000000 0 0x2000000>;
+ reg = <0 0x91400000 0 0x1000000>;
};
- encoder_boot: encoder_boot@0x8A000000 {
+ dsp_reserved: dsp@0x92400000 {
no-map;
- reg = <0 0x8A000000 0 0x2000000>;
+ reg = <0 0x92400000 0 0x2000000>;
};
/* global autoconfigured region for contiguous allocations */
linux,cma {
compatible = "shared-dma-pool";
reusable;
size = <0 0x28000000>;
- alloc-ranges = <0 0x90000000 0 0x28000000>;
+ alloc-ranges = <0 0x96000000 0 0x28000000>;
linux,cma-default;
};
- rpmsg_reserved: rpmsg@0xb8000000 {
- no-map;
- reg = <0 0xb8000000 0 0x400000>;
- };
- decoder_rpc: decoder_rpc@0xB9000000 {
- no-map;
- reg = <0 0xB9000000 0 0x1000000>;
- };
- encoder_rpc: encoder_rpc@0xBA000000 {
- no-map;
- reg = <0 0xBA000000 0 0x1000000>;
- };
};
gic: interrupt-controller@51a00000 {