aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2007-02-17 17:32:46 -0500
committerKumar Gala <galak@kernel.crashing.org>2007-02-17 17:32:46 -0500
commit56d7b794026e00a3c4608bb10ed99dd1e5b9fc22 (patch)
treeb33a8d8f168bfd0e223dabd0e1a81e81a7975e83 /arch/powerpc
parentffd84881711a4cc98018cd540167c1ba2212bc0d (diff)
parent23f510bcd3a886a8a0b04ad0528006f5c309fcb8 (diff)
Merge branch '85xx' into for_paulus
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/boot/dts/mpc8540ads.dts142
-rw-r--r--arch/powerpc/boot/dts/mpc8541cds.dts108
-rw-r--r--arch/powerpc/boot/dts/mpc8548cds.dts129
-rw-r--r--arch/powerpc/boot/dts/mpc8555cds.dts108
-rw-r--r--arch/powerpc/boot/dts/mpc8560ads.dts157
-rw-r--r--arch/powerpc/boot/dts/mpc8568mds.dts96
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig32
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig8
-rw-r--r--arch/powerpc/platforms/85xx/Makefile2
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_ads.c7
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_cds.c8
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_mds.c (renamed from arch/powerpc/platforms/85xx/mpc8568_mds.c)45
12 files changed, 386 insertions, 456 deletions
diff --git a/arch/powerpc/boot/dts/mpc8540ads.dts b/arch/powerpc/boot/dts/mpc8540ads.dts
index 5f41c1f7a5f3..3c0917fa791c 100644
--- a/arch/powerpc/boot/dts/mpc8540ads.dts
+++ b/arch/powerpc/boot/dts/mpc8540ads.dts
@@ -12,16 +12,14 @@
12 12
13/ { 13/ {
14 model = "MPC8540ADS"; 14 model = "MPC8540ADS";
15 compatible = "MPC85xxADS"; 15 compatible = "MPC8540ADS", "MPC85xxADS";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 linux,phandle = <100>;
19 18
20 cpus { 19 cpus {
21 #cpus = <1>; 20 #cpus = <1>;
22 #address-cells = <1>; 21 #address-cells = <1>;
23 #size-cells = <0>; 22 #size-cells = <0>;
24 linux,phandle = <200>;
25 23
26 PowerPC,8540@0 { 24 PowerPC,8540@0 {
27 device_type = "cpu"; 25 device_type = "cpu";
@@ -34,13 +32,11 @@
34 bus-frequency = <0>; // 166 MHz 32 bus-frequency = <0>; // 166 MHz
35 clock-frequency = <0>; // 825 MHz, from uboot 33 clock-frequency = <0>; // 825 MHz, from uboot
36 32-bit; 34 32-bit;
37 linux,phandle = <201>;
38 }; 35 };
39 }; 36 };
40 37
41 memory { 38 memory {
42 device_type = "memory"; 39 device_type = "memory";
43 linux,phandle = <300>;
44 reg = <00000000 08000000>; // 128M at 0x0 40 reg = <00000000 08000000>; // 128M at 0x0
45 }; 41 };
46 42
@@ -58,7 +54,7 @@
58 compatible = "fsl-i2c"; 54 compatible = "fsl-i2c";
59 reg = <3000 100>; 55 reg = <3000 100>;
60 interrupts = <1b 2>; 56 interrupts = <1b 2>;
61 interrupt-parent = <40000>; 57 interrupt-parent = <&mpic>;
62 dfsrr; 58 dfsrr;
63 }; 59 };
64 60
@@ -68,24 +64,20 @@
68 device_type = "mdio"; 64 device_type = "mdio";
69 compatible = "gianfar"; 65 compatible = "gianfar";
70 reg = <24520 20>; 66 reg = <24520 20>;
71 linux,phandle = <24520>; 67 phy0: ethernet-phy@0 {
72 ethernet-phy@0 { 68 interrupt-parent = <&mpic>;
73 linux,phandle = <2452000>;
74 interrupt-parent = <40000>;
75 interrupts = <35 1>; 69 interrupts = <35 1>;
76 reg = <0>; 70 reg = <0>;
77 device_type = "ethernet-phy"; 71 device_type = "ethernet-phy";
78 }; 72 };
79 ethernet-phy@1 { 73 phy1: ethernet-phy@1 {
80 linux,phandle = <2452001>; 74 interrupt-parent = <&mpic>;
81 interrupt-parent = <40000>;
82 interrupts = <35 1>; 75 interrupts = <35 1>;
83 reg = <1>; 76 reg = <1>;
84 device_type = "ethernet-phy"; 77 device_type = "ethernet-phy";
85 }; 78 };
86 ethernet-phy@3 { 79 phy3: ethernet-phy@3 {
87 linux,phandle = <2452003>; 80 interrupt-parent = <&mpic>;
88 interrupt-parent = <40000>;
89 interrupts = <37 1>; 81 interrupts = <37 1>;
90 reg = <3>; 82 reg = <3>;
91 device_type = "ethernet-phy"; 83 device_type = "ethernet-phy";
@@ -102,8 +94,8 @@
102 address = [ 00 E0 0C 00 73 00 ]; 94 address = [ 00 E0 0C 00 73 00 ];
103 local-mac-address = [ 00 E0 0C 00 73 00 ]; 95 local-mac-address = [ 00 E0 0C 00 73 00 ];
104 interrupts = <d 2 e 2 12 2>; 96 interrupts = <d 2 e 2 12 2>;
105 interrupt-parent = <40000>; 97 interrupt-parent = <&mpic>;
106 phy-handle = <2452000>; 98 phy-handle = <&phy0>;
107 }; 99 };
108 100
109 ethernet@25000 { 101 ethernet@25000 {
@@ -116,8 +108,8 @@
116 address = [ 00 E0 0C 00 73 01 ]; 108 address = [ 00 E0 0C 00 73 01 ];
117 local-mac-address = [ 00 E0 0C 00 73 01 ]; 109 local-mac-address = [ 00 E0 0C 00 73 01 ];
118 interrupts = <13 2 14 2 18 2>; 110 interrupts = <13 2 14 2 18 2>;
119 interrupt-parent = <40000>; 111 interrupt-parent = <&mpic>;
120 phy-handle = <2452001>; 112 phy-handle = <&phy1>;
121 }; 113 };
122 114
123 ethernet@26000 { 115 ethernet@26000 {
@@ -130,8 +122,8 @@
130 address = [ 00 E0 0C 00 73 02 ]; 122 address = [ 00 E0 0C 00 73 02 ];
131 local-mac-address = [ 00 E0 0C 00 73 02 ]; 123 local-mac-address = [ 00 E0 0C 00 73 02 ];
132 interrupts = <19 2>; 124 interrupts = <19 2>;
133 interrupt-parent = <40000>; 125 interrupt-parent = <&mpic>;
134 phy-handle = <2452003>; 126 phy-handle = <&phy3>;
135 }; 127 };
136 128
137 serial@4500 { 129 serial@4500 {
@@ -140,7 +132,7 @@
140 reg = <4500 100>; // reg base, size 132 reg = <4500 100>; // reg base, size
141 clock-frequency = <0>; // should we fill in in uboot? 133 clock-frequency = <0>; // should we fill in in uboot?
142 interrupts = <1a 2>; 134 interrupts = <1a 2>;
143 interrupt-parent = <40000>; 135 interrupt-parent = <&mpic>;
144 }; 136 };
145 137
146 serial@4600 { 138 serial@4600 {
@@ -149,85 +141,84 @@
149 reg = <4600 100>; // reg base, size 141 reg = <4600 100>; // reg base, size
150 clock-frequency = <0>; // should we fill in in uboot? 142 clock-frequency = <0>; // should we fill in in uboot?
151 interrupts = <1a 2>; 143 interrupts = <1a 2>;
152 interrupt-parent = <40000>; 144 interrupt-parent = <&mpic>;
153 }; 145 };
154 pci@8000 { 146 pci@8000 {
155 linux,phandle = <8000>;
156 interrupt-map-mask = <f800 0 0 7>; 147 interrupt-map-mask = <f800 0 0 7>;
157 interrupt-map = < 148 interrupt-map = <
158 149
159 /* IDSEL 0x02 */ 150 /* IDSEL 0x02 */
160 1000 0 0 1 40000 31 1 151 1000 0 0 1 &mpic 31 1
161 1000 0 0 2 40000 32 1 152 1000 0 0 2 &mpic 32 1
162 1000 0 0 3 40000 33 1 153 1000 0 0 3 &mpic 33 1
163 1000 0 0 4 40000 34 1 154 1000 0 0 4 &mpic 34 1
164 155
165 /* IDSEL 0x03 */ 156 /* IDSEL 0x03 */
166 1800 0 0 1 40000 34 1 157 1800 0 0 1 &mpic 34 1
167 1800 0 0 2 40000 31 1 158 1800 0 0 2 &mpic 31 1
168 1800 0 0 3 40000 32 1 159 1800 0 0 3 &mpic 32 1
169 1800 0 0 4 40000 33 1 160 1800 0 0 4 &mpic 33 1
170 161
171 /* IDSEL 0x04 */ 162 /* IDSEL 0x04 */
172 2000 0 0 1 40000 33 1 163 2000 0 0 1 &mpic 33 1
173 2000 0 0 2 40000 34 1 164 2000 0 0 2 &mpic 34 1
174 2000 0 0 3 40000 31 1 165 2000 0 0 3 &mpic 31 1
175 2000 0 0 4 40000 32 1 166 2000 0 0 4 &mpic 32 1
176 167
177 /* IDSEL 0x05 */ 168 /* IDSEL 0x05 */
178 2800 0 0 1 40000 32 1 169 2800 0 0 1 &mpic 32 1
179 2800 0 0 2 40000 33 1 170 2800 0 0 2 &mpic 33 1
180 2800 0 0 3 40000 34 1 171 2800 0 0 3 &mpic 34 1
181 2800 0 0 4 40000 31 1 172 2800 0 0 4 &mpic 31 1
182 173
183 /* IDSEL 0x0c */ 174 /* IDSEL 0x0c */
184 6000 0 0 1 40000 31 1 175 6000 0 0 1 &mpic 31 1
185 6000 0 0 2 40000 32 1 176 6000 0 0 2 &mpic 32 1
186 6000 0 0 3 40000 33 1 177 6000 0 0 3 &mpic 33 1
187 6000 0 0 4 40000 34 1 178 6000 0 0 4 &mpic 34 1
188 179
189 /* IDSEL 0x0d */ 180 /* IDSEL 0x0d */
190 6800 0 0 1 40000 34 1 181 6800 0 0 1 &mpic 34 1
191 6800 0 0 2 40000 31 1 182 6800 0 0 2 &mpic 31 1
192 6800 0 0 3 40000 32 1 183 6800 0 0 3 &mpic 32 1
193 6800 0 0 4 40000 33 1 184 6800 0 0 4 &mpic 33 1
194 185
195 /* IDSEL 0x0e */ 186 /* IDSEL 0x0e */
196 7000 0 0 1 40000 33 1 187 7000 0 0 1 &mpic 33 1
197 7000 0 0 2 40000 34 1 188 7000 0 0 2 &mpic 34 1
198 7000 0 0 3 40000 31 1 189 7000 0 0 3 &mpic 31 1
199 7000 0 0 4 40000 32 1 190 7000 0 0 4 &mpic 32 1
200 191
201 /* IDSEL 0x0f */ 192 /* IDSEL 0x0f */
202 7800 0 0 1 40000 32 1 193 7800 0 0 1 &mpic 32 1
203 7800 0 0 2 40000 33 1 194 7800 0 0 2 &mpic 33 1
204 7800 0 0 3 40000 34 1 195 7800 0 0 3 &mpic 34 1
205 7800 0 0 4 40000 31 1 196 7800 0 0 4 &mpic 31 1
206 197
207 /* IDSEL 0x12 */ 198 /* IDSEL 0x12 */
208 9000 0 0 1 40000 31 1 199 9000 0 0 1 &mpic 31 1
209 9000 0 0 2 40000 32 1 200 9000 0 0 2 &mpic 32 1
210 9000 0 0 3 40000 33 1 201 9000 0 0 3 &mpic 33 1
211 9000 0 0 4 40000 34 1 202 9000 0 0 4 &mpic 34 1
212 203
213 /* IDSEL 0x13 */ 204 /* IDSEL 0x13 */
214 9800 0 0 1 40000 34 1 205 9800 0 0 1 &mpic 34 1
215 9800 0 0 2 40000 31 1 206 9800 0 0 2 &mpic 31 1
216 9800 0 0 3 40000 32 1 207 9800 0 0 3 &mpic 32 1
217 9800 0 0 4 40000 33 1 208 9800 0 0 4 &mpic 33 1
218 209
219 /* IDSEL 0x14 */ 210 /* IDSEL 0x14 */
220 a000 0 0 1 40000 33 1 211 a000 0 0 1 &mpic 33 1
221 a000 0 0 2 40000 34 1 212 a000 0 0 2 &mpic 34 1
222 a000 0 0 3 40000 31 1 213 a000 0 0 3 &mpic 31 1
223 a000 0 0 4 40000 32 1 214 a000 0 0 4 &mpic 32 1
224 215
225 /* IDSEL 0x15 */ 216 /* IDSEL 0x15 */
226 a800 0 0 1 40000 32 1 217 a800 0 0 1 &mpic 32 1
227 a800 0 0 2 40000 33 1 218 a800 0 0 2 &mpic 33 1
228 a800 0 0 3 40000 34 1 219 a800 0 0 3 &mpic 34 1
229 a800 0 0 4 40000 31 1>; 220 a800 0 0 4 &mpic 31 1>;
230 interrupt-parent = <40000>; 221 interrupt-parent = <&mpic>;
231 interrupts = <08 2>; 222 interrupts = <08 2>;
232 bus-range = <0 0>; 223 bus-range = <0 0>;
233 ranges = <02000000 0 80000000 80000000 0 20000000 224 ranges = <02000000 0 80000000 80000000 0 20000000
@@ -241,8 +232,7 @@
241 device_type = "pci"; 232 device_type = "pci";
242 }; 233 };
243 234
244 pic@40000 { 235 mpic: pic@40000 {
245 linux,phandle = <40000>;
246 clock-frequency = <0>; 236 clock-frequency = <0>;
247 interrupt-controller; 237 interrupt-controller;
248 #address-cells = <0>; 238 #address-cells = <0>;
diff --git a/arch/powerpc/boot/dts/mpc8541cds.dts b/arch/powerpc/boot/dts/mpc8541cds.dts
index 7be0bc659e1c..2a1ae760ab3a 100644
--- a/arch/powerpc/boot/dts/mpc8541cds.dts
+++ b/arch/powerpc/boot/dts/mpc8541cds.dts
@@ -12,16 +12,14 @@
12 12
13/ { 13/ {
14 model = "MPC8541CDS"; 14 model = "MPC8541CDS";
15 compatible = "MPC85xxCDS"; 15 compatible = "MPC8541CDS", "MPC85xxCDS";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 linux,phandle = <100>;
19 18
20 cpus { 19 cpus {
21 #cpus = <1>; 20 #cpus = <1>;
22 #address-cells = <1>; 21 #address-cells = <1>;
23 #size-cells = <0>; 22 #size-cells = <0>;
24 linux,phandle = <200>;
25 23
26 PowerPC,8541@0 { 24 PowerPC,8541@0 {
27 device_type = "cpu"; 25 device_type = "cpu";
@@ -34,13 +32,11 @@
34 bus-frequency = <0>; // 166 MHz 32 bus-frequency = <0>; // 166 MHz
35 clock-frequency = <0>; // 825 MHz, from uboot 33 clock-frequency = <0>; // 825 MHz, from uboot
36 32-bit; 34 32-bit;
37 linux,phandle = <201>;
38 }; 35 };
39 }; 36 };
40 37
41 memory { 38 memory {
42 device_type = "memory"; 39 device_type = "memory";
43 linux,phandle = <300>;
44 reg = <00000000 08000000>; // 128M at 0x0 40 reg = <00000000 08000000>; // 128M at 0x0
45 }; 41 };
46 42
@@ -58,7 +54,7 @@
58 compatible = "fsl-i2c"; 54 compatible = "fsl-i2c";
59 reg = <3000 100>; 55 reg = <3000 100>;
60 interrupts = <1b 2>; 56 interrupts = <1b 2>;
61 interrupt-parent = <40000>; 57 interrupt-parent = <&mpic>;
62 dfsrr; 58 dfsrr;
63 }; 59 };
64 60
@@ -68,17 +64,14 @@
68 device_type = "mdio"; 64 device_type = "mdio";
69 compatible = "gianfar"; 65 compatible = "gianfar";
70 reg = <24520 20>; 66 reg = <24520 20>;
71 linux,phandle = <24520>; 67 phy0: ethernet-phy@0 {
72 ethernet-phy@0 { 68 interrupt-parent = <&mpic>;
73 linux,phandle = <2452000>;
74 interrupt-parent = <40000>;
75 interrupts = <35 0>; 69 interrupts = <35 0>;
76 reg = <0>; 70 reg = <0>;
77 device_type = "ethernet-phy"; 71 device_type = "ethernet-phy";
78 }; 72 };
79 ethernet-phy@1 { 73 phy1: ethernet-phy@1 {
80 linux,phandle = <2452001>; 74 interrupt-parent = <&mpic>;
81 interrupt-parent = <40000>;
82 interrupts = <35 0>; 75 interrupts = <35 0>;
83 reg = <1>; 76 reg = <1>;
84 device_type = "ethernet-phy"; 77 device_type = "ethernet-phy";
@@ -94,8 +87,8 @@
94 reg = <24000 1000>; 87 reg = <24000 1000>;
95 local-mac-address = [ 00 E0 0C 00 73 00 ]; 88 local-mac-address = [ 00 E0 0C 00 73 00 ];
96 interrupts = <d 2 e 2 12 2>; 89 interrupts = <d 2 e 2 12 2>;
97 interrupt-parent = <40000>; 90 interrupt-parent = <&mpic>;
98 phy-handle = <2452000>; 91 phy-handle = <&phy0>;
99 }; 92 };
100 93
101 ethernet@25000 { 94 ethernet@25000 {
@@ -107,8 +100,8 @@
107 reg = <25000 1000>; 100 reg = <25000 1000>;
108 local-mac-address = [ 00 E0 0C 00 73 01 ]; 101 local-mac-address = [ 00 E0 0C 00 73 01 ];
109 interrupts = <13 2 14 2 18 2>; 102 interrupts = <13 2 14 2 18 2>;
110 interrupt-parent = <40000>; 103 interrupt-parent = <&mpic>;
111 phy-handle = <2452001>; 104 phy-handle = <&phy1>;
112 }; 105 };
113 106
114 serial@4500 { 107 serial@4500 {
@@ -117,7 +110,7 @@
117 reg = <4500 100>; // reg base, size 110 reg = <4500 100>; // reg base, size
118 clock-frequency = <0>; // should we fill in in uboot? 111 clock-frequency = <0>; // should we fill in in uboot?
119 interrupts = <1a 2>; 112 interrupts = <1a 2>;
120 interrupt-parent = <40000>; 113 interrupt-parent = <&mpic>;
121 }; 114 };
122 115
123 serial@4600 { 116 serial@4600 {
@@ -126,57 +119,56 @@
126 reg = <4600 100>; // reg base, size 119 reg = <4600 100>; // reg base, size
127 clock-frequency = <0>; // should we fill in in uboot? 120 clock-frequency = <0>; // should we fill in in uboot?
128 interrupts = <1a 2>; 121 interrupts = <1a 2>;
129 interrupt-parent = <40000>; 122 interrupt-parent = <&mpic>;
130 }; 123 };
131 124
132 pci@8000 { 125 pci1: pci@8000 {
133 linux,phandle = <8000>;
134 interrupt-map-mask = <1f800 0 0 7>; 126 interrupt-map-mask = <1f800 0 0 7>;
135 interrupt-map = < 127 interrupt-map = <
136 128
137 /* IDSEL 0x10 */ 129 /* IDSEL 0x10 */
138 08000 0 0 1 40000 30 1 130 08000 0 0 1 &mpic 30 1
139 08000 0 0 2 40000 31 1 131 08000 0 0 2 &mpic 31 1
140 08000 0 0 3 40000 32 1 132 08000 0 0 3 &mpic 32 1
141 08000 0 0 4 40000 33 1 133 08000 0 0 4 &mpic 33 1
142 134
143 /* IDSEL 0x11 */ 135 /* IDSEL 0x11 */
144 08800 0 0 1 40000 30 1 136 08800 0 0 1 &mpic 30 1
145 08800 0 0 2 40000 31 1 137 08800 0 0 2 &mpic 31 1
146 08800 0 0 3 40000 32 1 138 08800 0 0 3 &mpic 32 1
147 08800 0 0 4 40000 33 1 139 08800 0 0 4 &mpic 33 1
148 140
149 /* IDSEL 0x12 (Slot 1) */ 141 /* IDSEL 0x12 (Slot 1) */
150 09000 0 0 1 40000 30 1 142 09000 0 0 1 &mpic 30 1
151 09000 0 0 2 40000 31 1 143 09000 0 0 2 &mpic 31 1
152 09000 0 0 3 40000 32 1 144 09000 0 0 3 &mpic 32 1
153 09000 0 0 4 40000 33 1 145 09000 0 0 4 &mpic 33 1
154 146
155 /* IDSEL 0x13 (Slot 2) */ 147 /* IDSEL 0x13 (Slot 2) */
156 09800 0 0 1 40000 31 1 148 09800 0 0 1 &mpic 31 1
157 09800 0 0 2 40000 32 1 149 09800 0 0 2 &mpic 32 1
158 09800 0 0 3 40000 33 1 150 09800 0 0 3 &mpic 33 1
159 09800 0 0 4 40000 30 1 151 09800 0 0 4 &mpic 30 1
160 152
161 /* IDSEL 0x14 (Slot 3) */ 153 /* IDSEL 0x14 (Slot 3) */
162 0a000 0 0 1 40000 32 1 154 0a000 0 0 1 &mpic 32 1
163 0a000 0 0 2 40000 33 1 155 0a000 0 0 2 &mpic 33 1
164 0a000 0 0 3 40000 30 1 156 0a000 0 0 3 &mpic 30 1
165 0a000 0 0 4 40000 31 1 157 0a000 0 0 4 &mpic 31 1
166 158
167 /* IDSEL 0x15 (Slot 4) */ 159 /* IDSEL 0x15 (Slot 4) */
168 0a800 0 0 1 40000 33 1 160 0a800 0 0 1 &mpic 33 1
169 0a800 0 0 2 40000 30 1 161 0a800 0 0 2 &mpic 30 1
170 0a800 0 0 3 40000 31 1 162 0a800 0 0 3 &mpic 31 1
171 0a800 0 0 4 40000 32 1 163 0a800 0 0 4 &mpic 32 1
172 164
173 /* Bus 1 (Tundra Bridge) */ 165 /* Bus 1 (Tundra Bridge) */
174 /* IDSEL 0x12 (ISA bridge) */ 166 /* IDSEL 0x12 (ISA bridge) */
175 19000 0 0 1 40000 30 1 167 19000 0 0 1 &mpic 30 1
176 19000 0 0 2 40000 31 1 168 19000 0 0 2 &mpic 31 1
177 19000 0 0 3 40000 32 1 169 19000 0 0 3 &mpic 32 1
178 19000 0 0 4 40000 33 1>; 170 19000 0 0 4 &mpic 33 1>;
179 interrupt-parent = <40000>; 171 interrupt-parent = <&mpic>;
180 interrupts = <08 2>; 172 interrupts = <08 2>;
181 bus-range = <0 0>; 173 bus-range = <0 0>;
182 ranges = <02000000 0 80000000 80000000 0 20000000 174 ranges = <02000000 0 80000000 80000000 0 20000000
@@ -200,21 +192,20 @@
200 compatible = "chrp,iic"; 192 compatible = "chrp,iic";
201 big-endian; 193 big-endian;
202 interrupts = <1>; 194 interrupts = <1>;
203 interrupt-parent = <8000>; 195 interrupt-parent = <&pci1>;
204 }; 196 };
205 }; 197 };
206 198
207 pci@9000 { 199 pci@9000 {
208 linux,phandle = <9000>;
209 interrupt-map-mask = <f800 0 0 7>; 200 interrupt-map-mask = <f800 0 0 7>;
210 interrupt-map = < 201 interrupt-map = <
211 202
212 /* IDSEL 0x15 */ 203 /* IDSEL 0x15 */
213 a800 0 0 1 40000 3b 1 204 a800 0 0 1 &mpic 3b 1
214 a800 0 0 2 40000 3b 1 205 a800 0 0 2 &mpic 3b 1
215 a800 0 0 3 40000 3b 1 206 a800 0 0 3 &mpic 3b 1
216 a800 0 0 4 40000 3b 1>; 207 a800 0 0 4 &mpic 3b 1>;
217 interrupt-parent = <40000>; 208 interrupt-parent = <&mpic>;
218 interrupts = <09 2>; 209 interrupts = <09 2>;
219 bus-range = <0 0>; 210 bus-range = <0 0>;
220 ranges = <02000000 0 a0000000 a0000000 0 20000000 211 ranges = <02000000 0 a0000000 a0000000 0 20000000
@@ -228,8 +219,7 @@
228 device_type = "pci"; 219 device_type = "pci";
229 }; 220 };
230 221
231 pic@40000 { 222 mpic: pic@40000 {
232 linux,phandle = <40000>;
233 clock-frequency = <0>; 223 clock-frequency = <0>;
234 interrupt-controller; 224 interrupt-controller;
235 #address-cells = <0>; 225 #address-cells = <0>;
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts
index 893d7957c174..7eb5d81d5eec 100644
--- a/arch/powerpc/boot/dts/mpc8548cds.dts
+++ b/arch/powerpc/boot/dts/mpc8548cds.dts
@@ -12,16 +12,14 @@
12 12
13/ { 13/ {
14 model = "MPC8548CDS"; 14 model = "MPC8548CDS";
15 compatible = "MPC85xxCDS"; 15 compatible = "MPC8548CDS", "MPC85xxCDS";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 linux,phandle = <100>;
19 18
20 cpus { 19 cpus {
21 #cpus = <1>; 20 #cpus = <1>;
22 #address-cells = <1>; 21 #address-cells = <1>;
23 #size-cells = <0>; 22 #size-cells = <0>;
24 linux,phandle = <200>;
25 23
26 PowerPC,8548@0 { 24 PowerPC,8548@0 {
27 device_type = "cpu"; 25 device_type = "cpu";
@@ -34,13 +32,11 @@
34 bus-frequency = <0>; // 166 MHz 32 bus-frequency = <0>; // 166 MHz
35 clock-frequency = <0>; // 825 MHz, from uboot 33 clock-frequency = <0>; // 825 MHz, from uboot
36 32-bit; 34 32-bit;
37 linux,phandle = <201>;
38 }; 35 };
39 }; 36 };
40 37
41 memory { 38 memory {
42 device_type = "memory"; 39 device_type = "memory";
43 linux,phandle = <300>;
44 reg = <00000000 08000000>; // 128M at 0x0 40 reg = <00000000 08000000>; // 128M at 0x0
45 }; 41 };
46 42
@@ -58,7 +54,7 @@
58 compatible = "fsl-i2c"; 54 compatible = "fsl-i2c";
59 reg = <3000 100>; 55 reg = <3000 100>;
60 interrupts = <1b 2>; 56 interrupts = <1b 2>;
61 interrupt-parent = <40000>; 57 interrupt-parent = <&mpic>;
62 dfsrr; 58 dfsrr;
63 }; 59 };
64 60
@@ -68,32 +64,26 @@
68 device_type = "mdio"; 64 device_type = "mdio";
69 compatible = "gianfar"; 65 compatible = "gianfar";
70 reg = <24520 20>; 66 reg = <24520 20>;
71 linux,phandle = <24520>; 67 phy0: ethernet-phy@0 {
72 ethernet-phy@0 { 68 interrupt-parent = <&mpic>;
73 linux,phandle = <2452000>;
74 interrupt-parent = <40000>;
75 interrupts = <35 0>; 69 interrupts = <35 0>;
76 reg = <0>; 70 reg = <0>;
77 device_type = "ethernet-phy"; 71 device_type = "ethernet-phy";
78 }; 72 };
79 ethernet-phy@1 { 73 phy1: ethernet-phy@1 {
80 linux,phandle = <2452001>; 74 interrupt-parent = <&mpic>;
81 interrupt-parent = <40000>;
82 interrupts = <35 0>; 75 interrupts = <35 0>;
83 reg = <1>; 76 reg = <1>;
84 device_type = "ethernet-phy"; 77 device_type = "ethernet-phy";
85 }; 78 };
86 79 phy2: ethernet-phy@2 {
87 ethernet-phy@2 { 80 interrupt-parent = <&mpic>;
88 linux,phandle = <2452002>;
89 interrupt-parent = <40000>;
90 interrupts = <35 0>; 81 interrupts = <35 0>;
91 reg = <2>; 82 reg = <2>;
92 device_type = "ethernet-phy"; 83 device_type = "ethernet-phy";
93 }; 84 };
94 ethernet-phy@3 { 85 phy3: ethernet-phy@3 {
95 linux,phandle = <2452003>; 86 interrupt-parent = <&mpic>;
96 interrupt-parent = <40000>;
97 interrupts = <35 0>; 87 interrupts = <35 0>;
98 reg = <3>; 88 reg = <3>;
99 device_type = "ethernet-phy"; 89 device_type = "ethernet-phy";
@@ -109,8 +99,8 @@
109 reg = <24000 1000>; 99 reg = <24000 1000>;
110 local-mac-address = [ 00 E0 0C 00 73 00 ]; 100 local-mac-address = [ 00 E0 0C 00 73 00 ];
111 interrupts = <d 2 e 2 12 2>; 101 interrupts = <d 2 e 2 12 2>;
112 interrupt-parent = <40000>; 102 interrupt-parent = <&mpic>;
113 phy-handle = <2452000>; 103 phy-handle = <&phy0>;
114 }; 104 };
115 105
116 ethernet@25000 { 106 ethernet@25000 {
@@ -122,10 +112,11 @@
122 reg = <25000 1000>; 112 reg = <25000 1000>;
123 local-mac-address = [ 00 E0 0C 00 73 01 ]; 113 local-mac-address = [ 00 E0 0C 00 73 01 ];
124 interrupts = <13 2 14 2 18 2>; 114 interrupts = <13 2 14 2 18 2>;
125 interrupt-parent = <40000>; 115 interrupt-parent = <&mpic>;
126 phy-handle = <2452001>; 116 phy-handle = <&phy1>;
127 }; 117 };
128 118
119/* eTSEC 3/4 are currently broken
129 ethernet@26000 { 120 ethernet@26000 {
130 #address-cells = <1>; 121 #address-cells = <1>;
131 #size-cells = <0>; 122 #size-cells = <0>;
@@ -135,11 +126,10 @@
135 reg = <26000 1000>; 126 reg = <26000 1000>;
136 local-mac-address = [ 00 E0 0C 00 73 02 ]; 127 local-mac-address = [ 00 E0 0C 00 73 02 ];
137 interrupts = <f 2 10 2 11 2>; 128 interrupts = <f 2 10 2 11 2>;
138 interrupt-parent = <40000>; 129 interrupt-parent = <&mpic>;
139 phy-handle = <2452001>; 130 phy-handle = <&phy2>;
140 }; 131 };
141 132
142/* eTSEC 4 is currently broken
143 ethernet@27000 { 133 ethernet@27000 {
144 #address-cells = <1>; 134 #address-cells = <1>;
145 #size-cells = <0>; 135 #size-cells = <0>;
@@ -149,8 +139,8 @@
149 reg = <27000 1000>; 139 reg = <27000 1000>;
150 local-mac-address = [ 00 E0 0C 00 73 03 ]; 140 local-mac-address = [ 00 E0 0C 00 73 03 ];
151 interrupts = <15 2 16 2 17 2>; 141 interrupts = <15 2 16 2 17 2>;
152 interrupt-parent = <40000>; 142 interrupt-parent = <&mpic>;
153 phy-handle = <2452001>; 143 phy-handle = <&phy3>;
154 }; 144 };
155 */ 145 */
156 146
@@ -160,7 +150,7 @@
160 reg = <4500 100>; // reg base, size 150 reg = <4500 100>; // reg base, size
161 clock-frequency = <0>; // should we fill in in uboot? 151 clock-frequency = <0>; // should we fill in in uboot?
162 interrupts = <1a 2>; 152 interrupts = <1a 2>;
163 interrupt-parent = <40000>; 153 interrupt-parent = <&mpic>;
164 }; 154 };
165 155
166 serial@4600 { 156 serial@4600 {
@@ -169,57 +159,56 @@
169 reg = <4600 100>; // reg base, size 159 reg = <4600 100>; // reg base, size
170 clock-frequency = <0>; // should we fill in in uboot? 160 clock-frequency = <0>; // should we fill in in uboot?
171 interrupts = <1a 2>; 161 interrupts = <1a 2>;
172 interrupt-parent = <40000>; 162 interrupt-parent = <&mpic>;
173 }; 163 };
174 164
175 pci@8000 { 165 pci1: pci@8000 {
176 linux,phandle = <8000>;
177 interrupt-map-mask = <1f800 0 0 7>; 166 interrupt-map-mask = <1f800 0 0 7>;
178 interrupt-map = < 167 interrupt-map = <
179 168
180 /* IDSEL 0x10 */ 169 /* IDSEL 0x10 */
181 08000 0 0 1 40000 30 1 170 08000 0 0 1 &mpic 30 1
182 08000 0 0 2 40000 31 1 171 08000 0 0 2 &mpic 31 1
183 08000 0 0 3 40000 32 1 172 08000 0 0 3 &mpic 32 1
184 08000 0 0 4 40000 33 1 173 08000 0 0 4 &mpic 33 1
185 174
186 /* IDSEL 0x11 */ 175 /* IDSEL 0x11 */
187 08800 0 0 1 40000 30 1 176 08800 0 0 1 &mpic 30 1
188 08800 0 0 2 40000 31 1 177 08800 0 0 2 &mpic 31 1
189 08800 0 0 3 40000 32 1 178 08800 0 0 3 &mpic 32 1
190 08800 0 0 4 40000 33 1 179 08800 0 0 4 &mpic 33 1
191 180
192 /* IDSEL 0x12 (Slot 1) */ 181 /* IDSEL 0x12 (Slot 1) */
193 09000 0 0 1 40000 30 1 182 09000 0 0 1 &mpic 30 1
194 09000 0 0 2 40000 31 1 183 09000 0 0 2 &mpic 31 1
195 09000 0 0 3 40000 32 1 184 09000 0 0 3 &mpic 32 1
196 09000 0 0 4 40000 33 1 185 09000 0 0 4 &mpic 33 1
197 186
198 /* IDSEL 0x13 (Slot 2) */ 187 /* IDSEL 0x13 (Slot 2) */
199 09800 0 0 1 40000 31 1 188 09800 0 0 1 &mpic 31 1
200 09800 0 0 2 40000 32 1 189 09800 0 0 2 &mpic 32 1
201 09800 0 0 3 40000 33 1 190 09800 0 0 3 &mpic 33 1
202 09800 0 0 4 40000 30 1 191 09800 0 0 4 &mpic 30 1
203 192
204 /* IDSEL 0x14 (Slot 3) */ 193 /* IDSEL 0x14 (Slot 3) */
205 0a000 0 0 1 40000 32 1 194 0a000 0 0 1 &mpic 32 1
206 0a000 0 0 2 40000 33 1 195 0a000 0 0 2 &mpic 33 1
207 0a000 0 0 3 40000 30 1 196 0a000 0 0 3 &mpic 30 1
208 0a000 0 0 4 40000 31 1 197 0a000 0 0 4 &mpic 31 1
209 198
210 /* IDSEL 0x15 (Slot 4) */ 199 /* IDSEL 0x15 (Slot 4) */
211 0a800 0 0 1 40000 33 1 200 0a800 0 0 1 &mpic 33 1
212 0a800 0 0 2 40000 30 1 201 0a800 0 0 2 &mpic 30 1
213 0a800 0 0 3 40000 31 1 202 0a800 0 0 3 &mpic 31 1
214 0a800 0 0 4 40000 32 1 203 0a800 0 0 4 &mpic 32 1
215 204
216 /* Bus 1 (Tundra Bridge) */ 205 /* Bus 1 (Tundra Bridge) */
217 /* IDSEL 0x12 (ISA bridge) */ 206 /* IDSEL 0x12 (ISA bridge) */
218 19000 0 0 1 40000 30 1 207 19000 0 0 1 &mpic 30 1
219 19000 0 0 2 40000 31 1 208 19000 0 0 2 &mpic 31 1
220 19000 0 0 3 40000 32 1 209 19000 0 0 3 &mpic 32 1
221 19000 0 0 4 40000 33 1>; 210 19000 0 0 4 &mpic 33 1>;
222 interrupt-parent = <40000>; 211 interrupt-parent = <&mpic>;
223 interrupts = <08 2>; 212 interrupts = <08 2>;
224 bus-range = <0 0>; 213 bus-range = <0 0>;
225 ranges = <02000000 0 80000000 80000000 0 20000000 214 ranges = <02000000 0 80000000 80000000 0 20000000
@@ -243,21 +232,20 @@
243 compatible = "chrp,iic"; 232 compatible = "chrp,iic";
244 big-endian; 233 big-endian;
245 interrupts = <1>; 234 interrupts = <1>;
246 interrupt-parent = <8000>; 235 interrupt-parent = <&pci1>;
247 }; 236 };
248 }; 237 };
249 238
250 pci@9000 { 239 pci@9000 {
251 linux,phandle = <9000>;
252 interrupt-map-mask = <f800 0 0 7>; 240 interrupt-map-mask = <f800 0 0 7>;
253 interrupt-map = < 241 interrupt-map = <
254 242
255 /* IDSEL 0x15 */ 243 /* IDSEL 0x15 */
256 a800 0 0 1 40000 3b 1 244 a800 0 0 1 &mpic 3b 1
257 a800 0 0 2 40000 3b 1 245 a800 0 0 2 &mpic 3b 1
258 a800 0 0 3 40000 3b 1 246 a800 0 0 3 &mpic 3b 1
259 a800 0 0 4 40000 3b 1>; 247 a800 0 0 4 &mpic 3b 1>;
260 interrupt-parent = <40000>; 248 interrupt-parent = <&mpic>;
261 interrupts = <09 2>; 249 interrupts = <09 2>;
262 bus-range = <0 0>; 250 bus-range = <0 0>;
263 ranges = <02000000 0 a0000000 a0000000 0 20000000 251 ranges = <02000000 0 a0000000 a0000000 0 20000000
@@ -271,8 +259,7 @@
271 device_type = "pci"; 259 device_type = "pci";
272 }; 260 };
273 261
274 pic@40000 { 262 mpic: pic@40000 {
275 linux,phandle = <40000>;
276 clock-frequency = <0>; 263 clock-frequency = <0>;
277 interrupt-controller; 264 interrupt-controller;
278 #address-cells = <0>; 265 #address-cells = <0>;
diff --git a/arch/powerpc/boot/dts/mpc8555cds.dts b/arch/powerpc/boot/dts/mpc8555cds.dts
index 118f5a887651..5f9c102a0ab4 100644
--- a/arch/powerpc/boot/dts/mpc8555cds.dts
+++ b/arch/powerpc/boot/dts/mpc8555cds.dts
@@ -12,16 +12,14 @@
12 12
13/ { 13/ {
14 model = "MPC8555CDS"; 14 model = "MPC8555CDS";
15 compatible = "MPC85xxCDS"; 15 compatible = "MPC8555CDS", "MPC85xxCDS";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 linux,phandle = <100>;
19 18
20 cpus { 19 cpus {
21 #cpus = <1>; 20 #cpus = <1>;
22 #address-cells = <1>; 21 #address-cells = <1>;
23 #size-cells = <0>; 22 #size-cells = <0>;
24 linux,phandle = <200>;
25 23
26 PowerPC,8555@0 { 24 PowerPC,8555@0 {
27 device_type = "cpu"; 25 device_type = "cpu";
@@ -34,13 +32,11 @@
34 bus-frequency = <0>; // 166 MHz 32 bus-frequency = <0>; // 166 MHz
35 clock-frequency = <0>; // 825 MHz, from uboot 33 clock-frequency = <0>; // 825 MHz, from uboot
36 32-bit; 34 32-bit;
37 linux,phandle = <201>;
38 }; 35 };
39 }; 36 };
40 37
41 memory { 38 memory {
42 device_type = "memory"; 39 device_type = "memory";
43 linux,phandle = <300>;
44 reg = <00000000 08000000>; // 128M at 0x0 40 reg = <00000000 08000000>; // 128M at 0x0
45 }; 41 };
46 42
@@ -58,7 +54,7 @@
58 compatible = "fsl-i2c"; 54 compatible = "fsl-i2c";
59 reg = <3000 100>; 55 reg = <3000 100>;
60 interrupts = <1b 2>; 56 interrupts = <1b 2>;
61 interrupt-parent = <40000>; 57 interrupt-parent = <&mpic>;
62 dfsrr; 58 dfsrr;
63 }; 59 };
64 60
@@ -68,17 +64,14 @@
68 device_type = "mdio"; 64 device_type = "mdio";
69 compatible = "gianfar"; 65 compatible = "gianfar";
70 reg = <24520 20>; 66 reg = <24520 20>;
71 linux,phandle = <24520>; 67 phy0: ethernet-phy@0 {
72 ethernet-phy@0 { 68 interrupt-parent = <&mpic>;
73 linux,phandle = <2452000>;
74 interrupt-parent = <40000>;
75 interrupts = <35 0>; 69 interrupts = <35 0>;
76 reg = <0>; 70 reg = <0>;
77 device_type = "ethernet-phy"; 71 device_type = "ethernet-phy";
78 }; 72 };
79 ethernet-phy@1 { 73 phy1: ethernet-phy@1 {
80 linux,phandle = <2452001>; 74 interrupt-parent = <&mpic>;
81 interrupt-parent = <40000>;
82 interrupts = <35 0>; 75 interrupts = <35 0>;
83 reg = <1>; 76 reg = <1>;
84 device_type = "ethernet-phy"; 77 device_type = "ethernet-phy";
@@ -94,8 +87,8 @@
94 reg = <24000 1000>; 87 reg = <24000 1000>;
95 local-mac-address = [ 00 E0 0C 00 73 00 ]; 88 local-mac-address = [ 00 E0 0C 00 73 00 ];
96 interrupts = <0d 2 0e 2 12 2>; 89 interrupts = <0d 2 0e 2 12 2>;
97 interrupt-parent = <40000>; 90 interrupt-parent = <&mpic>;
98 phy-handle = <2452000>; 91 phy-handle = <&phy0>;
99 }; 92 };
100 93
101 ethernet@25000 { 94 ethernet@25000 {
@@ -107,8 +100,8 @@
107 reg = <25000 1000>; 100 reg = <25000 1000>;
108 local-mac-address = [ 00 E0 0C 00 73 01 ]; 101 local-mac-address = [ 00 E0 0C 00 73 01 ];
109 interrupts = <13 2 14 2 18 2>; 102 interrupts = <13 2 14 2 18 2>;
110 interrupt-parent = <40000>; 103 interrupt-parent = <&mpic>;
111 phy-handle = <2452001>; 104 phy-handle = <&phy1>;
112 }; 105 };
113 106
114 serial@4500 { 107 serial@4500 {
@@ -117,7 +110,7 @@
117 reg = <4500 100>; // reg base, size 110 reg = <4500 100>; // reg base, size
118 clock-frequency = <0>; // should we fill in in uboot? 111 clock-frequency = <0>; // should we fill in in uboot?
119 interrupts = <1a 2>; 112 interrupts = <1a 2>;
120 interrupt-parent = <40000>; 113 interrupt-parent = <&mpic>;
121 }; 114 };
122 115
123 serial@4600 { 116 serial@4600 {
@@ -126,57 +119,56 @@
126 reg = <4600 100>; // reg base, size 119 reg = <4600 100>; // reg base, size
127 clock-frequency = <0>; // should we fill in in uboot? 120 clock-frequency = <0>; // should we fill in in uboot?
128 interrupts = <1a 2>; 121 interrupts = <1a 2>;
129 interrupt-parent = <40000>; 122 interrupt-parent = <&mpic>;
130 }; 123 };
131 124
132 pci@8000 { 125 pci1: pci@8000 {
133 linux,phandle = <8000>;
134 interrupt-map-mask = <1f800 0 0 7>; 126 interrupt-map-mask = <1f800 0 0 7>;
135 interrupt-map = < 127 interrupt-map = <
136 128
137 /* IDSEL 0x10 */ 129 /* IDSEL 0x10 */
138 08000 0 0 1 40000 30 1 130 08000 0 0 1 &mpic 30 1
139 08000 0 0 2 40000 31 1 131 08000 0 0 2 &mpic 31 1
140 08000 0 0 3 40000 32 1 132 08000 0 0 3 &mpic 32 1
141 08000 0 0 4 40000 33 1 133 08000 0 0 4 &mpic 33 1
142 134
143 /* IDSEL 0x11 */ 135 /* IDSEL 0x11 */
144 08800 0 0 1 40000 30 1 136 08800 0 0 1 &mpic 30 1
145 08800 0 0 2 40000 31 1 137 08800 0 0 2 &mpic 31 1
146 08800 0 0 3 40000 32 1 138 08800 0 0 3 &mpic 32 1
147 08800 0 0 4 40000 33 1 139 08800 0 0 4 &mpic 33 1
148 140
149 /* IDSEL 0x12 (Slot 1) */ 141 /* IDSEL 0x12 (Slot 1) */
150 09000 0 0 1 40000 30 1 142 09000 0 0 1 &mpic 30 1
151 09000 0 0 2 40000 31 1 143 09000 0 0 2 &mpic 31 1
152 09000 0 0 3 40000 32 1 144 09000 0 0 3 &mpic 32 1
153 09000 0 0 4 40000 33 1 145 09000 0 0 4 &mpic 33 1
154 146
155 /* IDSEL 0x13 (Slot 2) */ 147 /* IDSEL 0x13 (Slot 2) */
156 09800 0 0 1 40000 31 1 148 09800 0 0 1 &mpic 31 1
157 09800 0 0 2 40000 32 1 149 09800 0 0 2 &mpic 32 1
158 09800 0 0 3 40000 33 1 150 09800 0 0 3 &mpic 33 1
159 09800 0 0 4 40000 30 1 151 09800 0 0 4 &mpic 30 1
160 152
161 /* IDSEL 0x14 (Slot 3) */ 153 /* IDSEL 0x14 (Slot 3) */
162 0a000 0 0 1 40000 32 1 154 0a000 0 0 1 &mpic 32 1
163 0a000 0 0 2 40000 33 1 155 0a000 0 0 2 &mpic 33 1
164 0a000 0 0 3 40000 30 1 156 0a000 0 0 3 &mpic 30 1
165 0a000 0 0 4 40000 31 1 157 0a000 0 0 4 &mpic 31 1
166 158
167 /* IDSEL 0x15 (Slot 4) */ 159 /* IDSEL 0x15 (Slot 4) */
168 0a800 0 0 1 40000 33 1 160 0a800 0 0 1 &mpic 33 1
169 0a800 0 0 2 40000 30 1 161 0a800 0 0 2 &mpic 30 1
170 0a800 0 0 3 40000 31 1 162 0a800 0 0 3 &mpic 31 1
171 0a800 0 0 4 40000 32 1 163 0a800 0 0 4 &mpic 32 1
172 164
173 /* Bus 1 (Tundra Bridge) */ 165 /* Bus 1 (Tundra Bridge) */
174 /* IDSEL 0x12 (ISA bridge) */ 166 /* IDSEL 0x12 (ISA bridge) */
175 19000 0 0 1 40000 30 1 167 19000 0 0 1 &mpic 30 1
176 19000 0 0 2 40000 31 1 168 19000 0 0 2 &mpic 31 1
177 19000 0 0 3 40000 32 1 169 19000 0 0 3 &mpic 32 1
178 19000 0 0 4 40000 33 1>; 170 19000 0 0 4 &mpic 33 1>;
179 interrupt-parent = <40000>; 171 interrupt-parent = <&mpic>;
180 interrupts = <08 2>; 172 interrupts = <08 2>;
181 bus-range = <0 0>; 173 bus-range = <0 0>;
182 ranges = <02000000 0 80000000 80000000 0 20000000 174 ranges = <02000000 0 80000000 80000000 0 20000000
@@ -200,21 +192,20 @@
200 compatible = "chrp,iic"; 192 compatible = "chrp,iic";
201 big-endian; 193 big-endian;
202 interrupts = <1>; 194 interrupts = <1>;
203 interrupt-parent = <8000>; 195 interrupt-parent = <&pci1>;
204 }; 196 };
205 }; 197 };
206 198
207 pci@9000 { 199 pci@9000 {
208 linux,phandle = <9000>;
209 interrupt-map-mask = <f800 0 0 7>; 200 interrupt-map-mask = <f800 0 0 7>;
210 interrupt-map = < 201 interrupt-map = <
211 202
212 /* IDSEL 0x15 */ 203 /* IDSEL 0x15 */
213 a800 0 0 1 40000 3b 1 204 a800 0 0 1 &mpic 3b 1
214 a800 0 0 2 40000 3b 1 205 a800 0 0 2 &mpic 3b 1
215 a800 0 0 3 40000 3b 1 206 a800 0 0 3 &mpic 3b 1
216 a800 0 0 4 40000 3b 1>; 207 a800 0 0 4 &mpic 3b 1>;
217 interrupt-parent = <40000>; 208 interrupt-parent = <&mpic>;
218 interrupts = <09 2>; 209 interrupts = <09 2>;
219 bus-range = <0 0>; 210 bus-range = <0 0>;
220 ranges = <02000000 0 a0000000 a0000000 0 20000000 211 ranges = <02000000 0 a0000000 a0000000 0 20000000
@@ -228,8 +219,7 @@
228 device_type = "pci"; 219 device_type = "pci";
229 }; 220 };
230 221
231 pic@40000 { 222 mpic: pic@40000 {
232 linux,phandle = <40000>;
233 clock-frequency = <0>; 223 clock-frequency = <0>;
234 interrupt-controller; 224 interrupt-controller;
235 #address-cells = <0>; 225 #address-cells = <0>;
diff --git a/arch/powerpc/boot/dts/mpc8560ads.dts b/arch/powerpc/boot/dts/mpc8560ads.dts
index c74d6ebc5c8a..10502638b0e9 100644
--- a/arch/powerpc/boot/dts/mpc8560ads.dts
+++ b/arch/powerpc/boot/dts/mpc8560ads.dts
@@ -12,16 +12,14 @@
12 12
13/ { 13/ {
14 model = "MPC8560ADS"; 14 model = "MPC8560ADS";
15 compatible = "MPC85xxADS"; 15 compatible = "MPC8560ADS", "MPC85xxADS";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 linux,phandle = <100>;
19 18
20 cpus { 19 cpus {
21 #cpus = <1>; 20 #cpus = <1>;
22 #address-cells = <1>; 21 #address-cells = <1>;
23 #size-cells = <0>; 22 #size-cells = <0>;
24 linux,phandle = <200>;
25 23
26 PowerPC,8560@0 { 24 PowerPC,8560@0 {
27 device_type = "cpu"; 25 device_type = "cpu";
@@ -34,13 +32,11 @@
34 bus-frequency = <13ab6680>; 32 bus-frequency = <13ab6680>;
35 clock-frequency = <312c8040>; 33 clock-frequency = <312c8040>;
36 32-bit; 34 32-bit;
37 linux,phandle = <201>;
38 }; 35 };
39 }; 36 };
40 37
41 memory { 38 memory {
42 device_type = "memory"; 39 device_type = "memory";
43 linux,phandle = <300>;
44 reg = <00000000 10000000>; 40 reg = <00000000 10000000>;
45 }; 41 };
46 42
@@ -57,33 +53,28 @@
57 device_type = "mdio"; 53 device_type = "mdio";
58 compatible = "gianfar"; 54 compatible = "gianfar";
59 reg = <24520 20>; 55 reg = <24520 20>;
60 linux,phandle = <24520>;
61 #address-cells = <1>; 56 #address-cells = <1>;
62 #size-cells = <0>; 57 #size-cells = <0>;
63 ethernet-phy@0 { 58 phy0: ethernet-phy@0 {
64 linux,phandle = <2452000>; 59 interrupt-parent = <&mpic>;
65 interrupt-parent = <40000>;
66 interrupts = <35 1>; 60 interrupts = <35 1>;
67 reg = <0>; 61 reg = <0>;
68 device_type = "ethernet-phy"; 62 device_type = "ethernet-phy";
69 }; 63 };
70 ethernet-phy@1 { 64 phy1: ethernet-phy@1 {
71 linux,phandle = <2452001>; 65 interrupt-parent = <&mpic>;
72 interrupt-parent = <40000>;
73 interrupts = <35 1>; 66 interrupts = <35 1>;
74 reg = <1>; 67 reg = <1>;
75 device_type = "ethernet-phy"; 68 device_type = "ethernet-phy";
76 }; 69 };
77 ethernet-phy@2 { 70 phy2: ethernet-phy@2 {
78 linux,phandle = <2452002>; 71 interrupt-parent = <&mpic>;
79 interrupt-parent = <40000>;
80 interrupts = <37 1>; 72 interrupts = <37 1>;
81 reg = <2>; 73 reg = <2>;
82 device_type = "ethernet-phy"; 74 device_type = "ethernet-phy";
83 }; 75 };
84 ethernet-phy@3 { 76 phy3: ethernet-phy@3 {
85 linux,phandle = <2452003>; 77 interrupt-parent = <&mpic>;
86 interrupt-parent = <40000>;
87 interrupts = <37 1>; 78 interrupts = <37 1>;
88 reg = <3>; 79 reg = <3>;
89 device_type = "ethernet-phy"; 80 device_type = "ethernet-phy";
@@ -97,8 +88,8 @@
97 reg = <24000 1000>; 88 reg = <24000 1000>;
98 address = [ 00 00 0C 00 00 FD ]; 89 address = [ 00 00 0C 00 00 FD ];
99 interrupts = <d 2 e 2 12 2>; 90 interrupts = <d 2 e 2 12 2>;
100 interrupt-parent = <40000>; 91 interrupt-parent = <&mpic>;
101 phy-handle = <2452000>; 92 phy-handle = <&phy0>;
102 }; 93 };
103 94
104 ethernet@25000 { 95 ethernet@25000 {
@@ -110,12 +101,11 @@
110 reg = <25000 1000>; 101 reg = <25000 1000>;
111 address = [ 00 00 0C 00 01 FD ]; 102 address = [ 00 00 0C 00 01 FD ];
112 interrupts = <13 2 14 2 18 2>; 103 interrupts = <13 2 14 2 18 2>;
113 interrupt-parent = <40000>; 104 interrupt-parent = <&mpic>;
114 phy-handle = <2452001>; 105 phy-handle = <&phy1>;
115 }; 106 };
116 107
117 pci@8000 { 108 pci@8000 {
118 linux,phandle = <8000>;
119 #interrupt-cells = <1>; 109 #interrupt-cells = <1>;
120 #size-cells = <2>; 110 #size-cells = <2>;
121 #address-cells = <3>; 111 #address-cells = <3>;
@@ -127,96 +117,94 @@
127 interrupt-map = < 117 interrupt-map = <
128 118
129 /* IDSEL 0x2 */ 119 /* IDSEL 0x2 */
130 1000 0 0 1 40000 31 1 120 1000 0 0 1 &mpic 31 1
131 1000 0 0 2 40000 32 1 121 1000 0 0 2 &mpic 32 1
132 1000 0 0 3 40000 33 1 122 1000 0 0 3 &mpic 33 1
133 1000 0 0 4 40000 34 1 123 1000 0 0 4 &mpic 34 1
134 124
135 /* IDSEL 0x3 */ 125 /* IDSEL 0x3 */
136 1800 0 0 1 40000 34 1 126 1800 0 0 1 &mpic 34 1
137 1800 0 0 2 40000 31 1 127 1800 0 0 2 &mpic 31 1
138 1800 0 0 3 40000 32 1 128 1800 0 0 3 &mpic 32 1
139 1800 0 0 4 40000 33 1 129 1800 0 0 4 &mpic 33 1
140 130
141 /* IDSEL 0x4 */ 131 /* IDSEL 0x4 */
142 2000 0 0 1 40000 33 1 132 2000 0 0 1 &mpic 33 1
143 2000 0 0 2 40000 34 1 133 2000 0 0 2 &mpic 34 1
144 2000 0 0 3 40000 31 1 134 2000 0 0 3 &mpic 31 1
145 2000 0 0 4 40000 32 1 135 2000 0 0 4 &mpic 32 1
146 136
147 /* IDSEL 0x5 */ 137 /* IDSEL 0x5 */
148 2800 0 0 1 40000 32 1 138 2800 0 0 1 &mpic 32 1
149 2800 0 0 2 40000 33 1 139 2800 0 0 2 &mpic 33 1
150 2800 0 0 3 40000 34 1 140 2800 0 0 3 &mpic 34 1
151 2800 0 0 4 40000 31 1 141 2800 0 0 4 &mpic 31 1
152 142
153 /* IDSEL 12 */ 143 /* IDSEL 12 */
154 6000 0 0 1 40000 31 1 144 6000 0 0 1 &mpic 31 1
155 6000 0 0 2 40000 32 1 145 6000 0 0 2 &mpic 32 1
156 6000 0 0 3 40000 33 1 146 6000 0 0 3 &mpic 33 1
157 6000 0 0 4 40000 34 1 147 6000 0 0 4 &mpic 34 1
158 148
159 /* IDSEL 13 */ 149 /* IDSEL 13 */
160 6800 0 0 1 40000 34 1 150 6800 0 0 1 &mpic 34 1
161 6800 0 0 2 40000 31 1 151 6800 0 0 2 &mpic 31 1
162 6800 0 0 3 40000 32 1 152 6800 0 0 3 &mpic 32 1
163 6800 0 0 4 40000 33 1 153 6800 0 0 4 &mpic 33 1
164 154
165 /* IDSEL 14*/ 155 /* IDSEL 14*/
166 7000 0 0 1 40000 33 1 156 7000 0 0 1 &mpic 33 1
167 7000 0 0 2 40000 34 1 157 7000 0 0 2 &mpic 34 1
168 7000 0 0 3 40000 31 1 158 7000 0 0 3 &mpic 31 1
169 7000 0 0 4 40000 32 1 159 7000 0 0 4 &mpic 32 1
170 160
171 /* IDSEL 15 */ 161 /* IDSEL 15 */
172 7800 0 0 1 40000 32 1 162 7800 0 0 1 &mpic 32 1
173 7800 0 0 2 40000 33 1 163 7800 0 0 2 &mpic 33 1
174 7800 0 0 3 40000 34 1 164 7800 0 0 3 &mpic 34 1
175 7800 0 0 4 40000 31 1 165 7800 0 0 4 &mpic 31 1
176 166
177 /* IDSEL 18 */ 167 /* IDSEL 18 */
178 9000 0 0 1 40000 31 1 168 9000 0 0 1 &mpic 31 1
179 9000 0 0 2 40000 32 1 169 9000 0 0 2 &mpic 32 1
180 9000 0 0 3 40000 33 1 170 9000 0 0 3 &mpic 33 1
181 9000 0 0 4 40000 34 1 171 9000 0 0 4 &mpic 34 1
182 172
183 /* IDSEL 19 */ 173 /* IDSEL 19 */
184 9800 0 0 1 40000 34 1 174 9800 0 0 1 &mpic 34 1
185 9800 0 0 2 40000 31 1 175 9800 0 0 2 &mpic 31 1
186 9800 0 0 3 40000 32 1 176 9800 0 0 3 &mpic 32 1
187 9800 0 0 4 40000 33 1 177 9800 0 0 4 &mpic 33 1
188 178
189 /* IDSEL 20 */ 179 /* IDSEL 20 */
190 a000 0 0 1 40000 33 1 180 a000 0 0 1 &mpic 33 1
191 a000 0 0 2 40000 34 1 181 a000 0 0 2 &mpic 34 1
192 a000 0 0 3 40000 31 1 182 a000 0 0 3 &mpic 31 1
193 a000 0 0 4 40000 32 1 183 a000 0 0 4 &mpic 32 1
194 184
195 /* IDSEL 21 */ 185 /* IDSEL 21 */
196 a800 0 0 1 40000 32 1 186 a800 0 0 1 &mpic 32 1
197 a800 0 0 2 40000 33 1 187 a800 0 0 2 &mpic 33 1
198 a800 0 0 3 40000 34 1 188 a800 0 0 3 &mpic 34 1
199 a800 0 0 4 40000 31 1>; 189 a800 0 0 4 &mpic 31 1>;
200 190
201 interrupt-parent = <40000>; 191 interrupt-parent = <&mpic>;
202 interrupts = <8 0>; 192 interrupts = <8 0>;
203 bus-range = <0 0>; 193 bus-range = <0 0>;
204 ranges = <02000000 0 80000000 80000000 0 20000000 194 ranges = <02000000 0 80000000 80000000 0 20000000
205 01000000 0 00000000 e2000000 0 01000000>; 195 01000000 0 00000000 e2000000 0 01000000>;
206 }; 196 };
207 197
208 pic@40000 { 198 mpic: pic@40000 {
209 linux,phandle = <40000>;
210 interrupt-controller; 199 interrupt-controller;
211 #address-cells = <0>; 200 #address-cells = <0>;
212 #interrupt-cells = <2>; 201 #interrupt-cells = <2>;
213 reg = <40000 20100>; 202 reg = <40000 40000>;
214 built-in; 203 built-in;
215 device_type = "open-pic"; 204 device_type = "open-pic";
216 }; 205 };
217 206
218 cpm@e0000000 { 207 cpm@e0000000 {
219 linux,phandle = <e0000000>;
220 #address-cells = <1>; 208 #address-cells = <1>;
221 #size-cells = <1>; 209 #size-cells = <1>;
222 #interrupt-cells = <2>; 210 #interrupt-cells = <2>;
@@ -227,13 +215,12 @@
227 command-proc = <919c0>; 215 command-proc = <919c0>;
228 brg-frequency = <9d5b340>; 216 brg-frequency = <9d5b340>;
229 217
230 pic@90c00 { 218 cpmpic: pic@90c00 {
231 linux,phandle = <90c00>;
232 interrupt-controller; 219 interrupt-controller;
233 #address-cells = <0>; 220 #address-cells = <0>;
234 #interrupt-cells = <2>; 221 #interrupt-cells = <2>;
235 interrupts = <1e 0>; 222 interrupts = <1e 0>;
236 interrupt-parent = <40000>; 223 interrupt-parent = <&mpic>;
237 reg = <90c00 80>; 224 reg = <90c00 80>;
238 built-in; 225 built-in;
239 device_type = "cpm-pic"; 226 device_type = "cpm-pic";
@@ -250,7 +237,7 @@
250 tx-clock = <1>; 237 tx-clock = <1>;
251 current-speed = <1c200>; 238 current-speed = <1c200>;
252 interrupts = <28 8>; 239 interrupts = <28 8>;
253 interrupt-parent = <90c00>; 240 interrupt-parent = <&cpmpic>;
254 }; 241 };
255 242
256 scc@91a20 { 243 scc@91a20 {
@@ -264,7 +251,7 @@
264 tx-clock = <2>; 251 tx-clock = <2>;
265 current-speed = <1c200>; 252 current-speed = <1c200>;
266 interrupts = <29 8>; 253 interrupts = <29 8>;
267 interrupt-parent = <90c00>; 254 interrupt-parent = <&cpmpic>;
268 }; 255 };
269 256
270 fcc@91320 { 257 fcc@91320 {
@@ -278,8 +265,8 @@
278 rx-clock = <15>; 265 rx-clock = <15>;
279 tx-clock = <16>; 266 tx-clock = <16>;
280 interrupts = <21 8>; 267 interrupts = <21 8>;
281 interrupt-parent = <90c00>; 268 interrupt-parent = <&cpmpic>;
282 phy-handle = <2452002>; 269 phy-handle = <&phy2>;
283 }; 270 };
284 271
285 fcc@91340 { 272 fcc@91340 {
@@ -293,8 +280,8 @@
293 rx-clock = <17>; 280 rx-clock = <17>;
294 tx-clock = <18>; 281 tx-clock = <18>;
295 interrupts = <22 8>; 282 interrupts = <22 8>;
296 interrupt-parent = <90c00>; 283 interrupt-parent = <&cpmpic>;
297 phy-handle = <2452003>; 284 phy-handle = <&phy3>;
298 }; 285 };
299 }; 286 };
300 }; 287 };
diff --git a/arch/powerpc/boot/dts/mpc8568mds.dts b/arch/powerpc/boot/dts/mpc8568mds.dts
index 06d24653e422..bf49d8c997b9 100644
--- a/arch/powerpc/boot/dts/mpc8568mds.dts
+++ b/arch/powerpc/boot/dts/mpc8568mds.dts
@@ -16,16 +16,14 @@
16 16
17/ { 17/ {
18 model = "MPC8568EMDS"; 18 model = "MPC8568EMDS";
19 compatible = "MPC85xxMDS"; 19 compatible = "MPC8568EMDS", "MPC85xxMDS";
20 #address-cells = <1>; 20 #address-cells = <1>;
21 #size-cells = <1>; 21 #size-cells = <1>;
22 linux,phandle = <100>;
23 22
24 cpus { 23 cpus {
25 #cpus = <1>; 24 #cpus = <1>;
26 #address-cells = <1>; 25 #address-cells = <1>;
27 #size-cells = <0>; 26 #size-cells = <0>;
28 linux,phandle = <200>;
29 27
30 PowerPC,8568@0 { 28 PowerPC,8568@0 {
31 device_type = "cpu"; 29 device_type = "cpu";
@@ -38,13 +36,11 @@
38 bus-frequency = <0>; 36 bus-frequency = <0>;
39 clock-frequency = <0>; 37 clock-frequency = <0>;
40 32-bit; 38 32-bit;
41 linux,phandle = <201>;
42 }; 39 };
43 }; 40 };
44 41
45 memory { 42 memory {
46 device_type = "memory"; 43 device_type = "memory";
47 linux,phandle = <300>;
48 reg = <00000000 10000000>; 44 reg = <00000000 10000000>;
49 }; 45 };
50 46
@@ -67,7 +63,7 @@
67 compatible = "fsl-i2c"; 63 compatible = "fsl-i2c";
68 reg = <3000 100>; 64 reg = <3000 100>;
69 interrupts = <1b 2>; 65 interrupts = <1b 2>;
70 interrupt-parent = <40000>; 66 interrupt-parent = <&mpic>;
71 dfsrr; 67 dfsrr;
72 }; 68 };
73 69
@@ -76,7 +72,7 @@
76 compatible = "fsl-i2c"; 72 compatible = "fsl-i2c";
77 reg = <3100 100>; 73 reg = <3100 100>;
78 interrupts = <1b 2>; 74 interrupts = <1b 2>;
79 interrupt-parent = <40000>; 75 interrupt-parent = <&mpic>;
80 dfsrr; 76 dfsrr;
81 }; 77 };
82 78
@@ -86,32 +82,26 @@
86 device_type = "mdio"; 82 device_type = "mdio";
87 compatible = "gianfar"; 83 compatible = "gianfar";
88 reg = <24520 20>; 84 reg = <24520 20>;
89 linux,phandle = <24520>; 85 phy0: ethernet-phy@0 {
90 ethernet-phy@0 { 86 interrupt-parent = <&mpic>;
91 linux,phandle = <2452000>;
92 interrupt-parent = <40000>;
93 interrupts = <31 1>; 87 interrupts = <31 1>;
94 reg = <0>; 88 reg = <0>;
95 device_type = "ethernet-phy"; 89 device_type = "ethernet-phy";
96 }; 90 };
97 ethernet-phy@1 { 91 phy1: ethernet-phy@1 {
98 linux,phandle = <2452001>; 92 interrupt-parent = <&mpic>;
99 interrupt-parent = <40000>;
100 interrupts = <32 1>; 93 interrupts = <32 1>;
101 reg = <1>; 94 reg = <1>;
102 device_type = "ethernet-phy"; 95 device_type = "ethernet-phy";
103 }; 96 };
104 97 phy2: ethernet-phy@2 {
105 ethernet-phy@2 { 98 interrupt-parent = <&mpic>;
106 linux,phandle = <2452002>;
107 interrupt-parent = <40000>;
108 interrupts = <31 1>; 99 interrupts = <31 1>;
109 reg = <2>; 100 reg = <2>;
110 device_type = "ethernet-phy"; 101 device_type = "ethernet-phy";
111 }; 102 };
112 ethernet-phy@3 { 103 phy3: ethernet-phy@3 {
113 linux,phandle = <2452003>; 104 interrupt-parent = <&mpic>;
114 interrupt-parent = <40000>;
115 interrupts = <32 1>; 105 interrupts = <32 1>;
116 reg = <3>; 106 reg = <3>;
117 device_type = "ethernet-phy"; 107 device_type = "ethernet-phy";
@@ -127,8 +117,8 @@
127 reg = <24000 1000>; 117 reg = <24000 1000>;
128 mac-address = [ 00 00 00 00 00 00 ]; 118 mac-address = [ 00 00 00 00 00 00 ];
129 interrupts = <d 2 e 2 12 2>; 119 interrupts = <d 2 e 2 12 2>;
130 interrupt-parent = <40000>; 120 interrupt-parent = <&mpic>;
131 phy-handle = <2452002>; 121 phy-handle = <&phy2>;
132 }; 122 };
133 123
134 ethernet@25000 { 124 ethernet@25000 {
@@ -140,8 +130,8 @@
140 reg = <25000 1000>; 130 reg = <25000 1000>;
141 mac-address = [ 00 00 00 00 00 00]; 131 mac-address = [ 00 00 00 00 00 00];
142 interrupts = <13 2 14 2 18 2>; 132 interrupts = <13 2 14 2 18 2>;
143 interrupt-parent = <40000>; 133 interrupt-parent = <&mpic>;
144 phy-handle = <2452003>; 134 phy-handle = <&phy3>;
145 }; 135 };
146 136
147 serial@4500 { 137 serial@4500 {
@@ -150,7 +140,7 @@
150 reg = <4500 100>; 140 reg = <4500 100>;
151 clock-frequency = <0>; 141 clock-frequency = <0>;
152 interrupts = <1a 2>; 142 interrupts = <1a 2>;
153 interrupt-parent = <40000>; 143 interrupt-parent = <&mpic>;
154 }; 144 };
155 145
156 serial@4600 { 146 serial@4600 {
@@ -159,7 +149,7 @@
159 reg = <4600 100>; 149 reg = <4600 100>;
160 clock-frequency = <0>; 150 clock-frequency = <0>;
161 interrupts = <1a 2>; 151 interrupts = <1a 2>;
162 interrupt-parent = <40000>; 152 interrupt-parent = <&mpic>;
163 }; 153 };
164 154
165 crypto@30000 { 155 crypto@30000 {
@@ -168,15 +158,14 @@
168 compatible = "talitos"; 158 compatible = "talitos";
169 reg = <30000 f000>; 159 reg = <30000 f000>;
170 interrupts = <1d 2>; 160 interrupts = <1d 2>;
171 interrupt-parent = <40000>; 161 interrupt-parent = <&mpic>;
172 num-channels = <4>; 162 num-channels = <4>;
173 channel-fifo-len = <18>; 163 channel-fifo-len = <18>;
174 exec-units-mask = <000000fe>; 164 exec-units-mask = <000000fe>;
175 descriptor-types-mask = <012b0ebf>; 165 descriptor-types-mask = <012b0ebf>;
176 }; 166 };
177 167
178 pic@40000 { 168 mpic: pic@40000 {
179 linux,phandle = <40000>;
180 clock-frequency = <0>; 169 clock-frequency = <0>;
181 interrupt-controller; 170 interrupt-controller;
182 #address-cells = <0>; 171 #address-cells = <0>;
@@ -192,8 +181,7 @@
192 device_type = "par_io"; 181 device_type = "par_io";
193 num-ports = <7>; 182 num-ports = <7>;
194 183
195 ucc_pin@01 { 184 pio1: ucc_pin@01 {
196 linux,phandle = <e010001>;
197 pio-map = < 185 pio-map = <
198 /* port pin dir open_drain assignment has_irq */ 186 /* port pin dir open_drain assignment has_irq */
199 4 0a 1 0 2 0 /* TxD0 */ 187 4 0a 1 0 2 0 /* TxD0 */
@@ -220,8 +208,7 @@
220 4 13 1 0 2 0 /* GTX_CLK */ 208 4 13 1 0 2 0 /* GTX_CLK */
221 1 1f 2 0 3 0>; /* GTX125 */ 209 1 1f 2 0 3 0>; /* GTX125 */
222 }; 210 };
223 ucc_pin@02 { 211 pio2: ucc_pin@02 {
224 linux,phandle = <e010002>;
225 pio-map = < 212 pio-map = <
226 /* port pin dir open_drain assignment has_irq */ 213 /* port pin dir open_drain assignment has_irq */
227 5 0a 1 0 2 0 /* TxD0 */ 214 5 0a 1 0 2 0 /* TxD0 */
@@ -277,7 +264,7 @@
277 compatible = "fsl_spi"; 264 compatible = "fsl_spi";
278 reg = <4c0 40>; 265 reg = <4c0 40>;
279 interrupts = <2>; 266 interrupts = <2>;
280 interrupt-parent = <80>; 267 interrupt-parent = <&qeic>;
281 mode = "cpu"; 268 mode = "cpu";
282 }; 269 };
283 270
@@ -286,7 +273,7 @@
286 compatible = "fsl_spi"; 273 compatible = "fsl_spi";
287 reg = <500 40>; 274 reg = <500 40>;
288 interrupts = <1>; 275 interrupts = <1>;
289 interrupt-parent = <80>; 276 interrupt-parent = <&qeic>;
290 mode = "cpu"; 277 mode = "cpu";
291 }; 278 };
292 279
@@ -297,12 +284,12 @@
297 device-id = <1>; 284 device-id = <1>;
298 reg = <2000 200>; 285 reg = <2000 200>;
299 interrupts = <20>; 286 interrupts = <20>;
300 interrupt-parent = <80>; 287 interrupt-parent = <&qeic>;
301 mac-address = [ 00 04 9f 00 23 23 ]; 288 mac-address = [ 00 04 9f 00 23 23 ];
302 rx-clock = <0>; 289 rx-clock = <0>;
303 tx-clock = <19>; 290 tx-clock = <19>;
304 phy-handle = <212000>; 291 phy-handle = <&qe_phy0>;
305 pio-handle = <e010001>; 292 pio-handle = <&pio1>;
306 }; 293 };
307 294
308 ucc@3000 { 295 ucc@3000 {
@@ -312,12 +299,12 @@
312 device-id = <2>; 299 device-id = <2>;
313 reg = <3000 200>; 300 reg = <3000 200>;
314 interrupts = <21>; 301 interrupts = <21>;
315 interrupt-parent = <80>; 302 interrupt-parent = <&qeic>;
316 mac-address = [ 00 11 22 33 44 55 ]; 303 mac-address = [ 00 11 22 33 44 55 ];
317 rx-clock = <0>; 304 rx-clock = <0>;
318 tx-clock = <14>; 305 tx-clock = <14>;
319 phy-handle = <212001>; 306 phy-handle = <&qe_phy1>;
320 pio-handle = <e010002>; 307 pio-handle = <&pio2>;
321 }; 308 };
322 309
323 mdio@2120 { 310 mdio@2120 {
@@ -329,33 +316,29 @@
329 316
330 /* These are the same PHYs as on 317 /* These are the same PHYs as on
331 * gianfar's MDIO bus */ 318 * gianfar's MDIO bus */
332 ethernet-phy@00 { 319 qe_phy0: ethernet-phy@00 {
333 linux,phandle = <212000>; 320 interrupt-parent = <&mpic>;
334 interrupt-parent = <40000>;
335 interrupts = <31 1>; 321 interrupts = <31 1>;
336 reg = <0>; 322 reg = <0>;
337 device_type = "ethernet-phy"; 323 device_type = "ethernet-phy";
338 interface = <6>; //ENET_1000_GMII 324 interface = <6>; //ENET_1000_GMII
339 }; 325 };
340 ethernet-phy@01 { 326 qe_phy1: ethernet-phy@01 {
341 linux,phandle = <212001>; 327 interrupt-parent = <&mpic>;
342 interrupt-parent = <40000>;
343 interrupts = <32 1>; 328 interrupts = <32 1>;
344 reg = <1>; 329 reg = <1>;
345 device_type = "ethernet-phy"; 330 device_type = "ethernet-phy";
346 interface = <6>; 331 interface = <6>;
347 }; 332 };
348 ethernet-phy@02 { 333 qe_phy2: ethernet-phy@02 {
349 linux,phandle = <212002>; 334 interrupt-parent = <&mpic>;
350 interrupt-parent = <40000>;
351 interrupts = <31 1>; 335 interrupts = <31 1>;
352 reg = <2>; 336 reg = <2>;
353 device_type = "ethernet-phy"; 337 device_type = "ethernet-phy";
354 interface = <6>; //ENET_1000_GMII 338 interface = <6>; //ENET_1000_GMII
355 }; 339 };
356 ethernet-phy@03 { 340 qe_phy3: ethernet-phy@03 {
357 linux,phandle = <212003>; 341 interrupt-parent = <&mpic>;
358 interrupt-parent = <40000>;
359 interrupts = <32 1>; 342 interrupts = <32 1>;
360 reg = <3>; 343 reg = <3>;
361 device_type = "ethernet-phy"; 344 device_type = "ethernet-phy";
@@ -363,8 +346,7 @@
363 }; 346 };
364 }; 347 };
365 348
366 qeic@80 { 349 qeic: qeic@80 {
367 linux,phandle = <80>;
368 interrupt-controller; 350 interrupt-controller;
369 device_type = "qeic"; 351 device_type = "qeic";
370 #address-cells = <0>; 352 #address-cells = <0>;
@@ -373,7 +355,7 @@
373 built-in; 355 built-in;
374 big-endian; 356 big-endian;
375 interrupts = <1e 2 1e 2>; //high:30 low:30 357 interrupts = <1e 2 1e 2>; //high:30 low:30
376 interrupt-parent = <40000>; 358 interrupt-parent = <&mpic>;
377 }; 359 };
378 360
379 }; 361 };
diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
index 058e06d88bc1..7b3800674cbf 100644
--- a/arch/powerpc/configs/mpc8568mds_defconfig
+++ b/arch/powerpc/configs/mpc8568mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.20
4# Wed Feb 7 23:54:25 2007 4# Sat Feb 17 16:26:53 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -34,9 +34,9 @@ CONFIG_DEFAULT_UIMAGE=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35CONFIG_PPC_85xx=y 35CONFIG_PPC_85xx=y
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_85xx=y 41CONFIG_85xx=y
42CONFIG_E500=y 42CONFIG_E500=y
@@ -63,6 +63,7 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 63CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 64CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 65# CONFIG_IPC_NS is not set
66CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 67# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 69# CONFIG_TASKSTATS is not set
@@ -130,7 +131,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
130# CONFIG_MPC8540_ADS is not set 131# CONFIG_MPC8540_ADS is not set
131# CONFIG_MPC8560_ADS is not set 132# CONFIG_MPC8560_ADS is not set
132# CONFIG_MPC85xx_CDS is not set 133# CONFIG_MPC85xx_CDS is not set
133CONFIG_MPC8568_MDS=y 134CONFIG_MPC85xx_MDS=y
134CONFIG_MPC85xx=y 135CONFIG_MPC85xx=y
135CONFIG_PPC_INDIRECT_PCI_BE=y 136CONFIG_PPC_INDIRECT_PCI_BE=y
136CONFIG_MPIC=y 137CONFIG_MPIC=y
@@ -162,6 +163,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
162# CONFIG_SPARSEMEM_STATIC is not set 163# CONFIG_SPARSEMEM_STATIC is not set
163CONFIG_SPLIT_PTLOCK_CPUS=4 164CONFIG_SPLIT_PTLOCK_CPUS=4
164# CONFIG_RESOURCES_64BIT is not set 165# CONFIG_RESOURCES_64BIT is not set
166CONFIG_ZONE_DMA_FLAG=1
165CONFIG_PROC_DEVICETREE=y 167CONFIG_PROC_DEVICETREE=y
166# CONFIG_CMDLINE_BOOL is not set 168# CONFIG_CMDLINE_BOOL is not set
167# CONFIG_PM is not set 169# CONFIG_PM is not set
@@ -171,6 +173,7 @@ CONFIG_ISA_DMA_API=y
171# 173#
172# Bus options 174# Bus options
173# 175#
176CONFIG_ZONE_DMA=y
174# CONFIG_MPIC_WEIRD is not set 177# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set 178# CONFIG_PPC_I8259 is not set
176CONFIG_PPC_INDIRECT_PCI=y 179CONFIG_PPC_INDIRECT_PCI=y
@@ -216,6 +219,7 @@ CONFIG_UNIX=y
216CONFIG_XFRM=y 219CONFIG_XFRM=y
217# CONFIG_XFRM_USER is not set 220# CONFIG_XFRM_USER is not set
218# CONFIG_XFRM_SUB_POLICY is not set 221# CONFIG_XFRM_SUB_POLICY is not set
222# CONFIG_XFRM_MIGRATE is not set
219# CONFIG_NET_KEY is not set 223# CONFIG_NET_KEY is not set
220CONFIG_INET=y 224CONFIG_INET=y
221CONFIG_IP_MULTICAST=y 225CONFIG_IP_MULTICAST=y
@@ -301,6 +305,7 @@ CONFIG_STANDALONE=y
301CONFIG_PREVENT_FIRMWARE_BUILD=y 305CONFIG_PREVENT_FIRMWARE_BUILD=y
302# CONFIG_FW_LOADER is not set 306# CONFIG_FW_LOADER is not set
303# CONFIG_DEBUG_DRIVER is not set 307# CONFIG_DEBUG_DRIVER is not set
308# CONFIG_DEBUG_DEVRES is not set
304# CONFIG_SYS_HYPERVISOR is not set 309# CONFIG_SYS_HYPERVISOR is not set
305 310
306# 311#
@@ -341,7 +346,6 @@ CONFIG_BLK_DEV_INITRD=y
341# 346#
342# Misc devices 347# Misc devices
343# 348#
344# CONFIG_TIFM_CORE is not set
345 349
346# 350#
347# ATA/ATAPI/MFM/RLL support 351# ATA/ATAPI/MFM/RLL support
@@ -543,6 +547,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
543# CONFIG_SERIAL_UARTLITE is not set 547# CONFIG_SERIAL_UARTLITE is not set
544CONFIG_SERIAL_CORE=y 548CONFIG_SERIAL_CORE=y
545CONFIG_SERIAL_CORE_CONSOLE=y 549CONFIG_SERIAL_CORE_CONSOLE=y
550# CONFIG_SERIAL_OF_PLATFORM is not set
546CONFIG_UNIX98_PTYS=y 551CONFIG_UNIX98_PTYS=y
547CONFIG_LEGACY_PTYS=y 552CONFIG_LEGACY_PTYS=y
548CONFIG_LEGACY_PTY_COUNT=256 553CONFIG_LEGACY_PTY_COUNT=256
@@ -698,6 +703,7 @@ CONFIG_FIRMWARE_EDID=y
698# HID Devices 703# HID Devices
699# 704#
700CONFIG_HID=y 705CONFIG_HID=y
706# CONFIG_HID_DEBUG is not set
701 707
702# 708#
703# USB support 709# USB support
@@ -760,6 +766,10 @@ CONFIG_HID=y
760# 766#
761 767
762# 768#
769# Auxiliary Display support
770#
771
772#
763# Virtualization 773# Virtualization
764# 774#
765 775
@@ -896,7 +906,8 @@ CONFIG_BITREVERSE=y
896CONFIG_CRC32=y 906CONFIG_CRC32=y
897# CONFIG_LIBCRC32C is not set 907# CONFIG_LIBCRC32C is not set
898CONFIG_PLIST=y 908CONFIG_PLIST=y
899CONFIG_IOMAP_COPY=y 909CONFIG_HAS_IOMEM=y
910CONFIG_HAS_IOPORT=y
900 911
901# 912#
902# Instrumentation Support 913# Instrumentation Support
@@ -914,6 +925,7 @@ CONFIG_ENABLE_MUST_CHECK=y
914# CONFIG_DEBUG_FS is not set 925# CONFIG_DEBUG_FS is not set
915# CONFIG_HEADERS_CHECK is not set 926# CONFIG_HEADERS_CHECK is not set
916CONFIG_DEBUG_KERNEL=y 927CONFIG_DEBUG_KERNEL=y
928# CONFIG_DEBUG_SHIRQ is not set
917CONFIG_LOG_BUF_SHIFT=14 929CONFIG_LOG_BUF_SHIFT=14
918CONFIG_DETECT_SOFTLOCKUP=y 930CONFIG_DETECT_SOFTLOCKUP=y
919# CONFIG_SCHEDSTATS is not set 931# CONFIG_SCHEDSTATS is not set
@@ -922,7 +934,6 @@ CONFIG_DETECT_SOFTLOCKUP=y
922# CONFIG_RT_MUTEX_TESTER is not set 934# CONFIG_RT_MUTEX_TESTER is not set
923# CONFIG_DEBUG_SPINLOCK is not set 935# CONFIG_DEBUG_SPINLOCK is not set
924# CONFIG_DEBUG_MUTEXES is not set 936# CONFIG_DEBUG_MUTEXES is not set
925# CONFIG_DEBUG_RWSEMS is not set
926# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 937# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
927# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 938# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
928# CONFIG_DEBUG_KOBJECT is not set 939# CONFIG_DEBUG_KOBJECT is not set
@@ -932,6 +943,8 @@ CONFIG_DETECT_SOFTLOCKUP=y
932# CONFIG_DEBUG_LIST is not set 943# CONFIG_DEBUG_LIST is not set
933CONFIG_FORCED_INLINING=y 944CONFIG_FORCED_INLINING=y
934# CONFIG_RCU_TORTURE_TEST is not set 945# CONFIG_RCU_TORTURE_TEST is not set
946# CONFIG_DEBUG_STACKOVERFLOW is not set
947# CONFIG_DEBUG_STACK_USAGE is not set
935CONFIG_DEBUGGER=y 948CONFIG_DEBUGGER=y
936# CONFIG_XMON is not set 949# CONFIG_XMON is not set
937# CONFIG_BDI_SWITCH is not set 950# CONFIG_BDI_SWITCH is not set
@@ -943,6 +956,8 @@ CONFIG_PPC_EARLY_DEBUG=y
943# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set 956# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
944# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 957# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
945# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 958# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
959# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
960# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
946 961
947# 962#
948# Security options 963# Security options
@@ -970,8 +985,10 @@ CONFIG_CRYPTO_MD5=y
970# CONFIG_CRYPTO_GF128MUL is not set 985# CONFIG_CRYPTO_GF128MUL is not set
971CONFIG_CRYPTO_ECB=m 986CONFIG_CRYPTO_ECB=m
972CONFIG_CRYPTO_CBC=y 987CONFIG_CRYPTO_CBC=y
988CONFIG_CRYPTO_PCBC=m
973# CONFIG_CRYPTO_LRW is not set 989# CONFIG_CRYPTO_LRW is not set
974CONFIG_CRYPTO_DES=y 990CONFIG_CRYPTO_DES=y
991# CONFIG_CRYPTO_FCRYPT is not set
975# CONFIG_CRYPTO_BLOWFISH is not set 992# CONFIG_CRYPTO_BLOWFISH is not set
976# CONFIG_CRYPTO_TWOFISH is not set 993# CONFIG_CRYPTO_TWOFISH is not set
977# CONFIG_CRYPTO_SERPENT is not set 994# CONFIG_CRYPTO_SERPENT is not set
@@ -985,6 +1002,7 @@ CONFIG_CRYPTO_DES=y
985# CONFIG_CRYPTO_DEFLATE is not set 1002# CONFIG_CRYPTO_DEFLATE is not set
986# CONFIG_CRYPTO_MICHAEL_MIC is not set 1003# CONFIG_CRYPTO_MICHAEL_MIC is not set
987# CONFIG_CRYPTO_CRC32C is not set 1004# CONFIG_CRYPTO_CRC32C is not set
1005# CONFIG_CRYPTO_CAMELLIA is not set
988# CONFIG_CRYPTO_TEST is not set 1006# CONFIG_CRYPTO_TEST is not set
989 1007
990# 1008#
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index 0efdd2f1babe..eb661ccf2dab 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -23,12 +23,12 @@ config MPC85xx_CDS
23 help 23 help
24 This option enables support for the MPC85xx CDS board 24 This option enables support for the MPC85xx CDS board
25 25
26config MPC8568_MDS 26config MPC85xx_MDS
27 bool "Freescale MPC8568 MDS" 27 bool "Freescale MPC85xx MDS"
28 select DEFAULT_UIMAGE 28 select DEFAULT_UIMAGE
29# select QUICC_ENGINE 29# select QUICC_ENGINE
30 help 30 help
31 This option enables support for the MPC8568 MDS board 31 This option enables support for the MPC85xx MDS board
32 32
33endchoice 33endchoice
34 34
@@ -47,7 +47,7 @@ config MPC85xx
47 bool 47 bool
48 select PPC_UDBG_16550 48 select PPC_UDBG_16550
49 select PPC_INDIRECT_PCI 49 select PPC_INDIRECT_PCI
50 default y if MPC8540_ADS || MPC85xx_CDS || MPC8560_ADS || MPC8568_MDS 50 default y if MPC8540_ADS || MPC85xx_CDS || MPC8560_ADS || MPC85xx_MDS
51 51
52config PPC_INDIRECT_PCI_BE 52config PPC_INDIRECT_PCI_BE
53 bool 53 bool
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
index e40e521816b8..4e63917ada9d 100644
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
@@ -5,4 +5,4 @@ obj-$(CONFIG_PPC_85xx) += misc.o pci.o
5obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o 5obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o
6obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o 6obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o
7obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o 7obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
8obj-$(CONFIG_MPC8568_MDS) += mpc8568_mds.o 8obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ads.c b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
index 741bcea8f991..8ed034aeca5f 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
@@ -272,10 +272,9 @@ static void mpc85xx_ads_show_cpuinfo(struct seq_file *m)
272 */ 272 */
273static int __init mpc85xx_ads_probe(void) 273static int __init mpc85xx_ads_probe(void)
274{ 274{
275 /* We always match for now, eventually we should look at the flat 275 unsigned long root = of_get_flat_dt_root();
276 dev tree to ensure this is the board we are suppose to run on 276
277 */ 277 return of_flat_dt_is_compatible(root, "MPC85xxADS");
278 return 1;
279} 278}
280 279
281define_machine(mpc85xx_ads) { 280define_machine(mpc85xx_ads) {
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
index bf6c60455a89..4232686be441 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -291,11 +291,9 @@ static void mpc85xx_cds_show_cpuinfo(struct seq_file *m)
291 */ 291 */
292static int __init mpc85xx_cds_probe(void) 292static int __init mpc85xx_cds_probe(void)
293{ 293{
294 /* We always match for now, eventually we should look at 294 unsigned long root = of_get_flat_dt_root();
295 * the flat dev tree to ensure this is the board we are 295
296 * supposed to run on 296 return of_flat_dt_is_compatible(root, "MPC85xxCDS");
297 */
298 return 1;
299} 297}
300 298
301define_machine(mpc85xx_cds) { 299define_machine(mpc85xx_cds) {
diff --git a/arch/powerpc/platforms/85xx/mpc8568_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
index 324138a206a4..81144d2ae455 100644
--- a/arch/powerpc/platforms/85xx/mpc8568_mds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -8,7 +8,7 @@
8 * Yin Olivia <Hong-hua.Yin@freescale.com> 8 * Yin Olivia <Hong-hua.Yin@freescale.com>
9 * 9 *
10 * Description: 10 * Description:
11 * MPC8568E MDS PB board specific routines. 11 * MPC85xx MDS board specific routines.
12 * 12 *
13 * This program is free software; you can redistribute it and/or modify it 13 * This program is free software; you can redistribute it and/or modify it
14 * under the terms of the GNU General Public License as published by the 14 * under the terms of the GNU General Public License as published by the
@@ -69,14 +69,13 @@ unsigned long isa_mem_base = 0;
69 * Setup the architecture 69 * Setup the architecture
70 * 70 *
71 */ 71 */
72static void __init mpc8568_mds_setup_arch(void) 72static void __init mpc85xx_mds_setup_arch(void)
73{ 73{
74 struct device_node *np; 74 struct device_node *np;
75 static u8 *bcsr_regs = NULL; 75 static u8 *bcsr_regs = NULL;
76 76
77
78 if (ppc_md.progress) 77 if (ppc_md.progress)
79 ppc_md.progress("mpc8568_mds_setup_arch()", 0); 78 ppc_md.progress("mpc85xx_mds_setup_arch()", 0);
80 79
81 np = of_find_node_by_type(NULL, "cpu"); 80 np = of_find_node_by_type(NULL, "cpu");
82 if (np != NULL) { 81 if (np != NULL) {
@@ -144,26 +143,26 @@ static void __init mpc8568_mds_setup_arch(void)
144#endif /* CONFIG_QUICC_ENGINE */ 143#endif /* CONFIG_QUICC_ENGINE */
145} 144}
146 145
147static struct of_device_id mpc8568_ids[] = { 146static struct of_device_id mpc85xx_ids[] = {
148 { .type = "soc", }, 147 { .type = "soc", },
149 { .compatible = "soc", }, 148 { .compatible = "soc", },
150 { .type = "qe", }, 149 { .type = "qe", },
151 {}, 150 {},
152}; 151};
153 152
154static int __init mpc8568_publish_devices(void) 153static int __init mpc85xx_publish_devices(void)
155{ 154{
156 if (!machine_is(mpc8568_mds)) 155 if (!machine_is(mpc85xx_mds))
157 return 0; 156 return 0;
158 157
159 /* Publish the QE devices */ 158 /* Publish the QE devices */
160 of_platform_bus_probe(NULL,mpc8568_ids,NULL); 159 of_platform_bus_probe(NULL,mpc85xx_ids,NULL);
161 160
162 return 0; 161 return 0;
163} 162}
164device_initcall(mpc8568_publish_devices); 163device_initcall(mpc85xx_publish_devices);
165 164
166static void __init mpc8568_mds_pic_init(void) 165static void __init mpc85xx_mds_pic_init(void)
167{ 166{
168 struct mpic *mpic; 167 struct mpic *mpic;
169 struct resource r; 168 struct resource r;
@@ -206,7 +205,6 @@ static void __init mpc8568_mds_pic_init(void)
206 205
207 mpic_init(mpic); 206 mpic_init(mpic);
208 207
209
210#ifdef CONFIG_QUICC_ENGINE 208#ifdef CONFIG_QUICC_ENGINE
211 np = of_find_node_by_type(NULL, "qeic"); 209 np = of_find_node_by_type(NULL, "qeic");
212 if (!np) 210 if (!np)
@@ -217,27 +215,18 @@ static void __init mpc8568_mds_pic_init(void)
217#endif /* CONFIG_QUICC_ENGINE */ 215#endif /* CONFIG_QUICC_ENGINE */
218} 216}
219 217
220 218static int __init mpc85xx_mds_probe(void)
221static int __init mpc8568_mds_probe(void)
222{ 219{
223 char *model = of_get_flat_dt_prop(of_get_flat_dt_root(), 220 unsigned long root = of_get_flat_dt_root();
224 "model", NULL);
225 if (model == NULL)
226 return 0;
227 if (strcmp(model, "MPC8568EMDS"))
228 return 0;
229
230 DBG("MPC8568EMDS found\n");
231 221
232 return 1; 222 return of_flat_dt_is_compatible(root, "MPC85xxMDS");
233} 223}
234 224
235 225define_machine(mpc85xx_mds) {
236define_machine(mpc8568_mds) { 226 .name = "MPC85xx MDS",
237 .name = "MPC8568E MDS", 227 .probe = mpc85xx_mds_probe,
238 .probe = mpc8568_mds_probe, 228 .setup_arch = mpc85xx_mds_setup_arch,
239 .setup_arch = mpc8568_mds_setup_arch, 229 .init_IRQ = mpc85xx_mds_pic_init,
240 .init_IRQ = mpc8568_mds_pic_init,
241 .get_irq = mpic_get_irq, 230 .get_irq = mpic_get_irq,
242 .restart = mpc85xx_restart, 231 .restart = mpc85xx_restart,
243 .calibrate_decr = generic_calibrate_decr, 232 .calibrate_decr = generic_calibrate_decr,