aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot/dts
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2007-09-28 15:06:16 -0400
committerKumar Gala <galak@kernel.crashing.org>2007-10-04 16:47:05 -0400
commit15f8c604a79c4840ed76eecf3af5d88b7c1dee9e (patch)
treed86815bc2daf835fee081ee7dac92cef8784f6a3 /arch/powerpc/boot/dts
parent3c5df5c26ed17828760945d59653a2e22e3fb63f (diff)
[POWERPC] cpm: Describe multi-user ram in its own device node.
The way the current CPM binding describes available multi-user (a.k.a. dual-ported) RAM doesn't work well when there are multiple free regions, and it doesn't work at all if the region doesn't begin at the start of the muram area (as the hardware needs to be programmed with offsets into this area). The latter situation can happen with SMC UARTs on CPM2, as its parameter RAM is relocatable, u-boot puts it at zero, and the kernel doesn't support moving it. It is now described with a muram node, similar to QE. The current CPM binding is sufficiently recent (i.e. never appeared in an official release) that compatibility with existing device trees is not an issue. The code supporting the new binding is shared between cpm1 and cpm2, rather than remain separated. QE should be able to use this code as well, once minor fixes are made to its device trees. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/boot/dts')
-rw-r--r--arch/powerpc/boot/dts/ep88xc.dts13
-rw-r--r--arch/powerpc/boot/dts/mpc8272ads.dts11
-rw-r--r--arch/powerpc/boot/dts/mpc885ads.dts13
-rw-r--r--arch/powerpc/boot/dts/pq2fads.dts13
4 files changed, 47 insertions, 3 deletions
diff --git a/arch/powerpc/boot/dts/ep88xc.dts b/arch/powerpc/boot/dts/ep88xc.dts
index 0406fc50b2af..02705f299790 100644
--- a/arch/powerpc/boot/dts/ep88xc.dts
+++ b/arch/powerpc/boot/dts/ep88xc.dts
@@ -142,9 +142,20 @@
142 command-proc = <9c0>; 142 command-proc = <9c0>;
143 interrupts = <0>; // cpm error interrupt 143 interrupts = <0>; // cpm error interrupt
144 interrupt-parent = <&CPM_PIC>; 144 interrupt-parent = <&CPM_PIC>;
145 reg = <9c0 40 2000 1c00>; 145 reg = <9c0 40>;
146 ranges; 146 ranges;
147 147
148 muram@2000 {
149 #address-cells = <1>;
150 #size-cells = <1>;
151 ranges = <0 2000 2000>;
152
153 data@0 {
154 compatible = "fsl,cpm-muram-data";
155 reg = <0 1c00>;
156 };
157 };
158
148 brg@9f0 { 159 brg@9f0 {
149 compatible = "fsl,mpc885-brg", 160 compatible = "fsl,mpc885-brg",
150 "fsl,cpm1-brg", 161 "fsl,cpm1-brg",
diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts b/arch/powerpc/boot/dts/mpc8272ads.dts
index 3fe991d4cb03..188179df0845 100644
--- a/arch/powerpc/boot/dts/mpc8272ads.dts
+++ b/arch/powerpc/boot/dts/mpc8272ads.dts
@@ -124,6 +124,17 @@
124 reg = <119c0 30 0 2000>; 124 reg = <119c0 30 0 2000>;
125 ranges; 125 ranges;
126 126
127 muram@0 {
128 #address-cells = <1>;
129 #size-cells = <1>;
130 ranges = <0 0 10000>;
131
132 data@0 {
133 compatible = "fsl,cpm-muram-data";
134 reg = <0 2000 9800 800>;
135 };
136 };
137
127 brg@119f0 { 138 brg@119f0 {
128 compatible = "fsl,mpc8272-brg", 139 compatible = "fsl,mpc8272-brg",
129 "fsl,cpm2-brg", 140 "fsl,cpm2-brg",
diff --git a/arch/powerpc/boot/dts/mpc885ads.dts b/arch/powerpc/boot/dts/mpc885ads.dts
index cbcd16f74c45..8848e637293e 100644
--- a/arch/powerpc/boot/dts/mpc885ads.dts
+++ b/arch/powerpc/boot/dts/mpc885ads.dts
@@ -148,9 +148,20 @@
148 command-proc = <9c0>; 148 command-proc = <9c0>;
149 interrupts = <0>; // cpm error interrupt 149 interrupts = <0>; // cpm error interrupt
150 interrupt-parent = <&CPM_PIC>; 150 interrupt-parent = <&CPM_PIC>;
151 reg = <9c0 40 2000 1c00>; 151 reg = <9c0 40>;
152 ranges; 152 ranges;
153 153
154 muram@2000 {
155 #address-cells = <1>;
156 #size-cells = <1>;
157 ranges = <0 2000 2000>;
158
159 data@0 {
160 compatible = "fsl,cpm-muram-data";
161 reg = <0 1c00>;
162 };
163 };
164
154 brg@9f0 { 165 brg@9f0 {
155 compatible = "fsl,mpc885-brg", 166 compatible = "fsl,mpc885-brg",
156 "fsl,cpm1-brg", 167 "fsl,cpm1-brg",
diff --git a/arch/powerpc/boot/dts/pq2fads.dts b/arch/powerpc/boot/dts/pq2fads.dts
index 54e8bd1ae22f..2d564921897a 100644
--- a/arch/powerpc/boot/dts/pq2fads.dts
+++ b/arch/powerpc/boot/dts/pq2fads.dts
@@ -119,9 +119,20 @@
119 #size-cells = <1>; 119 #size-cells = <1>;
120 #interrupt-cells = <2>; 120 #interrupt-cells = <2>;
121 compatible = "fsl,mpc8280-cpm", "fsl,cpm2"; 121 compatible = "fsl,mpc8280-cpm", "fsl,cpm2";
122 reg = <119c0 30 0 2000>; 122 reg = <119c0 30>;
123 ranges; 123 ranges;
124 124
125 muram@0 {
126 #address-cells = <1>;
127 #size-cells = <1>;
128 ranges = <0 0 10000>;
129
130 data@0 {
131 compatible = "fsl,cpm-muram-data";
132 reg = <0 2000 9800 800>;
133 };
134 };
135
125 brg@119f0 { 136 brg@119f0 {
126 compatible = "fsl,mpc8280-brg", 137 compatible = "fsl,mpc8280-brg",
127 "fsl,cpm2-brg", 138 "fsl,cpm2-brg",