diff options
Diffstat (limited to 'arch/powerpc/boot')
22 files changed, 860 insertions, 17 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 3d3daa674299..f32829937aad 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -194,6 +194,7 @@ image-$(CONFIG_PPC_MAPLE) += zImage.pseries | |||
194 | image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries | 194 | image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries |
195 | image-$(CONFIG_PPC_PS3) += dtbImage.ps3 | 195 | image-$(CONFIG_PPC_PS3) += dtbImage.ps3 |
196 | image-$(CONFIG_PPC_CELLEB) += zImage.pseries | 196 | image-$(CONFIG_PPC_CELLEB) += zImage.pseries |
197 | image-$(CONFIG_PPC_CELL_QPACE) += zImage.pseries | ||
197 | image-$(CONFIG_PPC_CHRP) += zImage.chrp | 198 | image-$(CONFIG_PPC_CHRP) += zImage.chrp |
198 | image-$(CONFIG_PPC_EFIKA) += zImage.chrp | 199 | image-$(CONFIG_PPC_EFIKA) += zImage.chrp |
199 | image-$(CONFIG_PPC_PMAC) += zImage.pmac | 200 | image-$(CONFIG_PPC_PMAC) += zImage.pmac |
diff --git a/arch/powerpc/boot/devtree.c b/arch/powerpc/boot/devtree.c index 5d12336dc360..a7e21a35c03a 100644 --- a/arch/powerpc/boot/devtree.c +++ b/arch/powerpc/boot/devtree.c | |||
@@ -213,7 +213,7 @@ static int find_range(u32 *reg, u32 *ranges, int nregaddr, | |||
213 | u32 range_addr[MAX_ADDR_CELLS]; | 213 | u32 range_addr[MAX_ADDR_CELLS]; |
214 | u32 range_size[MAX_ADDR_CELLS]; | 214 | u32 range_size[MAX_ADDR_CELLS]; |
215 | 215 | ||
216 | copy_val(range_addr, ranges + i, naddr); | 216 | copy_val(range_addr, ranges + i, nregaddr); |
217 | copy_val(range_size, ranges + i + nregaddr + naddr, nsize); | 217 | copy_val(range_size, ranges + i + nregaddr + naddr, nsize); |
218 | 218 | ||
219 | if (compare_reg(reg, range_addr, range_size)) | 219 | if (compare_reg(reg, range_addr, range_size)) |
diff --git a/arch/powerpc/boot/dts/bamboo.dts b/arch/powerpc/boot/dts/bamboo.dts index 6ce0cc2c0208..aa68911f6560 100644 --- a/arch/powerpc/boot/dts/bamboo.dts +++ b/arch/powerpc/boot/dts/bamboo.dts | |||
@@ -269,7 +269,8 @@ | |||
269 | * later cannot be changed. Chip supports a second | 269 | * later cannot be changed. Chip supports a second |
270 | * IO range but we don't use it for now | 270 | * IO range but we don't use it for now |
271 | */ | 271 | */ |
272 | ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x20000000 | 272 | ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x40000000 |
273 | 0x02000000 0x00000000 0x00000000 0x00000000 0xe0000000 0x00000000 0x00100000 | ||
273 | 0x01000000 0x00000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; | 274 | 0x01000000 0x00000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; |
274 | 275 | ||
275 | /* Inbound 2GB range starting at 0 */ | 276 | /* Inbound 2GB range starting at 0 */ |
diff --git a/arch/powerpc/boot/dts/canyonlands.dts b/arch/powerpc/boot/dts/canyonlands.dts index 79fe412c11c9..8b5ba8261a36 100644 --- a/arch/powerpc/boot/dts/canyonlands.dts +++ b/arch/powerpc/boot/dts/canyonlands.dts | |||
@@ -40,6 +40,7 @@ | |||
40 | d-cache-size = <32768>; | 40 | d-cache-size = <32768>; |
41 | dcr-controller; | 41 | dcr-controller; |
42 | dcr-access-method = "native"; | 42 | dcr-access-method = "native"; |
43 | next-level-cache = <&L2C0>; | ||
43 | }; | 44 | }; |
44 | }; | 45 | }; |
45 | 46 | ||
@@ -104,6 +105,16 @@ | |||
104 | dcr-reg = <0x00c 0x002>; | 105 | dcr-reg = <0x00c 0x002>; |
105 | }; | 106 | }; |
106 | 107 | ||
108 | L2C0: l2c { | ||
109 | compatible = "ibm,l2-cache-460ex", "ibm,l2-cache"; | ||
110 | dcr-reg = <0x020 0x008 /* Internal SRAM DCR's */ | ||
111 | 0x030 0x008>; /* L2 cache DCR's */ | ||
112 | cache-line-size = <32>; /* 32 bytes */ | ||
113 | cache-size = <262144>; /* L2, 256K */ | ||
114 | interrupt-parent = <&UIC1>; | ||
115 | interrupts = <11 1>; | ||
116 | }; | ||
117 | |||
107 | plb { | 118 | plb { |
108 | compatible = "ibm,plb-460ex", "ibm,plb4"; | 119 | compatible = "ibm,plb-460ex", "ibm,plb4"; |
109 | #address-cells = <2>; | 120 | #address-cells = <2>; |
@@ -343,6 +354,7 @@ | |||
343 | * later cannot be changed | 354 | * later cannot be changed |
344 | */ | 355 | */ |
345 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000 | 356 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000 |
357 | 0x02000000 0x00000000 0x00000000 0x0000000c 0x0ee00000 0x00000000 0x00100000 | ||
346 | 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>; | 358 | 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>; |
347 | 359 | ||
348 | /* Inbound 2GB range starting at 0 */ | 360 | /* Inbound 2GB range starting at 0 */ |
@@ -373,6 +385,7 @@ | |||
373 | * later cannot be changed | 385 | * later cannot be changed |
374 | */ | 386 | */ |
375 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000 | 387 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000 |
388 | 0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000 | ||
376 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>; | 389 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>; |
377 | 390 | ||
378 | /* Inbound 2GB range starting at 0 */ | 391 | /* Inbound 2GB range starting at 0 */ |
@@ -414,6 +427,7 @@ | |||
414 | * later cannot be changed | 427 | * later cannot be changed |
415 | */ | 428 | */ |
416 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000 | 429 | ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000 |
430 | 0x02000000 0x00000000 0x00000000 0x0000000f 0x00100000 0x00000000 0x00100000 | ||
417 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>; | 431 | 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>; |
418 | 432 | ||
419 | /* Inbound 2GB range starting at 0 */ | 433 | /* Inbound 2GB range starting at 0 */ |
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts b/arch/powerpc/boot/dts/gef_sbc610.dts index e48cfa740c8a..9708b3423bbd 100644 --- a/arch/powerpc/boot/dts/gef_sbc610.dts +++ b/arch/powerpc/boot/dts/gef_sbc610.dts | |||
@@ -98,6 +98,12 @@ | |||
98 | interrupt-parent = <&mpic>; | 98 | interrupt-parent = <&mpic>; |
99 | 99 | ||
100 | }; | 100 | }; |
101 | gef_gpio: gpio@7,14000 { | ||
102 | #gpio-cells = <2>; | ||
103 | compatible = "gef,sbc610-gpio"; | ||
104 | reg = <0x7 0x14000 0x24>; | ||
105 | gpio-controller; | ||
106 | }; | ||
101 | }; | 107 | }; |
102 | 108 | ||
103 | soc@fef00000 { | 109 | soc@fef00000 { |
@@ -119,6 +125,11 @@ | |||
119 | interrupt-parent = <&mpic>; | 125 | interrupt-parent = <&mpic>; |
120 | dfsrr; | 126 | dfsrr; |
121 | 127 | ||
128 | rtc@51 { | ||
129 | compatible = "epson,rx8581"; | ||
130 | reg = <0x00000051>; | ||
131 | }; | ||
132 | |||
122 | eti@6b { | 133 | eti@6b { |
123 | compatible = "dallas,ds1682"; | 134 | compatible = "dallas,ds1682"; |
124 | reg = <0x6b>; | 135 | reg = <0x6b>; |
diff --git a/arch/powerpc/boot/dts/kuroboxHD.dts b/arch/powerpc/boot/dts/kuroboxHD.dts index 2e5a1a1812b6..8d725d10882f 100644 --- a/arch/powerpc/boot/dts/kuroboxHD.dts +++ b/arch/powerpc/boot/dts/kuroboxHD.dts | |||
@@ -76,7 +76,6 @@ XXXX add flash parts, rtc, ?? | |||
76 | interrupt-parent = <&mpic>; | 76 | interrupt-parent = <&mpic>; |
77 | 77 | ||
78 | rtc@32 { | 78 | rtc@32 { |
79 | device_type = "rtc"; | ||
80 | compatible = "ricoh,rs5c372a"; | 79 | compatible = "ricoh,rs5c372a"; |
81 | reg = <0x32>; | 80 | reg = <0x32>; |
82 | }; | 81 | }; |
diff --git a/arch/powerpc/boot/dts/kuroboxHG.dts b/arch/powerpc/boot/dts/kuroboxHG.dts index e4916e69ad31..b13a11eb81b0 100644 --- a/arch/powerpc/boot/dts/kuroboxHG.dts +++ b/arch/powerpc/boot/dts/kuroboxHG.dts | |||
@@ -76,7 +76,6 @@ XXXX add flash parts, rtc, ?? | |||
76 | interrupt-parent = <&mpic>; | 76 | interrupt-parent = <&mpic>; |
77 | 77 | ||
78 | rtc@32 { | 78 | rtc@32 { |
79 | device_type = "rtc"; | ||
80 | compatible = "ricoh,rs5c372a"; | 79 | compatible = "ricoh,rs5c372a"; |
81 | reg = <0x32>; | 80 | reg = <0x32>; |
82 | }; | 81 | }; |
diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts index 2cf9a8768f44..3f7a5dce8de0 100644 --- a/arch/powerpc/boot/dts/lite5200.dts +++ b/arch/powerpc/boot/dts/lite5200.dts | |||
@@ -130,7 +130,6 @@ | |||
130 | 130 | ||
131 | rtc@800 { // Real time clock | 131 | rtc@800 { // Real time clock |
132 | compatible = "fsl,mpc5200-rtc"; | 132 | compatible = "fsl,mpc5200-rtc"; |
133 | device_type = "rtc"; | ||
134 | reg = <0x800 0x100>; | 133 | reg = <0x800 0x100>; |
135 | interrupts = <1 5 0 1 6 0>; | 134 | interrupts = <1 5 0 1 6 0>; |
136 | interrupt-parent = <&mpc5200_pic>; | 135 | interrupt-parent = <&mpc5200_pic>; |
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts index 7bd5b9c399b8..63e3bb48e843 100644 --- a/arch/powerpc/boot/dts/lite5200b.dts +++ b/arch/powerpc/boot/dts/lite5200b.dts | |||
@@ -130,7 +130,6 @@ | |||
130 | 130 | ||
131 | rtc@800 { // Real time clock | 131 | rtc@800 { // Real time clock |
132 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | 132 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; |
133 | device_type = "rtc"; | ||
134 | reg = <0x800 0x100>; | 133 | reg = <0x800 0x100>; |
135 | interrupts = <1 5 0 1 6 0>; | 134 | interrupts = <1 5 0 1 6 0>; |
136 | interrupt-parent = <&mpc5200_pic>; | 135 | interrupt-parent = <&mpc5200_pic>; |
diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts index 9e3c921be164..52ba6f98b273 100644 --- a/arch/powerpc/boot/dts/motionpro.dts +++ b/arch/powerpc/boot/dts/motionpro.dts | |||
@@ -248,7 +248,6 @@ | |||
248 | fsl5200-clocking; | 248 | fsl5200-clocking; |
249 | 249 | ||
250 | rtc@68 { | 250 | rtc@68 { |
251 | device_type = "rtc"; | ||
252 | compatible = "dallas,ds1339"; | 251 | compatible = "dallas,ds1339"; |
253 | reg = <0x68>; | 252 | reg = <0x68>; |
254 | }; | 253 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts index d2cdd47a246d..072c9b0f8c8e 100644 --- a/arch/powerpc/boot/dts/mpc8315erdb.dts +++ b/arch/powerpc/boot/dts/mpc8315erdb.dts | |||
@@ -117,7 +117,6 @@ | |||
117 | interrupt-parent = <&ipic>; | 117 | interrupt-parent = <&ipic>; |
118 | dfsrr; | 118 | dfsrr; |
119 | rtc@68 { | 119 | rtc@68 { |
120 | device_type = "rtc"; | ||
121 | compatible = "dallas,ds1339"; | 120 | compatible = "dallas,ds1339"; |
122 | reg = <0x68>; | 121 | reg = <0x68>; |
123 | }; | 122 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts index 712783d0707e..b5eda94a8e2a 100644 --- a/arch/powerpc/boot/dts/mpc8349emitx.dts +++ b/arch/powerpc/boot/dts/mpc8349emitx.dts | |||
@@ -85,7 +85,6 @@ | |||
85 | dfsrr; | 85 | dfsrr; |
86 | 86 | ||
87 | rtc@68 { | 87 | rtc@68 { |
88 | device_type = "rtc"; | ||
89 | compatible = "dallas,ds1339"; | 88 | compatible = "dallas,ds1339"; |
90 | reg = <0x68>; | 89 | reg = <0x68>; |
91 | interrupts = <18 0x8>; | 90 | interrupts = <18 0x8>; |
diff --git a/arch/powerpc/boot/dts/mpc8349emitxgp.dts b/arch/powerpc/boot/dts/mpc8349emitxgp.dts index 3e918af41fb1..c87a6015e165 100644 --- a/arch/powerpc/boot/dts/mpc8349emitxgp.dts +++ b/arch/powerpc/boot/dts/mpc8349emitxgp.dts | |||
@@ -83,7 +83,6 @@ | |||
83 | dfsrr; | 83 | dfsrr; |
84 | 84 | ||
85 | rtc@68 { | 85 | rtc@68 { |
86 | device_type = "rtc"; | ||
87 | compatible = "dallas,ds1339"; | 86 | compatible = "dallas,ds1339"; |
88 | reg = <0x68>; | 87 | reg = <0x68>; |
89 | interrupts = <18 0x8>; | 88 | interrupts = <18 0x8>; |
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts index 31f348fdfe14..9413af3b9925 100644 --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts | |||
@@ -117,7 +117,6 @@ | |||
117 | interrupt-parent = <&ipic>; | 117 | interrupt-parent = <&ipic>; |
118 | dfsrr; | 118 | dfsrr; |
119 | rtc@68 { | 119 | rtc@68 { |
120 | device_type = "rtc"; | ||
121 | compatible = "dallas,ds1339"; | 120 | compatible = "dallas,ds1339"; |
122 | reg = <0x68>; | 121 | reg = <0x68>; |
123 | }; | 122 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts index 7a2bad038bd6..23c10ce22c2c 100644 --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts | |||
@@ -117,7 +117,6 @@ | |||
117 | interrupt-parent = <&ipic>; | 117 | interrupt-parent = <&ipic>; |
118 | dfsrr; | 118 | dfsrr; |
119 | rtc@68 { | 119 | rtc@68 { |
120 | device_type = "rtc"; | ||
121 | compatible = "dallas,ds1339"; | 120 | compatible = "dallas,ds1339"; |
122 | reg = <0x68>; | 121 | reg = <0x68>; |
123 | }; | 122 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts index e067616f3f42..72cdc3c4c7e3 100644 --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts | |||
@@ -117,7 +117,6 @@ | |||
117 | interrupt-parent = <&ipic>; | 117 | interrupt-parent = <&ipic>; |
118 | dfsrr; | 118 | dfsrr; |
119 | rtc@68 { | 119 | rtc@68 { |
120 | device_type = "rtc"; | ||
121 | compatible = "dallas,ds1339"; | 120 | compatible = "dallas,ds1339"; |
122 | reg = <0x68>; | 121 | reg = <0x68>; |
123 | }; | 122 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8572ds.dts b/arch/powerpc/boot/dts/mpc8572ds.dts index 05f67253b49f..21459e161d02 100644 --- a/arch/powerpc/boot/dts/mpc8572ds.dts +++ b/arch/powerpc/boot/dts/mpc8572ds.dts | |||
@@ -63,6 +63,119 @@ | |||
63 | device_type = "memory"; | 63 | device_type = "memory"; |
64 | }; | 64 | }; |
65 | 65 | ||
66 | localbus@ffe05000 { | ||
67 | #address-cells = <2>; | ||
68 | #size-cells = <1>; | ||
69 | compatible = "fsl,mpc8572-elbc", "fsl,elbc", "simple-bus"; | ||
70 | reg = <0 0xffe05000 0 0x1000>; | ||
71 | interrupts = <19 2>; | ||
72 | interrupt-parent = <&mpic>; | ||
73 | |||
74 | ranges = <0x0 0x0 0x0 0xe8000000 0x08000000 | ||
75 | 0x1 0x0 0x0 0xe0000000 0x08000000 | ||
76 | 0x2 0x0 0x0 0xffa00000 0x00040000 | ||
77 | 0x3 0x0 0x0 0xffdf0000 0x00008000 | ||
78 | 0x4 0x0 0x0 0xffa40000 0x00040000 | ||
79 | 0x5 0x0 0x0 0xffa80000 0x00040000 | ||
80 | 0x6 0x0 0x0 0xffac0000 0x00040000>; | ||
81 | |||
82 | nor@0,0 { | ||
83 | #address-cells = <1>; | ||
84 | #size-cells = <1>; | ||
85 | compatible = "cfi-flash"; | ||
86 | reg = <0x0 0x0 0x8000000>; | ||
87 | bank-width = <2>; | ||
88 | device-width = <1>; | ||
89 | |||
90 | ramdisk@0 { | ||
91 | reg = <0x0 0x03000000>; | ||
92 | readl-only; | ||
93 | }; | ||
94 | |||
95 | diagnostic@3000000 { | ||
96 | reg = <0x03000000 0x00e00000>; | ||
97 | read-only; | ||
98 | }; | ||
99 | |||
100 | dink@3e00000 { | ||
101 | reg = <0x03e00000 0x00200000>; | ||
102 | read-only; | ||
103 | }; | ||
104 | |||
105 | kernel@4000000 { | ||
106 | reg = <0x04000000 0x00400000>; | ||
107 | read-only; | ||
108 | }; | ||
109 | |||
110 | jffs2@4400000 { | ||
111 | reg = <0x04400000 0x03b00000>; | ||
112 | }; | ||
113 | |||
114 | dtb@7f00000 { | ||
115 | reg = <0x07f00000 0x00080000>; | ||
116 | read-only; | ||
117 | }; | ||
118 | |||
119 | u-boot@7f80000 { | ||
120 | reg = <0x07f80000 0x00080000>; | ||
121 | read-only; | ||
122 | }; | ||
123 | }; | ||
124 | |||
125 | nand@2,0 { | ||
126 | #address-cells = <1>; | ||
127 | #size-cells = <1>; | ||
128 | compatible = "fsl,mpc8572-fcm-nand", | ||
129 | "fsl,elbc-fcm-nand"; | ||
130 | reg = <0x2 0x0 0x40000>; | ||
131 | |||
132 | u-boot@0 { | ||
133 | reg = <0x0 0x02000000>; | ||
134 | read-only; | ||
135 | }; | ||
136 | |||
137 | jffs2@2000000 { | ||
138 | reg = <0x02000000 0x10000000>; | ||
139 | }; | ||
140 | |||
141 | ramdisk@12000000 { | ||
142 | reg = <0x12000000 0x08000000>; | ||
143 | read-only; | ||
144 | }; | ||
145 | |||
146 | kernel@1a000000 { | ||
147 | reg = <0x1a000000 0x04000000>; | ||
148 | }; | ||
149 | |||
150 | dtb@1e000000 { | ||
151 | reg = <0x1e000000 0x01000000>; | ||
152 | read-only; | ||
153 | }; | ||
154 | |||
155 | empty@1f000000 { | ||
156 | reg = <0x1f000000 0x21000000>; | ||
157 | }; | ||
158 | }; | ||
159 | |||
160 | nand@4,0 { | ||
161 | compatible = "fsl,mpc8572-fcm-nand", | ||
162 | "fsl,elbc-fcm-nand"; | ||
163 | reg = <0x4 0x0 0x40000>; | ||
164 | }; | ||
165 | |||
166 | nand@5,0 { | ||
167 | compatible = "fsl,mpc8572-fcm-nand", | ||
168 | "fsl,elbc-fcm-nand"; | ||
169 | reg = <0x5 0x0 0x40000>; | ||
170 | }; | ||
171 | |||
172 | nand@6,0 { | ||
173 | compatible = "fsl,mpc8572-fcm-nand", | ||
174 | "fsl,elbc-fcm-nand"; | ||
175 | reg = <0x6 0x0 0x40000>; | ||
176 | }; | ||
177 | }; | ||
178 | |||
66 | soc8572@ffe00000 { | 179 | soc8572@ffe00000 { |
67 | #address-cells = <1>; | 180 | #address-cells = <1>; |
68 | #size-cells = <1>; | 181 | #size-cells = <1>; |
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts new file mode 100644 index 000000000000..c114c4ee9931 --- /dev/null +++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts | |||
@@ -0,0 +1,483 @@ | |||
1 | /* | ||
2 | * MPC8572 DS Core0 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts file allows core0 to have memory, l2, i2c, dma1, global-util, eth0, | ||
7 | * eth1, crypto, pci0, pci1. | ||
8 | * | ||
9 | * Copyright 2007, 2008 Freescale Semiconductor Inc. | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify it | ||
12 | * under the terms of the GNU General Public License as published by the | ||
13 | * Free Software Foundation; either version 2 of the License, or (at your | ||
14 | * option) any later version. | ||
15 | */ | ||
16 | |||
17 | /dts-v1/; | ||
18 | / { | ||
19 | model = "fsl,MPC8572DS"; | ||
20 | compatible = "fsl,MPC8572DS", "fsl,MPC8572DS-CAMP"; | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <1>; | ||
23 | |||
24 | aliases { | ||
25 | ethernet0 = &enet0; | ||
26 | ethernet1 = &enet1; | ||
27 | serial0 = &serial0; | ||
28 | pci0 = &pci0; | ||
29 | pci1 = &pci1; | ||
30 | }; | ||
31 | |||
32 | cpus { | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | |||
36 | PowerPC,8572@0 { | ||
37 | device_type = "cpu"; | ||
38 | reg = <0x0>; | ||
39 | d-cache-line-size = <32>; // 32 bytes | ||
40 | i-cache-line-size = <32>; // 32 bytes | ||
41 | d-cache-size = <0x8000>; // L1, 32K | ||
42 | i-cache-size = <0x8000>; // L1, 32K | ||
43 | timebase-frequency = <0>; | ||
44 | bus-frequency = <0>; | ||
45 | clock-frequency = <0>; | ||
46 | next-level-cache = <&L2>; | ||
47 | }; | ||
48 | |||
49 | }; | ||
50 | |||
51 | memory { | ||
52 | device_type = "memory"; | ||
53 | reg = <0x0 0x0>; // Filled by U-Boot | ||
54 | }; | ||
55 | |||
56 | soc8572@ffe00000 { | ||
57 | #address-cells = <1>; | ||
58 | #size-cells = <1>; | ||
59 | device_type = "soc"; | ||
60 | compatible = "simple-bus"; | ||
61 | ranges = <0x0 0xffe00000 0x100000>; | ||
62 | reg = <0xffe00000 0x1000>; // CCSRBAR & soc regs, remove once parse code for immrbase fixed | ||
63 | bus-frequency = <0>; // Filled out by uboot. | ||
64 | |||
65 | memory-controller@2000 { | ||
66 | compatible = "fsl,mpc8572-memory-controller"; | ||
67 | reg = <0x2000 0x1000>; | ||
68 | interrupt-parent = <&mpic>; | ||
69 | interrupts = <18 2>; | ||
70 | }; | ||
71 | |||
72 | memory-controller@6000 { | ||
73 | compatible = "fsl,mpc8572-memory-controller"; | ||
74 | reg = <0x6000 0x1000>; | ||
75 | interrupt-parent = <&mpic>; | ||
76 | interrupts = <18 2>; | ||
77 | }; | ||
78 | |||
79 | L2: l2-cache-controller@20000 { | ||
80 | compatible = "fsl,mpc8572-l2-cache-controller"; | ||
81 | reg = <0x20000 0x1000>; | ||
82 | cache-line-size = <32>; // 32 bytes | ||
83 | cache-size = <0x80000>; // L2, 512K | ||
84 | interrupt-parent = <&mpic>; | ||
85 | interrupts = <16 2>; | ||
86 | }; | ||
87 | |||
88 | i2c@3000 { | ||
89 | #address-cells = <1>; | ||
90 | #size-cells = <0>; | ||
91 | cell-index = <0>; | ||
92 | compatible = "fsl-i2c"; | ||
93 | reg = <0x3000 0x100>; | ||
94 | interrupts = <43 2>; | ||
95 | interrupt-parent = <&mpic>; | ||
96 | dfsrr; | ||
97 | }; | ||
98 | |||
99 | i2c@3100 { | ||
100 | #address-cells = <1>; | ||
101 | #size-cells = <0>; | ||
102 | cell-index = <1>; | ||
103 | compatible = "fsl-i2c"; | ||
104 | reg = <0x3100 0x100>; | ||
105 | interrupts = <43 2>; | ||
106 | interrupt-parent = <&mpic>; | ||
107 | dfsrr; | ||
108 | }; | ||
109 | |||
110 | dma@21300 { | ||
111 | #address-cells = <1>; | ||
112 | #size-cells = <1>; | ||
113 | compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma"; | ||
114 | reg = <0x21300 0x4>; | ||
115 | ranges = <0x0 0x21100 0x200>; | ||
116 | cell-index = <0>; | ||
117 | dma-channel@0 { | ||
118 | compatible = "fsl,mpc8572-dma-channel", | ||
119 | "fsl,eloplus-dma-channel"; | ||
120 | reg = <0x0 0x80>; | ||
121 | cell-index = <0>; | ||
122 | interrupt-parent = <&mpic>; | ||
123 | interrupts = <20 2>; | ||
124 | }; | ||
125 | dma-channel@80 { | ||
126 | compatible = "fsl,mpc8572-dma-channel", | ||
127 | "fsl,eloplus-dma-channel"; | ||
128 | reg = <0x80 0x80>; | ||
129 | cell-index = <1>; | ||
130 | interrupt-parent = <&mpic>; | ||
131 | interrupts = <21 2>; | ||
132 | }; | ||
133 | dma-channel@100 { | ||
134 | compatible = "fsl,mpc8572-dma-channel", | ||
135 | "fsl,eloplus-dma-channel"; | ||
136 | reg = <0x100 0x80>; | ||
137 | cell-index = <2>; | ||
138 | interrupt-parent = <&mpic>; | ||
139 | interrupts = <22 2>; | ||
140 | }; | ||
141 | dma-channel@180 { | ||
142 | compatible = "fsl,mpc8572-dma-channel", | ||
143 | "fsl,eloplus-dma-channel"; | ||
144 | reg = <0x180 0x80>; | ||
145 | cell-index = <3>; | ||
146 | interrupt-parent = <&mpic>; | ||
147 | interrupts = <23 2>; | ||
148 | }; | ||
149 | }; | ||
150 | |||
151 | mdio@24520 { | ||
152 | #address-cells = <1>; | ||
153 | #size-cells = <0>; | ||
154 | compatible = "fsl,gianfar-mdio"; | ||
155 | reg = <0x24520 0x20>; | ||
156 | |||
157 | phy0: ethernet-phy@0 { | ||
158 | interrupt-parent = <&mpic>; | ||
159 | interrupts = <10 1>; | ||
160 | reg = <0x0>; | ||
161 | }; | ||
162 | phy1: ethernet-phy@1 { | ||
163 | interrupt-parent = <&mpic>; | ||
164 | interrupts = <10 1>; | ||
165 | reg = <0x1>; | ||
166 | }; | ||
167 | }; | ||
168 | |||
169 | enet0: ethernet@24000 { | ||
170 | cell-index = <0>; | ||
171 | device_type = "network"; | ||
172 | model = "eTSEC"; | ||
173 | compatible = "gianfar"; | ||
174 | reg = <0x24000 0x1000>; | ||
175 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
176 | interrupts = <29 2 30 2 34 2>; | ||
177 | interrupt-parent = <&mpic>; | ||
178 | phy-handle = <&phy0>; | ||
179 | phy-connection-type = "rgmii-id"; | ||
180 | }; | ||
181 | |||
182 | enet1: ethernet@25000 { | ||
183 | cell-index = <1>; | ||
184 | device_type = "network"; | ||
185 | model = "eTSEC"; | ||
186 | compatible = "gianfar"; | ||
187 | reg = <0x25000 0x1000>; | ||
188 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
189 | interrupts = <35 2 36 2 40 2>; | ||
190 | interrupt-parent = <&mpic>; | ||
191 | phy-handle = <&phy1>; | ||
192 | phy-connection-type = "rgmii-id"; | ||
193 | }; | ||
194 | |||
195 | serial0: serial@4500 { | ||
196 | cell-index = <0>; | ||
197 | device_type = "serial"; | ||
198 | compatible = "ns16550"; | ||
199 | reg = <0x4500 0x100>; | ||
200 | clock-frequency = <0>; | ||
201 | }; | ||
202 | |||
203 | global-utilities@e0000 { //global utilities block | ||
204 | compatible = "fsl,mpc8572-guts"; | ||
205 | reg = <0xe0000 0x1000>; | ||
206 | fsl,has-rstcr; | ||
207 | }; | ||
208 | |||
209 | crypto@30000 { | ||
210 | compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2", | ||
211 | "fsl,sec2.1", "fsl,sec2.0"; | ||
212 | reg = <0x30000 0x10000>; | ||
213 | interrupts = <45 2 58 2>; | ||
214 | interrupt-parent = <&mpic>; | ||
215 | fsl,num-channels = <4>; | ||
216 | fsl,channel-fifo-len = <24>; | ||
217 | fsl,exec-units-mask = <0x9fe>; | ||
218 | fsl,descriptor-types-mask = <0x3ab0ebf>; | ||
219 | }; | ||
220 | |||
221 | mpic: pic@40000 { | ||
222 | interrupt-controller; | ||
223 | #address-cells = <0>; | ||
224 | #interrupt-cells = <2>; | ||
225 | reg = <0x40000 0x40000>; | ||
226 | compatible = "chrp,open-pic"; | ||
227 | device_type = "open-pic"; | ||
228 | protected-sources = < | ||
229 | 31 32 33 37 38 39 /* enet2 enet3 */ | ||
230 | 76 77 78 79 27 42 /* dma2 pci2 serial*/ | ||
231 | 0xe0 0xe1 0xe2 0xe3 /* msi */ | ||
232 | 0xe4 0xe5 0xe6 0xe7 | ||
233 | >; | ||
234 | }; | ||
235 | }; | ||
236 | |||
237 | pci0: pcie@ffe08000 { | ||
238 | cell-index = <0>; | ||
239 | compatible = "fsl,mpc8548-pcie"; | ||
240 | device_type = "pci"; | ||
241 | #interrupt-cells = <1>; | ||
242 | #size-cells = <2>; | ||
243 | #address-cells = <3>; | ||
244 | reg = <0xffe08000 0x1000>; | ||
245 | bus-range = <0 255>; | ||
246 | ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x20000000 | ||
247 | 0x1000000 0x0 0x0 0xffc00000 0x0 0x10000>; | ||
248 | clock-frequency = <33333333>; | ||
249 | interrupt-parent = <&mpic>; | ||
250 | interrupts = <24 2>; | ||
251 | interrupt-map-mask = <0xff00 0x0 0x0 0x7>; | ||
252 | interrupt-map = < | ||
253 | /* IDSEL 0x11 func 0 - PCI slot 1 */ | ||
254 | 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
255 | 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
256 | 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
257 | 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
258 | |||
259 | /* IDSEL 0x11 func 1 - PCI slot 1 */ | ||
260 | 0x8900 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
261 | 0x8900 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
262 | 0x8900 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
263 | 0x8900 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
264 | |||
265 | /* IDSEL 0x11 func 2 - PCI slot 1 */ | ||
266 | 0x8a00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
267 | 0x8a00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
268 | 0x8a00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
269 | 0x8a00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
270 | |||
271 | /* IDSEL 0x11 func 3 - PCI slot 1 */ | ||
272 | 0x8b00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
273 | 0x8b00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
274 | 0x8b00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
275 | 0x8b00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
276 | |||
277 | /* IDSEL 0x11 func 4 - PCI slot 1 */ | ||
278 | 0x8c00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
279 | 0x8c00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
280 | 0x8c00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
281 | 0x8c00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
282 | |||
283 | /* IDSEL 0x11 func 5 - PCI slot 1 */ | ||
284 | 0x8d00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
285 | 0x8d00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
286 | 0x8d00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
287 | 0x8d00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
288 | |||
289 | /* IDSEL 0x11 func 6 - PCI slot 1 */ | ||
290 | 0x8e00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
291 | 0x8e00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
292 | 0x8e00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
293 | 0x8e00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
294 | |||
295 | /* IDSEL 0x11 func 7 - PCI slot 1 */ | ||
296 | 0x8f00 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
297 | 0x8f00 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
298 | 0x8f00 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
299 | 0x8f00 0x0 0x0 0x4 &mpic 0x1 0x1 | ||
300 | |||
301 | /* IDSEL 0x12 func 0 - PCI slot 2 */ | ||
302 | 0x9000 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
303 | 0x9000 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
304 | 0x9000 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
305 | 0x9000 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
306 | |||
307 | /* IDSEL 0x12 func 1 - PCI slot 2 */ | ||
308 | 0x9100 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
309 | 0x9100 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
310 | 0x9100 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
311 | 0x9100 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
312 | |||
313 | /* IDSEL 0x12 func 2 - PCI slot 2 */ | ||
314 | 0x9200 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
315 | 0x9200 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
316 | 0x9200 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
317 | 0x9200 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
318 | |||
319 | /* IDSEL 0x12 func 3 - PCI slot 2 */ | ||
320 | 0x9300 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
321 | 0x9300 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
322 | 0x9300 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
323 | 0x9300 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
324 | |||
325 | /* IDSEL 0x12 func 4 - PCI slot 2 */ | ||
326 | 0x9400 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
327 | 0x9400 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
328 | 0x9400 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
329 | 0x9400 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
330 | |||
331 | /* IDSEL 0x12 func 5 - PCI slot 2 */ | ||
332 | 0x9500 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
333 | 0x9500 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
334 | 0x9500 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
335 | 0x9500 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
336 | |||
337 | /* IDSEL 0x12 func 6 - PCI slot 2 */ | ||
338 | 0x9600 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
339 | 0x9600 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
340 | 0x9600 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
341 | 0x9600 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
342 | |||
343 | /* IDSEL 0x12 func 7 - PCI slot 2 */ | ||
344 | 0x9700 0x0 0x0 0x1 &mpic 0x3 0x1 | ||
345 | 0x9700 0x0 0x0 0x2 &mpic 0x4 0x1 | ||
346 | 0x9700 0x0 0x0 0x3 &mpic 0x1 0x1 | ||
347 | 0x9700 0x0 0x0 0x4 &mpic 0x2 0x1 | ||
348 | |||
349 | // IDSEL 0x1c USB | ||
350 | 0xe000 0x0 0x0 0x1 &i8259 0xc 0x2 | ||
351 | 0xe100 0x0 0x0 0x2 &i8259 0x9 0x2 | ||
352 | 0xe200 0x0 0x0 0x3 &i8259 0xa 0x2 | ||
353 | 0xe300 0x0 0x0 0x4 &i8259 0xb 0x2 | ||
354 | |||
355 | // IDSEL 0x1d Audio | ||
356 | 0xe800 0x0 0x0 0x1 &i8259 0x6 0x2 | ||
357 | |||
358 | // IDSEL 0x1e Legacy | ||
359 | 0xf000 0x0 0x0 0x1 &i8259 0x7 0x2 | ||
360 | 0xf100 0x0 0x0 0x1 &i8259 0x7 0x2 | ||
361 | |||
362 | // IDSEL 0x1f IDE/SATA | ||
363 | 0xf800 0x0 0x0 0x1 &i8259 0xe 0x2 | ||
364 | 0xf900 0x0 0x0 0x1 &i8259 0x5 0x2 | ||
365 | |||
366 | >; | ||
367 | |||
368 | pcie@0 { | ||
369 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
370 | #size-cells = <2>; | ||
371 | #address-cells = <3>; | ||
372 | device_type = "pci"; | ||
373 | ranges = <0x2000000 0x0 0x80000000 | ||
374 | 0x2000000 0x0 0x80000000 | ||
375 | 0x0 0x20000000 | ||
376 | |||
377 | 0x1000000 0x0 0x0 | ||
378 | 0x1000000 0x0 0x0 | ||
379 | 0x0 0x100000>; | ||
380 | uli1575@0 { | ||
381 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
382 | #size-cells = <2>; | ||
383 | #address-cells = <3>; | ||
384 | ranges = <0x2000000 0x0 0x80000000 | ||
385 | 0x2000000 0x0 0x80000000 | ||
386 | 0x0 0x20000000 | ||
387 | |||
388 | 0x1000000 0x0 0x0 | ||
389 | 0x1000000 0x0 0x0 | ||
390 | 0x0 0x100000>; | ||
391 | isa@1e { | ||
392 | device_type = "isa"; | ||
393 | #interrupt-cells = <2>; | ||
394 | #size-cells = <1>; | ||
395 | #address-cells = <2>; | ||
396 | reg = <0xf000 0x0 0x0 0x0 0x0>; | ||
397 | ranges = <0x1 0x0 0x1000000 0x0 0x0 | ||
398 | 0x1000>; | ||
399 | interrupt-parent = <&i8259>; | ||
400 | |||
401 | i8259: interrupt-controller@20 { | ||
402 | reg = <0x1 0x20 0x2 | ||
403 | 0x1 0xa0 0x2 | ||
404 | 0x1 0x4d0 0x2>; | ||
405 | interrupt-controller; | ||
406 | device_type = "interrupt-controller"; | ||
407 | #address-cells = <0>; | ||
408 | #interrupt-cells = <2>; | ||
409 | compatible = "chrp,iic"; | ||
410 | interrupts = <9 2>; | ||
411 | interrupt-parent = <&mpic>; | ||
412 | }; | ||
413 | |||
414 | i8042@60 { | ||
415 | #size-cells = <0>; | ||
416 | #address-cells = <1>; | ||
417 | reg = <0x1 0x60 0x1 0x1 0x64 0x1>; | ||
418 | interrupts = <1 3 12 3>; | ||
419 | interrupt-parent = | ||
420 | <&i8259>; | ||
421 | |||
422 | keyboard@0 { | ||
423 | reg = <0x0>; | ||
424 | compatible = "pnpPNP,303"; | ||
425 | }; | ||
426 | |||
427 | mouse@1 { | ||
428 | reg = <0x1>; | ||
429 | compatible = "pnpPNP,f03"; | ||
430 | }; | ||
431 | }; | ||
432 | |||
433 | rtc@70 { | ||
434 | compatible = "pnpPNP,b00"; | ||
435 | reg = <0x1 0x70 0x2>; | ||
436 | }; | ||
437 | |||
438 | gpio@400 { | ||
439 | reg = <0x1 0x400 0x80>; | ||
440 | }; | ||
441 | }; | ||
442 | }; | ||
443 | }; | ||
444 | |||
445 | }; | ||
446 | |||
447 | pci1: pcie@ffe09000 { | ||
448 | cell-index = <1>; | ||
449 | compatible = "fsl,mpc8548-pcie"; | ||
450 | device_type = "pci"; | ||
451 | #interrupt-cells = <1>; | ||
452 | #size-cells = <2>; | ||
453 | #address-cells = <3>; | ||
454 | reg = <0xffe09000 0x1000>; | ||
455 | bus-range = <0 255>; | ||
456 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 | ||
457 | 0x1000000 0x0 0x0 0xffc10000 0x0 0x10000>; | ||
458 | clock-frequency = <33333333>; | ||
459 | interrupt-parent = <&mpic>; | ||
460 | interrupts = <26 2>; | ||
461 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
462 | interrupt-map = < | ||
463 | /* IDSEL 0x0 */ | ||
464 | 0000 0x0 0x0 0x1 &mpic 0x4 0x1 | ||
465 | 0000 0x0 0x0 0x2 &mpic 0x5 0x1 | ||
466 | 0000 0x0 0x0 0x3 &mpic 0x6 0x1 | ||
467 | 0000 0x0 0x0 0x4 &mpic 0x7 0x1 | ||
468 | >; | ||
469 | pcie@0 { | ||
470 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
471 | #size-cells = <2>; | ||
472 | #address-cells = <3>; | ||
473 | device_type = "pci"; | ||
474 | ranges = <0x2000000 0x0 0xa0000000 | ||
475 | 0x2000000 0x0 0xa0000000 | ||
476 | 0x0 0x20000000 | ||
477 | |||
478 | 0x1000000 0x0 0x0 | ||
479 | 0x1000000 0x0 0x0 | ||
480 | 0x0 0x100000>; | ||
481 | }; | ||
482 | }; | ||
483 | }; | ||
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts new file mode 100644 index 000000000000..04ecda18d206 --- /dev/null +++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts | |||
@@ -0,0 +1,234 @@ | |||
1 | /* | ||
2 | * MPC8572 DS Core1 Device Tree Source in CAMP mode. | ||
3 | * | ||
4 | * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache | ||
5 | * can be shared, all the other devices must be assigned to one core only. | ||
6 | * This dts allows core1 to have l2, dma2, eth2, eth3, pci2, msi. | ||
7 | * | ||
8 | * Please note to add "-b 1" for core1's dts compiling. | ||
9 | * | ||
10 | * Copyright 2007, 2008 Freescale Semiconductor Inc. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2 of the License, or (at your | ||
15 | * option) any later version. | ||
16 | */ | ||
17 | |||
18 | /dts-v1/; | ||
19 | / { | ||
20 | model = "fsl,MPC8572DS"; | ||
21 | compatible = "fsl,MPC8572DS", "fsl,MPC8572DS-CAMP"; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <1>; | ||
24 | |||
25 | aliases { | ||
26 | ethernet2 = &enet2; | ||
27 | ethernet3 = &enet3; | ||
28 | serial0 = &serial0; | ||
29 | pci2 = &pci2; | ||
30 | }; | ||
31 | |||
32 | cpus { | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | |||
36 | PowerPC,8572@1 { | ||
37 | device_type = "cpu"; | ||
38 | reg = <0x1>; | ||
39 | d-cache-line-size = <32>; // 32 bytes | ||
40 | i-cache-line-size = <32>; // 32 bytes | ||
41 | d-cache-size = <0x8000>; // L1, 32K | ||
42 | i-cache-size = <0x8000>; // L1, 32K | ||
43 | timebase-frequency = <0>; | ||
44 | bus-frequency = <0>; | ||
45 | clock-frequency = <0>; | ||
46 | next-level-cache = <&L2>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | memory { | ||
51 | device_type = "memory"; | ||
52 | reg = <0x0 0x0>; // Filled by U-Boot | ||
53 | }; | ||
54 | |||
55 | soc8572@ffe00000 { | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <1>; | ||
58 | device_type = "soc"; | ||
59 | compatible = "simple-bus"; | ||
60 | ranges = <0x0 0xffe00000 0x100000>; | ||
61 | reg = <0xffe00000 0x1000>; // CCSRBAR & soc regs, remove once parse code for immrbase fixed | ||
62 | bus-frequency = <0>; // Filled out by uboot. | ||
63 | |||
64 | L2: l2-cache-controller@20000 { | ||
65 | compatible = "fsl,mpc8572-l2-cache-controller"; | ||
66 | reg = <0x20000 0x1000>; | ||
67 | cache-line-size = <32>; // 32 bytes | ||
68 | cache-size = <0x80000>; // L2, 512K | ||
69 | interrupt-parent = <&mpic>; | ||
70 | }; | ||
71 | |||
72 | dma@c300 { | ||
73 | #address-cells = <1>; | ||
74 | #size-cells = <1>; | ||
75 | compatible = "fsl,mpc8572-dma", "fsl,eloplus-dma"; | ||
76 | reg = <0xc300 0x4>; | ||
77 | ranges = <0x0 0xc100 0x200>; | ||
78 | cell-index = <0>; | ||
79 | dma-channel@0 { | ||
80 | compatible = "fsl,mpc8572-dma-channel", | ||
81 | "fsl,eloplus-dma-channel"; | ||
82 | reg = <0x0 0x80>; | ||
83 | cell-index = <0>; | ||
84 | interrupt-parent = <&mpic>; | ||
85 | interrupts = <76 2>; | ||
86 | }; | ||
87 | dma-channel@80 { | ||
88 | compatible = "fsl,mpc8572-dma-channel", | ||
89 | "fsl,eloplus-dma-channel"; | ||
90 | reg = <0x80 0x80>; | ||
91 | cell-index = <1>; | ||
92 | interrupt-parent = <&mpic>; | ||
93 | interrupts = <77 2>; | ||
94 | }; | ||
95 | dma-channel@100 { | ||
96 | compatible = "fsl,mpc8572-dma-channel", | ||
97 | "fsl,eloplus-dma-channel"; | ||
98 | reg = <0x100 0x80>; | ||
99 | cell-index = <2>; | ||
100 | interrupt-parent = <&mpic>; | ||
101 | interrupts = <78 2>; | ||
102 | }; | ||
103 | dma-channel@180 { | ||
104 | compatible = "fsl,mpc8572-dma-channel", | ||
105 | "fsl,eloplus-dma-channel"; | ||
106 | reg = <0x180 0x80>; | ||
107 | cell-index = <3>; | ||
108 | interrupt-parent = <&mpic>; | ||
109 | interrupts = <79 2>; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | mdio@24520 { | ||
114 | #address-cells = <1>; | ||
115 | #size-cells = <0>; | ||
116 | compatible = "fsl,gianfar-mdio"; | ||
117 | reg = <0x24520 0x20>; | ||
118 | |||
119 | phy2: ethernet-phy@2 { | ||
120 | interrupt-parent = <&mpic>; | ||
121 | reg = <0x2>; | ||
122 | }; | ||
123 | phy3: ethernet-phy@3 { | ||
124 | interrupt-parent = <&mpic>; | ||
125 | reg = <0x3>; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | enet2: ethernet@26000 { | ||
130 | cell-index = <2>; | ||
131 | device_type = "network"; | ||
132 | model = "eTSEC"; | ||
133 | compatible = "gianfar"; | ||
134 | reg = <0x26000 0x1000>; | ||
135 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
136 | interrupts = <31 2 32 2 33 2>; | ||
137 | interrupt-parent = <&mpic>; | ||
138 | phy-handle = <&phy2>; | ||
139 | phy-connection-type = "rgmii-id"; | ||
140 | }; | ||
141 | |||
142 | enet3: ethernet@27000 { | ||
143 | cell-index = <3>; | ||
144 | device_type = "network"; | ||
145 | model = "eTSEC"; | ||
146 | compatible = "gianfar"; | ||
147 | reg = <0x27000 0x1000>; | ||
148 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
149 | interrupts = <37 2 38 2 39 2>; | ||
150 | interrupt-parent = <&mpic>; | ||
151 | phy-handle = <&phy3>; | ||
152 | phy-connection-type = "rgmii-id"; | ||
153 | }; | ||
154 | |||
155 | msi@41600 { | ||
156 | compatible = "fsl,mpc8572-msi", "fsl,mpic-msi"; | ||
157 | reg = <0x41600 0x80>; | ||
158 | msi-available-ranges = <0 0x100>; | ||
159 | interrupts = < | ||
160 | 0xe0 0 | ||
161 | 0xe1 0 | ||
162 | 0xe2 0 | ||
163 | 0xe3 0 | ||
164 | 0xe4 0 | ||
165 | 0xe5 0 | ||
166 | 0xe6 0 | ||
167 | 0xe7 0>; | ||
168 | interrupt-parent = <&mpic>; | ||
169 | }; | ||
170 | |||
171 | serial0: serial@4600 { | ||
172 | cell-index = <1>; | ||
173 | device_type = "serial"; | ||
174 | compatible = "ns16550"; | ||
175 | reg = <0x4600 0x100>; | ||
176 | clock-frequency = <0>; | ||
177 | }; | ||
178 | |||
179 | mpic: pic@40000 { | ||
180 | interrupt-controller; | ||
181 | #address-cells = <0>; | ||
182 | #interrupt-cells = <2>; | ||
183 | reg = <0x40000 0x40000>; | ||
184 | compatible = "chrp,open-pic"; | ||
185 | device_type = "open-pic"; | ||
186 | protected-sources = < | ||
187 | 18 16 10 42 45 58 /* MEM L2 mdio serial crypto */ | ||
188 | 29 30 34 35 36 40 /* enet0 enet1 */ | ||
189 | 24 26 20 21 22 23 /* pcie0 pcie1 dma1 */ | ||
190 | 43 /* i2c */ | ||
191 | 0x1 0x2 0x3 0x4 /* pci slot */ | ||
192 | 0x9 0xa 0xb 0xc /* usb */ | ||
193 | 0x6 0x7 0xe 0x5 /* Audio elgacy SATA */ | ||
194 | >; | ||
195 | }; | ||
196 | }; | ||
197 | |||
198 | pci2: pcie@ffe0a000 { | ||
199 | cell-index = <2>; | ||
200 | compatible = "fsl,mpc8548-pcie"; | ||
201 | device_type = "pci"; | ||
202 | #interrupt-cells = <1>; | ||
203 | #size-cells = <2>; | ||
204 | #address-cells = <3>; | ||
205 | reg = <0xffe0a000 0x1000>; | ||
206 | bus-range = <0 255>; | ||
207 | ranges = <0x2000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000 | ||
208 | 0x1000000 0x0 0x0 0xffc20000 0x0 0x10000>; | ||
209 | clock-frequency = <33333333>; | ||
210 | interrupt-parent = <&mpic>; | ||
211 | interrupts = <27 2>; | ||
212 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | ||
213 | interrupt-map = < | ||
214 | /* IDSEL 0x0 */ | ||
215 | 0000 0x0 0x0 0x1 &mpic 0x0 0x1 | ||
216 | 0000 0x0 0x0 0x2 &mpic 0x1 0x1 | ||
217 | 0000 0x0 0x0 0x3 &mpic 0x2 0x1 | ||
218 | 0000 0x0 0x0 0x4 &mpic 0x3 0x1 | ||
219 | >; | ||
220 | pcie@0 { | ||
221 | reg = <0x0 0x0 0x0 0x0 0x0>; | ||
222 | #size-cells = <2>; | ||
223 | #address-cells = <3>; | ||
224 | device_type = "pci"; | ||
225 | ranges = <0x2000000 0x0 0xc0000000 | ||
226 | 0x2000000 0x0 0xc0000000 | ||
227 | 0x0 0x20000000 | ||
228 | |||
229 | 0x1000000 0x0 0x0 | ||
230 | 0x1000000 0x0 0x0 | ||
231 | 0x0 0x100000>; | ||
232 | }; | ||
233 | }; | ||
234 | }; | ||
diff --git a/arch/powerpc/boot/dts/pcm030.dts b/arch/powerpc/boot/dts/pcm030.dts index 7c1bb952360c..be2c11ca0594 100644 --- a/arch/powerpc/boot/dts/pcm030.dts +++ b/arch/powerpc/boot/dts/pcm030.dts | |||
@@ -143,7 +143,6 @@ | |||
143 | 143 | ||
144 | rtc@800 { // Real time clock | 144 | rtc@800 { // Real time clock |
145 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | 145 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; |
146 | device_type = "rtc"; | ||
147 | reg = <0x800 0x100>; | 146 | reg = <0x800 0x100>; |
148 | interrupts = <0x1 0x5 0x0 0x1 0x6 0x0>; | 147 | interrupts = <0x1 0x5 0x0 0x1 0x6 0x0>; |
149 | interrupt-parent = <&mpc5200_pic>; | 148 | interrupt-parent = <&mpc5200_pic>; |
@@ -301,7 +300,6 @@ | |||
301 | interrupt-parent = <&mpc5200_pic>; | 300 | interrupt-parent = <&mpc5200_pic>; |
302 | fsl5200-clocking; | 301 | fsl5200-clocking; |
303 | rtc@51 { | 302 | rtc@51 { |
304 | device_type = "rtc"; | ||
305 | compatible = "nxp,pcf8563"; | 303 | compatible = "nxp,pcf8563"; |
306 | reg = <0x51>; | 304 | reg = <0x51>; |
307 | }; | 305 | }; |
diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts index 3008bf8830c1..906302e26a62 100644 --- a/arch/powerpc/boot/dts/tqm5200.dts +++ b/arch/powerpc/boot/dts/tqm5200.dts | |||
@@ -181,7 +181,6 @@ | |||
181 | fsl5200-clocking; | 181 | fsl5200-clocking; |
182 | 182 | ||
183 | rtc@68 { | 183 | rtc@68 { |
184 | device_type = "rtc"; | ||
185 | compatible = "dallas,ds1307"; | 184 | compatible = "dallas,ds1307"; |
186 | reg = <0x68>; | 185 | reg = <0x68>; |
187 | }; | 186 | }; |
diff --git a/arch/powerpc/boot/libfdt-wrapper.c b/arch/powerpc/boot/libfdt-wrapper.c index 9276327bc2bb..bb8b9b3505ee 100644 --- a/arch/powerpc/boot/libfdt-wrapper.c +++ b/arch/powerpc/boot/libfdt-wrapper.c | |||
@@ -185,7 +185,7 @@ void fdt_init(void *blob) | |||
185 | 185 | ||
186 | /* Make sure the dt blob is the right version and so forth */ | 186 | /* Make sure the dt blob is the right version and so forth */ |
187 | fdt = blob; | 187 | fdt = blob; |
188 | bufsize = fdt_totalsize(fdt) + 4; | 188 | bufsize = fdt_totalsize(fdt) + EXPAND_GRANULARITY; |
189 | buf = malloc(bufsize); | 189 | buf = malloc(bufsize); |
190 | if(!buf) | 190 | if(!buf) |
191 | fatal("malloc failed. can't relocate the device tree\n\r"); | 191 | fatal("malloc failed. can't relocate the device tree\n\r"); |