aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuman Anna2018-02-22 11:38:23 -0600
committerSuman Anna2019-03-04 10:02:39 -0600
commitfb756be57b8c1c9cd06f5152a5635d101794d1a5 (patch)
treec71ede195d58088669bd00c429120e8b2dc38527 /arch/arm/boot
parentb4a2b39f3b58c89096545ea77aafb078adfdf463 (diff)
downloadremoteproc-fb756be57b8c1c9cd06f5152a5635d101794d1a5.tar.gz
remoteproc-fb756be57b8c1c9cd06f5152a5635d101794d1a5.tar.xz
remoteproc-fb756be57b8c1c9cd06f5152a5635d101794d1a5.zip
ARM: dts: am572x-idk-common: Add CMA pools and enable IPU & DSP rprocs
The CMA reserved memory nodes have been added for all the IPU and DSP remoteproc devices in the am572x-idk-common.dtsi file that is common to both the AM572x and AM574x IDK boards. These nodes are assigned to the respective rproc device nodes, and all the IPU and DSP remote processors are enabled. The current CMA pools and sizes are defined statically for each device. The addresses chosen are the same as the respective processors on the AM57xx EVM board to maintain firmware compatibility between the two boards. The CMA pools and sizes are defined using 64-bit values to support LPAE. The starting addresses are fixed to meet current dependencies on the remote processor firmwares, and this will go away when the remote-side code has been improved to gather this information runtime during its initialization. An associated pair of the rproc node and its CMA node can be disabled later on if there is no use-case defined to use that remote processor. Signed-off-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/am572x-idk-common.dtsi54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/am572x-idk-common.dtsi b/arch/arm/boot/dts/am572x-idk-common.dtsi
index fe9718fdabcc..ab893f496458 100644
--- a/arch/arm/boot/dts/am572x-idk-common.dtsi
+++ b/arch/arm/boot/dts/am572x-idk-common.dtsi
@@ -14,6 +14,40 @@
14 reg = <0x0 0x80000000 0x0 0x80000000>; 14 reg = <0x0 0x80000000 0x0 0x80000000>;
15 }; 15 };
16 16
17 reserved-memory {
18 #address-cells = <2>;
19 #size-cells = <2>;
20 ranges;
21
22 ipu2_memory_region: ipu2-memory@95800000 {
23 compatible = "shared-dma-pool";
24 reg = <0x0 0x95800000 0x0 0x3800000>;
25 reusable;
26 status = "okay";
27 };
28
29 dsp1_memory_region: dsp1-memory@99000000 {
30 compatible = "shared-dma-pool";
31 reg = <0x0 0x99000000 0x0 0x4000000>;
32 reusable;
33 status = "okay";
34 };
35
36 ipu1_memory_region: ipu1-memory@9d000000 {
37 compatible = "shared-dma-pool";
38 reg = <0x0 0x9d000000 0x0 0x2000000>;
39 reusable;
40 status = "okay";
41 };
42
43 dsp2_memory_region: dsp2-memory@9f000000 {
44 compatible = "shared-dma-pool";
45 reg = <0x0 0x9f000000 0x0 0x800000>;
46 reusable;
47 status = "okay";
48 };
49 };
50
17 status-leds { 51 status-leds {
18 compatible = "gpio-leds"; 52 compatible = "gpio-leds";
19 cpu0-led { 53 cpu0-led {
@@ -75,3 +109,23 @@
75&pcie1_ep { 109&pcie1_ep {
76 gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; 110 gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
77}; 111};
112
113&ipu2 {
114 status = "okay";
115 memory-region = <&ipu2_memory_region>;
116};
117
118&ipu1 {
119 status = "okay";
120 memory-region = <&ipu1_memory_region>;
121};
122
123&dsp1 {
124 status = "okay";
125 memory-region = <&dsp1_memory_region>;
126};
127
128&dsp2 {
129 status = "okay";
130 memory-region = <&dsp2_memory_region>;
131};