diff options
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/.gitignore | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/4xx.c | 21 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 15 | ||||
-rw-r--r-- | arch/powerpc/boot/crtsavres.S | 233 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8377_mds.dts | 35 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8377_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8378_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8379_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8548cds.dts | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8610_hpcd.dts | 93 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/sbc8548.dts | 94 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/sequoia.dts | 9 |
12 files changed, 491 insertions, 45 deletions
diff --git a/arch/powerpc/boot/.gitignore b/arch/powerpc/boot/.gitignore index 2347294ff35b..2f50acd11a60 100644 --- a/arch/powerpc/boot/.gitignore +++ b/arch/powerpc/boot/.gitignore | |||
@@ -20,21 +20,19 @@ kernel-vmlinux.strip.gz | |||
20 | mktree | 20 | mktree |
21 | uImage | 21 | uImage |
22 | cuImage.* | 22 | cuImage.* |
23 | dtbImage.* | ||
23 | treeImage.* | 24 | treeImage.* |
24 | zImage | 25 | zImage |
26 | zImage.initrd | ||
25 | zImage.bin.* | 27 | zImage.bin.* |
26 | zImage.chrp | 28 | zImage.chrp |
27 | zImage.coff | 29 | zImage.coff |
28 | zImage.coff.lds | 30 | zImage.holly |
29 | zImage.ep* | ||
30 | zImage.iseries | 31 | zImage.iseries |
31 | zImage.*lds | 32 | zImage.*lds |
32 | zImage.miboot | 33 | zImage.miboot |
33 | zImage.pmac | 34 | zImage.pmac |
34 | zImage.pseries | 35 | zImage.pseries |
35 | zImage.redboot* | ||
36 | zImage.sandpoint | ||
37 | zImage.vmode | ||
38 | zconf.h | 36 | zconf.h |
39 | zlib.h | 37 | zlib.h |
40 | zutil.h | 38 | zutil.h |
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 758edf1c5815..5c878436f348 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
@@ -21,6 +21,25 @@ | |||
21 | #include "reg.h" | 21 | #include "reg.h" |
22 | #include "dcr.h" | 22 | #include "dcr.h" |
23 | 23 | ||
24 | static unsigned long chip_11_errata(unsigned long memsize) | ||
25 | { | ||
26 | unsigned long pvr; | ||
27 | |||
28 | pvr = mfpvr(); | ||
29 | |||
30 | switch (pvr & 0xf0000ff0) { | ||
31 | case 0x40000850: | ||
32 | case 0x400008d0: | ||
33 | case 0x200008d0: | ||
34 | memsize -= 4096; | ||
35 | break; | ||
36 | default: | ||
37 | break; | ||
38 | } | ||
39 | |||
40 | return memsize; | ||
41 | } | ||
42 | |||
24 | /* Read the 4xx SDRAM controller to get size of system memory. */ | 43 | /* Read the 4xx SDRAM controller to get size of system memory. */ |
25 | void ibm4xx_sdram_fixup_memsize(void) | 44 | void ibm4xx_sdram_fixup_memsize(void) |
26 | { | 45 | { |
@@ -34,6 +53,7 @@ void ibm4xx_sdram_fixup_memsize(void) | |||
34 | memsize += SDRAM_CONFIG_BANK_SIZE(bank_config); | 53 | memsize += SDRAM_CONFIG_BANK_SIZE(bank_config); |
35 | } | 54 | } |
36 | 55 | ||
56 | memsize = chip_11_errata(memsize); | ||
37 | dt_fixup_memory(0, memsize); | 57 | dt_fixup_memory(0, memsize); |
38 | } | 58 | } |
39 | 59 | ||
@@ -199,6 +219,7 @@ void ibm4xx_denali_fixup_memsize(void) | |||
199 | bank = 4; /* 4 banks */ | 219 | bank = 4; /* 4 banks */ |
200 | 220 | ||
201 | memsize = cs * (1 << (col+row)) * bank * dpath; | 221 | memsize = cs * (1 << (col+row)) * bank * dpath; |
222 | memsize = chip_11_errata(memsize); | ||
202 | dt_fixup_memory(0, memsize); | 223 | dt_fixup_memory(0, memsize); |
203 | } | 224 | } |
204 | 225 | ||
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 7822d25c9d31..095e04db1c0e 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -51,7 +51,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \ | |||
51 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) | 51 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) |
52 | 52 | ||
53 | src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c | 53 | src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c |
54 | src-wlib := string.S crt0.S stdio.c main.c \ | 54 | src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ |
55 | $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ | 55 | $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ |
56 | ns16550.c serial.c simple_alloc.c div64.S util.S \ | 56 | ns16550.c serial.c simple_alloc.c div64.S util.S \ |
57 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ | 57 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ |
@@ -99,7 +99,7 @@ $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds: $(obj)/%: $(srct | |||
99 | @cp $< $@ | 99 | @cp $< $@ |
100 | 100 | ||
101 | clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ | 101 | clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ |
102 | empty.c zImage zImage.coff.lds zImage.ps3.lds zImage.lds | 102 | empty.c zImage.coff.lds zImage.ps3.lds zImage.lds |
103 | 103 | ||
104 | quiet_cmd_bootcc = BOOTCC $@ | 104 | quiet_cmd_bootcc = BOOTCC $@ |
105 | cmd_bootcc = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTCFLAGS) -c -o $@ $< | 105 | cmd_bootcc = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTCFLAGS) -c -o $@ $< |
@@ -221,8 +221,8 @@ image-$(CONFIG_WARP) += cuImage.warp | |||
221 | image-$(CONFIG_YOSEMITE) += cuImage.yosemite | 221 | image-$(CONFIG_YOSEMITE) += cuImage.yosemite |
222 | 222 | ||
223 | # Board ports in arch/powerpc/platform/8xx/Kconfig | 223 | # Board ports in arch/powerpc/platform/8xx/Kconfig |
224 | image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads | 224 | image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads |
225 | image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads | 225 | image-$(CONFIG_MPC885ADS) += cuImage.mpc885ads |
226 | image-$(CONFIG_PPC_EP88XC) += dtbImage.ep88xc | 226 | image-$(CONFIG_PPC_EP88XC) += dtbImage.ep88xc |
227 | image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ | 227 | image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ |
228 | dtbImage.adder875-redboot | 228 | dtbImage.adder875-redboot |
@@ -273,7 +273,8 @@ endif | |||
273 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) | 273 | initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) |
274 | initrd-y := $(patsubst zImage%, zImage.initrd%, \ | 274 | initrd-y := $(patsubst zImage%, zImage.initrd%, \ |
275 | $(patsubst dtbImage%, dtbImage.initrd%, \ | 275 | $(patsubst dtbImage%, dtbImage.initrd%, \ |
276 | $(patsubst treeImage%, treeImage.initrd%, $(image-y)))) | 276 | $(patsubst simpleImage%, simpleImage.initrd%, \ |
277 | $(patsubst treeImage%, treeImage.initrd%, $(image-y))))) | ||
277 | initrd-y := $(filter-out $(image-y), $(initrd-y)) | 278 | initrd-y := $(filter-out $(image-y), $(initrd-y)) |
278 | targets += $(image-y) $(initrd-y) | 279 | targets += $(image-y) $(initrd-y) |
279 | 280 | ||
@@ -339,7 +340,9 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
339 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< | 340 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< |
340 | 341 | ||
341 | # anything not in $(targets) | 342 | # anything not in $(targets) |
342 | clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \ | 343 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ |
344 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ | ||
345 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ | ||
343 | otheros.bld *.dtb | 346 | otheros.bld *.dtb |
344 | 347 | ||
345 | # clean up files cached by wrapper | 348 | # clean up files cached by wrapper |
diff --git a/arch/powerpc/boot/crtsavres.S b/arch/powerpc/boot/crtsavres.S new file mode 100644 index 000000000000..f3d9b35c07d4 --- /dev/null +++ b/arch/powerpc/boot/crtsavres.S | |||
@@ -0,0 +1,233 @@ | |||
1 | /* | ||
2 | * Special support for eabi and SVR4 | ||
3 | * | ||
4 | * Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. | ||
5 | * Copyright 2008 Freescale Semiconductor, Inc. | ||
6 | * Written By Michael Meissner | ||
7 | * | ||
8 | * Based on gcc/config/rs6000/crtsavres.asm from gcc | ||
9 | * | ||
10 | * This file is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2, or (at your option) any | ||
13 | * later version. | ||
14 | * | ||
15 | * In addition to the permissions in the GNU General Public License, the | ||
16 | * Free Software Foundation gives you unlimited permission to link the | ||
17 | * compiled version of this file with other programs, and to distribute | ||
18 | * those programs without any restriction coming from the use of this | ||
19 | * file. (The General Public License restrictions do apply in other | ||
20 | * respects; for example, they cover modification of the file, and | ||
21 | * distribution when not linked into another program.) | ||
22 | * | ||
23 | * This file is distributed in the hope that it will be useful, but | ||
24 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
26 | * General Public License for more details. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License | ||
29 | * along with this program; see the file COPYING. If not, write to | ||
30 | * the Free Software Foundation, 51 Franklin Street, Fifth Floor, | ||
31 | * Boston, MA 02110-1301, USA. | ||
32 | * | ||
33 | * As a special exception, if you link this library with files | ||
34 | * compiled with GCC to produce an executable, this does not cause | ||
35 | * the resulting executable to be covered by the GNU General Public License. | ||
36 | * This exception does not however invalidate any other reasons why | ||
37 | * the executable file might be covered by the GNU General Public License. | ||
38 | */ | ||
39 | |||
40 | .file "crtsavres.S" | ||
41 | .section ".text" | ||
42 | |||
43 | /* On PowerPC64 Linux, these functions are provided by the linker. */ | ||
44 | #ifndef __powerpc64__ | ||
45 | |||
46 | #define _GLOBAL(name) \ | ||
47 | .type name,@function; \ | ||
48 | .globl name; \ | ||
49 | name: | ||
50 | |||
51 | /* Routines for saving integer registers, called by the compiler. */ | ||
52 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
53 | /* function, just beyond the end of the integer save area. */ | ||
54 | |||
55 | _GLOBAL(_savegpr_14) | ||
56 | _GLOBAL(_save32gpr_14) | ||
57 | stw 14,-72(11) /* save gp registers */ | ||
58 | _GLOBAL(_savegpr_15) | ||
59 | _GLOBAL(_save32gpr_15) | ||
60 | stw 15,-68(11) | ||
61 | _GLOBAL(_savegpr_16) | ||
62 | _GLOBAL(_save32gpr_16) | ||
63 | stw 16,-64(11) | ||
64 | _GLOBAL(_savegpr_17) | ||
65 | _GLOBAL(_save32gpr_17) | ||
66 | stw 17,-60(11) | ||
67 | _GLOBAL(_savegpr_18) | ||
68 | _GLOBAL(_save32gpr_18) | ||
69 | stw 18,-56(11) | ||
70 | _GLOBAL(_savegpr_19) | ||
71 | _GLOBAL(_save32gpr_19) | ||
72 | stw 19,-52(11) | ||
73 | _GLOBAL(_savegpr_20) | ||
74 | _GLOBAL(_save32gpr_20) | ||
75 | stw 20,-48(11) | ||
76 | _GLOBAL(_savegpr_21) | ||
77 | _GLOBAL(_save32gpr_21) | ||
78 | stw 21,-44(11) | ||
79 | _GLOBAL(_savegpr_22) | ||
80 | _GLOBAL(_save32gpr_22) | ||
81 | stw 22,-40(11) | ||
82 | _GLOBAL(_savegpr_23) | ||
83 | _GLOBAL(_save32gpr_23) | ||
84 | stw 23,-36(11) | ||
85 | _GLOBAL(_savegpr_24) | ||
86 | _GLOBAL(_save32gpr_24) | ||
87 | stw 24,-32(11) | ||
88 | _GLOBAL(_savegpr_25) | ||
89 | _GLOBAL(_save32gpr_25) | ||
90 | stw 25,-28(11) | ||
91 | _GLOBAL(_savegpr_26) | ||
92 | _GLOBAL(_save32gpr_26) | ||
93 | stw 26,-24(11) | ||
94 | _GLOBAL(_savegpr_27) | ||
95 | _GLOBAL(_save32gpr_27) | ||
96 | stw 27,-20(11) | ||
97 | _GLOBAL(_savegpr_28) | ||
98 | _GLOBAL(_save32gpr_28) | ||
99 | stw 28,-16(11) | ||
100 | _GLOBAL(_savegpr_29) | ||
101 | _GLOBAL(_save32gpr_29) | ||
102 | stw 29,-12(11) | ||
103 | _GLOBAL(_savegpr_30) | ||
104 | _GLOBAL(_save32gpr_30) | ||
105 | stw 30,-8(11) | ||
106 | _GLOBAL(_savegpr_31) | ||
107 | _GLOBAL(_save32gpr_31) | ||
108 | stw 31,-4(11) | ||
109 | blr | ||
110 | |||
111 | /* Routines for restoring integer registers, called by the compiler. */ | ||
112 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
113 | /* function, just beyond the end of the integer restore area. */ | ||
114 | |||
115 | _GLOBAL(_restgpr_14) | ||
116 | _GLOBAL(_rest32gpr_14) | ||
117 | lwz 14,-72(11) /* restore gp registers */ | ||
118 | _GLOBAL(_restgpr_15) | ||
119 | _GLOBAL(_rest32gpr_15) | ||
120 | lwz 15,-68(11) | ||
121 | _GLOBAL(_restgpr_16) | ||
122 | _GLOBAL(_rest32gpr_16) | ||
123 | lwz 16,-64(11) | ||
124 | _GLOBAL(_restgpr_17) | ||
125 | _GLOBAL(_rest32gpr_17) | ||
126 | lwz 17,-60(11) | ||
127 | _GLOBAL(_restgpr_18) | ||
128 | _GLOBAL(_rest32gpr_18) | ||
129 | lwz 18,-56(11) | ||
130 | _GLOBAL(_restgpr_19) | ||
131 | _GLOBAL(_rest32gpr_19) | ||
132 | lwz 19,-52(11) | ||
133 | _GLOBAL(_restgpr_20) | ||
134 | _GLOBAL(_rest32gpr_20) | ||
135 | lwz 20,-48(11) | ||
136 | _GLOBAL(_restgpr_21) | ||
137 | _GLOBAL(_rest32gpr_21) | ||
138 | lwz 21,-44(11) | ||
139 | _GLOBAL(_restgpr_22) | ||
140 | _GLOBAL(_rest32gpr_22) | ||
141 | lwz 22,-40(11) | ||
142 | _GLOBAL(_restgpr_23) | ||
143 | _GLOBAL(_rest32gpr_23) | ||
144 | lwz 23,-36(11) | ||
145 | _GLOBAL(_restgpr_24) | ||
146 | _GLOBAL(_rest32gpr_24) | ||
147 | lwz 24,-32(11) | ||
148 | _GLOBAL(_restgpr_25) | ||
149 | _GLOBAL(_rest32gpr_25) | ||
150 | lwz 25,-28(11) | ||
151 | _GLOBAL(_restgpr_26) | ||
152 | _GLOBAL(_rest32gpr_26) | ||
153 | lwz 26,-24(11) | ||
154 | _GLOBAL(_restgpr_27) | ||
155 | _GLOBAL(_rest32gpr_27) | ||
156 | lwz 27,-20(11) | ||
157 | _GLOBAL(_restgpr_28) | ||
158 | _GLOBAL(_rest32gpr_28) | ||
159 | lwz 28,-16(11) | ||
160 | _GLOBAL(_restgpr_29) | ||
161 | _GLOBAL(_rest32gpr_29) | ||
162 | lwz 29,-12(11) | ||
163 | _GLOBAL(_restgpr_30) | ||
164 | _GLOBAL(_rest32gpr_30) | ||
165 | lwz 30,-8(11) | ||
166 | _GLOBAL(_restgpr_31) | ||
167 | _GLOBAL(_rest32gpr_31) | ||
168 | lwz 31,-4(11) | ||
169 | blr | ||
170 | |||
171 | /* Routines for restoring integer registers, called by the compiler. */ | ||
172 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
173 | /* function, just beyond the end of the integer restore area. */ | ||
174 | |||
175 | _GLOBAL(_restgpr_14_x) | ||
176 | _GLOBAL(_rest32gpr_14_x) | ||
177 | lwz 14,-72(11) /* restore gp registers */ | ||
178 | _GLOBAL(_restgpr_15_x) | ||
179 | _GLOBAL(_rest32gpr_15_x) | ||
180 | lwz 15,-68(11) | ||
181 | _GLOBAL(_restgpr_16_x) | ||
182 | _GLOBAL(_rest32gpr_16_x) | ||
183 | lwz 16,-64(11) | ||
184 | _GLOBAL(_restgpr_17_x) | ||
185 | _GLOBAL(_rest32gpr_17_x) | ||
186 | lwz 17,-60(11) | ||
187 | _GLOBAL(_restgpr_18_x) | ||
188 | _GLOBAL(_rest32gpr_18_x) | ||
189 | lwz 18,-56(11) | ||
190 | _GLOBAL(_restgpr_19_x) | ||
191 | _GLOBAL(_rest32gpr_19_x) | ||
192 | lwz 19,-52(11) | ||
193 | _GLOBAL(_restgpr_20_x) | ||
194 | _GLOBAL(_rest32gpr_20_x) | ||
195 | lwz 20,-48(11) | ||
196 | _GLOBAL(_restgpr_21_x) | ||
197 | _GLOBAL(_rest32gpr_21_x) | ||
198 | lwz 21,-44(11) | ||
199 | _GLOBAL(_restgpr_22_x) | ||
200 | _GLOBAL(_rest32gpr_22_x) | ||
201 | lwz 22,-40(11) | ||
202 | _GLOBAL(_restgpr_23_x) | ||
203 | _GLOBAL(_rest32gpr_23_x) | ||
204 | lwz 23,-36(11) | ||
205 | _GLOBAL(_restgpr_24_x) | ||
206 | _GLOBAL(_rest32gpr_24_x) | ||
207 | lwz 24,-32(11) | ||
208 | _GLOBAL(_restgpr_25_x) | ||
209 | _GLOBAL(_rest32gpr_25_x) | ||
210 | lwz 25,-28(11) | ||
211 | _GLOBAL(_restgpr_26_x) | ||
212 | _GLOBAL(_rest32gpr_26_x) | ||
213 | lwz 26,-24(11) | ||
214 | _GLOBAL(_restgpr_27_x) | ||
215 | _GLOBAL(_rest32gpr_27_x) | ||
216 | lwz 27,-20(11) | ||
217 | _GLOBAL(_restgpr_28_x) | ||
218 | _GLOBAL(_rest32gpr_28_x) | ||
219 | lwz 28,-16(11) | ||
220 | _GLOBAL(_restgpr_29_x) | ||
221 | _GLOBAL(_rest32gpr_29_x) | ||
222 | lwz 29,-12(11) | ||
223 | _GLOBAL(_restgpr_30_x) | ||
224 | _GLOBAL(_rest32gpr_30_x) | ||
225 | lwz 30,-8(11) | ||
226 | _GLOBAL(_restgpr_31_x) | ||
227 | _GLOBAL(_rest32gpr_31_x) | ||
228 | lwz 0,4(11) | ||
229 | lwz 31,-4(11) | ||
230 | mtlr 0 | ||
231 | mr 1,11 | ||
232 | blr | ||
233 | #endif | ||
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts index eac8e1b59496..fea592574004 100644 --- a/arch/powerpc/boot/dts/mpc8377_mds.dts +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts | |||
@@ -268,6 +268,41 @@ | |||
268 | interrupt-parent = <&ipic>; | 268 | interrupt-parent = <&ipic>; |
269 | }; | 269 | }; |
270 | 270 | ||
271 | dma@82a8 { | ||
272 | #address-cells = <1>; | ||
273 | #size-cells = <1>; | ||
274 | compatible = "fsl,mpc8377-dma", "fsl,elo-dma"; | ||
275 | reg = <0x82a8 4>; | ||
276 | ranges = <0 0x8100 0x1a8>; | ||
277 | interrupt-parent = <&ipic>; | ||
278 | interrupts = <0x47 8>; | ||
279 | cell-index = <0>; | ||
280 | dma-channel@0 { | ||
281 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; | ||
282 | reg = <0 0x80>; | ||
283 | interrupt-parent = <&ipic>; | ||
284 | interrupts = <0x47 8>; | ||
285 | }; | ||
286 | dma-channel@80 { | ||
287 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; | ||
288 | reg = <0x80 0x80>; | ||
289 | interrupt-parent = <&ipic>; | ||
290 | interrupts = <0x47 8>; | ||
291 | }; | ||
292 | dma-channel@100 { | ||
293 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; | ||
294 | reg = <0x100 0x80>; | ||
295 | interrupt-parent = <&ipic>; | ||
296 | interrupts = <0x47 8>; | ||
297 | }; | ||
298 | dma-channel@180 { | ||
299 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; | ||
300 | reg = <0x180 0x28>; | ||
301 | interrupt-parent = <&ipic>; | ||
302 | interrupts = <0x47 8>; | ||
303 | }; | ||
304 | }; | ||
305 | |||
271 | /* IPIC | 306 | /* IPIC |
272 | * interrupts cell = <intr #, sense> | 307 | * interrupts cell = <intr #, sense> |
273 | * sense values match linux IORESOURCE_IRQ_* defines: | 308 | * sense values match linux IORESOURCE_IRQ_* defines: |
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts index 5bc09ad016f5..f3083c779b66 100644 --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts | |||
@@ -164,12 +164,6 @@ | |||
164 | reg = <0x2>; | 164 | reg = <0x2>; |
165 | device_type = "ethernet-phy"; | 165 | device_type = "ethernet-phy"; |
166 | }; | 166 | }; |
167 | phy3: ethernet-phy@3 { | ||
168 | interrupt-parent = <&ipic>; | ||
169 | interrupts = <18 0x8>; | ||
170 | reg = <0x3>; | ||
171 | device_type = "ethernet-phy"; | ||
172 | }; | ||
173 | }; | 167 | }; |
174 | 168 | ||
175 | enet0: ethernet@24000 { | 169 | enet0: ethernet@24000 { |
@@ -195,7 +189,7 @@ | |||
195 | interrupts = <35 0x8 36 0x8 37 0x8>; | 189 | interrupts = <35 0x8 36 0x8 37 0x8>; |
196 | phy-connection-type = "mii"; | 190 | phy-connection-type = "mii"; |
197 | interrupt-parent = <&ipic>; | 191 | interrupt-parent = <&ipic>; |
198 | phy-handle = <&phy3>; | 192 | fixed-link = <1 1 1000 0 0>; |
199 | }; | 193 | }; |
200 | 194 | ||
201 | serial0: serial@4500 { | 195 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts index 711f9a30f9ab..0e872a60e091 100644 --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts | |||
@@ -164,12 +164,6 @@ | |||
164 | reg = <0x2>; | 164 | reg = <0x2>; |
165 | device_type = "ethernet-phy"; | 165 | device_type = "ethernet-phy"; |
166 | }; | 166 | }; |
167 | phy3: ethernet-phy@3 { | ||
168 | interrupt-parent = <&ipic>; | ||
169 | interrupts = <18 0x8>; | ||
170 | reg = <0x3>; | ||
171 | device_type = "ethernet-phy"; | ||
172 | }; | ||
173 | }; | 167 | }; |
174 | 168 | ||
175 | enet0: ethernet@24000 { | 169 | enet0: ethernet@24000 { |
@@ -195,7 +189,7 @@ | |||
195 | interrupts = <35 0x8 36 0x8 37 0x8>; | 189 | interrupts = <35 0x8 36 0x8 37 0x8>; |
196 | phy-connection-type = "mii"; | 190 | phy-connection-type = "mii"; |
197 | interrupt-parent = <&ipic>; | 191 | interrupt-parent = <&ipic>; |
198 | phy-handle = <&phy3>; | 192 | fixed-link = <1 1 1000 0 0>; |
199 | }; | 193 | }; |
200 | 194 | ||
201 | serial0: serial@4500 { | 195 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts index c11ceb7d3299..1eb8defaff6f 100644 --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts | |||
@@ -164,12 +164,6 @@ | |||
164 | reg = <0x2>; | 164 | reg = <0x2>; |
165 | device_type = "ethernet-phy"; | 165 | device_type = "ethernet-phy"; |
166 | }; | 166 | }; |
167 | phy3: ethernet-phy@3 { | ||
168 | interrupt-parent = <&ipic>; | ||
169 | interrupts = <18 0x8>; | ||
170 | reg = <0x3>; | ||
171 | device_type = "ethernet-phy"; | ||
172 | }; | ||
173 | }; | 167 | }; |
174 | 168 | ||
175 | enet0: ethernet@24000 { | 169 | enet0: ethernet@24000 { |
@@ -195,7 +189,7 @@ | |||
195 | interrupts = <35 0x8 36 0x8 37 0x8>; | 189 | interrupts = <35 0x8 36 0x8 37 0x8>; |
196 | phy-connection-type = "mii"; | 190 | phy-connection-type = "mii"; |
197 | interrupt-parent = <&ipic>; | 191 | interrupt-parent = <&ipic>; |
198 | phy-handle = <&phy3>; | 192 | fixed-link = <1 1 1000 0 0>; |
199 | }; | 193 | }; |
200 | 194 | ||
201 | serial0: serial@4500 { | 195 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts index fa298a8c81cc..4811b8107415 100644 --- a/arch/powerpc/boot/dts/mpc8548cds.dts +++ b/arch/powerpc/boot/dts/mpc8548cds.dts | |||
@@ -409,7 +409,7 @@ | |||
409 | interrupts = <26 2>; | 409 | interrupts = <26 2>; |
410 | bus-range = <0 255>; | 410 | bus-range = <0 255>; |
411 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 | 411 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 |
412 | 0x1000000 0x0 0x0 0xe3000000 0x0 0x8000000>; | 412 | 0x1000000 0x0 0x0 0xe3000000 0x0 0x100000>; |
413 | clock-frequency = <33333333>; | 413 | clock-frequency = <33333333>; |
414 | #interrupt-cells = <1>; | 414 | #interrupt-cells = <1>; |
415 | #size-cells = <2>; | 415 | #size-cells = <2>; |
@@ -428,7 +428,7 @@ | |||
428 | 428 | ||
429 | 0x1000000 0x0 0x0 | 429 | 0x1000000 0x0 0x0 |
430 | 0x1000000 0x0 0x0 | 430 | 0x1000000 0x0 0x0 |
431 | 0x0 0x8000000>; | 431 | 0x0 0x100000>; |
432 | }; | 432 | }; |
433 | }; | 433 | }; |
434 | }; | 434 | }; |
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index 1f2f1e0a5571..fa9b6bbeb5af 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
@@ -21,6 +21,7 @@ | |||
21 | serial1 = &serial1; | 21 | serial1 = &serial1; |
22 | pci0 = &pci0; | 22 | pci0 = &pci0; |
23 | pci1 = &pci1; | 23 | pci1 = &pci1; |
24 | pci2 = &pci2; | ||
24 | }; | 25 | }; |
25 | 26 | ||
26 | cpus { | 27 | cpus { |
@@ -45,9 +46,63 @@ | |||
45 | reg = <0x00000000 0x20000000>; // 512M at 0x0 | 46 | reg = <0x00000000 0x20000000>; // 512M at 0x0 |
46 | }; | 47 | }; |
47 | 48 | ||
48 | board-control@e8000000 { | 49 | localbus@e0005000 { |
49 | compatible = "fsl,fpga-pixis"; | 50 | #address-cells = <2>; |
50 | reg = <0xe8000000 32>; // pixis at 0xe8000000 | 51 | #size-cells = <1>; |
52 | compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus"; | ||
53 | reg = <0xe0005000 0x1000>; | ||
54 | interrupts = <19 2>; | ||
55 | interrupt-parent = <&mpic>; | ||
56 | ranges = <0 0 0xf8000000 0x08000000 | ||
57 | 1 0 0xf0000000 0x08000000 | ||
58 | 2 0 0xe8400000 0x00008000 | ||
59 | 4 0 0xe8440000 0x00008000 | ||
60 | 5 0 0xe8480000 0x00008000 | ||
61 | 6 0 0xe84c0000 0x00008000 | ||
62 | 3 0 0xe8000000 0x00000020>; | ||
63 | |||
64 | flash@0,0 { | ||
65 | compatible = "cfi-flash"; | ||
66 | reg = <0 0 0x8000000>; | ||
67 | bank-width = <2>; | ||
68 | device-width = <1>; | ||
69 | }; | ||
70 | |||
71 | flash@1,0 { | ||
72 | compatible = "cfi-flash"; | ||
73 | reg = <1 0 0x8000000>; | ||
74 | bank-width = <2>; | ||
75 | device-width = <1>; | ||
76 | }; | ||
77 | |||
78 | flash@2,0 { | ||
79 | compatible = "fsl,mpc8610-fcm-nand", | ||
80 | "fsl,elbc-fcm-nand"; | ||
81 | reg = <2 0 0x8000>; | ||
82 | }; | ||
83 | |||
84 | flash@4,0 { | ||
85 | compatible = "fsl,mpc8610-fcm-nand", | ||
86 | "fsl,elbc-fcm-nand"; | ||
87 | reg = <4 0 0x8000>; | ||
88 | }; | ||
89 | |||
90 | flash@5,0 { | ||
91 | compatible = "fsl,mpc8610-fcm-nand", | ||
92 | "fsl,elbc-fcm-nand"; | ||
93 | reg = <5 0 0x8000>; | ||
94 | }; | ||
95 | |||
96 | flash@6,0 { | ||
97 | compatible = "fsl,mpc8610-fcm-nand", | ||
98 | "fsl,elbc-fcm-nand"; | ||
99 | reg = <6 0 0x8000>; | ||
100 | }; | ||
101 | |||
102 | board-control@3,0 { | ||
103 | compatible = "fsl,fpga-pixis"; | ||
104 | reg = <3 0 0x20>; | ||
105 | }; | ||
51 | }; | 106 | }; |
52 | 107 | ||
53 | soc@e0000000 { | 108 | soc@e0000000 { |
@@ -105,7 +160,7 @@ | |||
105 | compatible = "ns16550"; | 160 | compatible = "ns16550"; |
106 | reg = <0x4600 0x100>; | 161 | reg = <0x4600 0x100>; |
107 | clock-frequency = <0>; | 162 | clock-frequency = <0>; |
108 | interrupts = <28 2>; | 163 | interrupts = <42 2>; |
109 | interrupt-parent = <&mpic>; | 164 | interrupt-parent = <&mpic>; |
110 | }; | 165 | }; |
111 | 166 | ||
@@ -196,14 +251,14 @@ | |||
196 | dma@c300 { | 251 | dma@c300 { |
197 | #address-cells = <1>; | 252 | #address-cells = <1>; |
198 | #size-cells = <1>; | 253 | #size-cells = <1>; |
199 | compatible = "fsl,mpc8610-dma", "fsl,mpc8540-dma"; | 254 | compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma"; |
200 | cell-index = <1>; | 255 | cell-index = <1>; |
201 | reg = <0xc300 0x4>; /* DMA general status register */ | 256 | reg = <0xc300 0x4>; /* DMA general status register */ |
202 | ranges = <0x0 0xc100 0x200>; | 257 | ranges = <0x0 0xc100 0x200>; |
203 | 258 | ||
204 | dma-channel@0 { | 259 | dma-channel@0 { |
205 | compatible = "fsl,mpc8610-dma-channel", | 260 | compatible = "fsl,mpc8610-dma-channel", |
206 | "fsl,mpc8540-dma-channel"; | 261 | "fsl,eloplus-dma-channel"; |
207 | cell-index = <0>; | 262 | cell-index = <0>; |
208 | reg = <0x0 0x80>; | 263 | reg = <0x0 0x80>; |
209 | interrupt-parent = <&mpic>; | 264 | interrupt-parent = <&mpic>; |
@@ -211,7 +266,7 @@ | |||
211 | }; | 266 | }; |
212 | dma-channel@1 { | 267 | dma-channel@1 { |
213 | compatible = "fsl,mpc8610-dma-channel", | 268 | compatible = "fsl,mpc8610-dma-channel", |
214 | "fsl,mpc8540-dma-channel"; | 269 | "fsl,eloplus-dma-channel"; |
215 | cell-index = <1>; | 270 | cell-index = <1>; |
216 | reg = <0x80 0x80>; | 271 | reg = <0x80 0x80>; |
217 | interrupt-parent = <&mpic>; | 272 | interrupt-parent = <&mpic>; |
@@ -219,7 +274,7 @@ | |||
219 | }; | 274 | }; |
220 | dma-channel@2 { | 275 | dma-channel@2 { |
221 | compatible = "fsl,mpc8610-dma-channel", | 276 | compatible = "fsl,mpc8610-dma-channel", |
222 | "fsl,mpc8540-dma-channel"; | 277 | "fsl,eloplus-dma-channel"; |
223 | cell-index = <2>; | 278 | cell-index = <2>; |
224 | reg = <0x100 0x80>; | 279 | reg = <0x100 0x80>; |
225 | interrupt-parent = <&mpic>; | 280 | interrupt-parent = <&mpic>; |
@@ -227,7 +282,7 @@ | |||
227 | }; | 282 | }; |
228 | dma-channel@3 { | 283 | dma-channel@3 { |
229 | compatible = "fsl,mpc8610-dma-channel", | 284 | compatible = "fsl,mpc8610-dma-channel", |
230 | "fsl,mpc8540-dma-channel"; | 285 | "fsl,eloplus-dma-channel"; |
231 | cell-index = <3>; | 286 | cell-index = <3>; |
232 | reg = <0x180 0x80>; | 287 | reg = <0x180 0x80>; |
233 | interrupt-parent = <&mpic>; | 288 | interrupt-parent = <&mpic>; |
@@ -322,4 +377,24 @@ | |||
322 | }; | 377 | }; |
323 | }; | 378 | }; |
324 | }; | 379 | }; |
380 | |||
381 | pci2: pcie@e0009000 { | ||
382 | #address-cells = <3>; | ||
383 | #size-cells = <2>; | ||
384 | #interrupt-cells = <1>; | ||
385 | device_type = "pci"; | ||
386 | compatible = "fsl,mpc8641-pcie"; | ||
387 | reg = <0xe0009000 0x00001000>; | ||
388 | ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000 | ||
389 | 0x01000000 0 0x00000000 0xe2000000 0 0x00100000>; | ||
390 | bus-range = <0 255>; | ||
391 | interrupt-map-mask = <0xf800 0 0 7>; | ||
392 | interrupt-map = <0x0000 0 0 1 &mpic 4 1 | ||
393 | 0x0000 0 0 2 &mpic 5 1 | ||
394 | 0x0000 0 0 3 &mpic 6 1 | ||
395 | 0x0000 0 0 4 &mpic 7 1>; | ||
396 | interrupt-parent = <&mpic>; | ||
397 | interrupts = <25 2>; | ||
398 | clock-frequency = <33333333>; | ||
399 | }; | ||
325 | }; | 400 | }; |
diff --git a/arch/powerpc/boot/dts/sbc8548.dts b/arch/powerpc/boot/dts/sbc8548.dts index b86e65d926c1..22d967178fe9 100644 --- a/arch/powerpc/boot/dts/sbc8548.dts +++ b/arch/powerpc/boot/dts/sbc8548.dts | |||
@@ -52,6 +52,99 @@ | |||
52 | reg = <0x00000000 0x10000000>; | 52 | reg = <0x00000000 0x10000000>; |
53 | }; | 53 | }; |
54 | 54 | ||
55 | localbus@e0000000 { | ||
56 | #address-cells = <2>; | ||
57 | #size-cells = <1>; | ||
58 | compatible = "simple-bus"; | ||
59 | reg = <0xe0000000 0x5000>; | ||
60 | interrupt-parent = <&mpic>; | ||
61 | |||
62 | ranges = <0x0 0x0 0xff800000 0x00800000 /*8MB Flash*/ | ||
63 | 0x3 0x0 0xf0000000 0x04000000 /*64MB SDRAM*/ | ||
64 | 0x4 0x0 0xf4000000 0x04000000 /*64MB SDRAM*/ | ||
65 | 0x5 0x0 0xf8000000 0x00b10000 /* EPLD */ | ||
66 | 0x6 0x0 0xfb800000 0x04000000>; /*64MB Flash*/ | ||
67 | |||
68 | |||
69 | flash@0,0 { | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <1>; | ||
72 | compatible = "cfi-flash"; | ||
73 | reg = <0x0 0x0 0x800000>; | ||
74 | bank-width = <1>; | ||
75 | device-width = <1>; | ||
76 | partition@0x0 { | ||
77 | label = "space"; | ||
78 | reg = <0x00000000 0x00100000>; | ||
79 | }; | ||
80 | partition@0x100000 { | ||
81 | label = "bootloader"; | ||
82 | reg = <0x00100000 0x00700000>; | ||
83 | read-only; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | epld@5,0 { | ||
88 | compatible = "wrs,epld-localbus"; | ||
89 | #address-cells = <2>; | ||
90 | #size-cells = <1>; | ||
91 | reg = <0x5 0x0 0x00b10000>; | ||
92 | ranges = < | ||
93 | 0x0 0x0 0x5 0x000000 0x1fff /* LED */ | ||
94 | 0x1 0x0 0x5 0x100000 0x1fff /* Switches */ | ||
95 | 0x3 0x0 0x5 0x300000 0x1fff /* HW Rev. */ | ||
96 | 0xb 0x0 0x5 0xb00000 0x1fff /* EEPROM */ | ||
97 | >; | ||
98 | |||
99 | led@0,0 { | ||
100 | compatible = "led"; | ||
101 | reg = <0x0 0x0 0x1fff>; | ||
102 | }; | ||
103 | |||
104 | switches@1,0 { | ||
105 | compatible = "switches"; | ||
106 | reg = <0x1 0x0 0x1fff>; | ||
107 | }; | ||
108 | |||
109 | hw-rev@3,0 { | ||
110 | compatible = "hw-rev"; | ||
111 | reg = <0x3 0x0 0x1fff>; | ||
112 | }; | ||
113 | |||
114 | eeprom@b,0 { | ||
115 | compatible = "eeprom"; | ||
116 | reg = <0xb 0 0x1fff>; | ||
117 | }; | ||
118 | |||
119 | }; | ||
120 | |||
121 | alt-flash@6,0 { | ||
122 | #address-cells = <1>; | ||
123 | #size-cells = <1>; | ||
124 | reg = <0x6 0x0 0x04000000>; | ||
125 | compatible = "cfi-flash"; | ||
126 | bank-width = <4>; | ||
127 | device-width = <1>; | ||
128 | partition@0x0 { | ||
129 | label = "bootloader"; | ||
130 | reg = <0x00000000 0x00100000>; | ||
131 | read-only; | ||
132 | }; | ||
133 | partition@0x00100000 { | ||
134 | label = "file-system"; | ||
135 | reg = <0x00100000 0x01f00000>; | ||
136 | }; | ||
137 | partition@0x02000000 { | ||
138 | label = "boot-config"; | ||
139 | reg = <0x02000000 0x00100000>; | ||
140 | }; | ||
141 | partition@0x02100000 { | ||
142 | label = "space"; | ||
143 | reg = <0x02100000 0x01f00000>; | ||
144 | }; | ||
145 | }; | ||
146 | }; | ||
147 | |||
55 | soc8548@e0000000 { | 148 | soc8548@e0000000 { |
56 | #address-cells = <1>; | 149 | #address-cells = <1>; |
57 | #size-cells = <1>; | 150 | #size-cells = <1>; |
@@ -59,6 +152,7 @@ | |||
59 | ranges = <0x00000000 0xe0000000 0x00100000>; | 152 | ranges = <0x00000000 0xe0000000 0x00100000>; |
60 | reg = <0xe0000000 0x00001000>; // CCSRBAR | 153 | reg = <0xe0000000 0x00001000>; // CCSRBAR |
61 | bus-frequency = <0>; | 154 | bus-frequency = <0>; |
155 | compatible = "simple-bus"; | ||
62 | 156 | ||
63 | memory-controller@2000 { | 157 | memory-controller@2000 { |
64 | compatible = "fsl,8548-memory-controller"; | 158 | compatible = "fsl,8548-memory-controller"; |
diff --git a/arch/powerpc/boot/dts/sequoia.dts b/arch/powerpc/boot/dts/sequoia.dts index a1ae4d6ec990..72d67564bdfc 100644 --- a/arch/powerpc/boot/dts/sequoia.dts +++ b/arch/powerpc/boot/dts/sequoia.dts | |||
@@ -342,9 +342,14 @@ | |||
342 | /* Outbound ranges, one memory and one IO, | 342 | /* Outbound ranges, one memory and one IO, |
343 | * later cannot be changed. Chip supports a second | 343 | * later cannot be changed. Chip supports a second |
344 | * IO range but we don't use it for now | 344 | * IO range but we don't use it for now |
345 | * From the 440EPx user manual: | ||
346 | * PCI 1 Memory 1 8000 0000 1 BFFF FFFF 1GB | ||
347 | * I/O 1 E800 0000 1 E800 FFFF 64KB | ||
348 | * I/O 1 E880 0000 1 EBFF FFFF 56MB | ||
345 | */ | 349 | */ |
346 | ranges = <02000000 0 80000000 1 80000000 0 10000000 | 350 | ranges = <02000000 0 80000000 1 80000000 0 40000000 |
347 | 01000000 0 00000000 1 e8000000 0 00100000>; | 351 | 01000000 0 00000000 1 e8000000 0 00010000 |
352 | 01000000 0 00000000 1 e8800000 0 03800000>; | ||
348 | 353 | ||
349 | /* Inbound 2GB range starting at 0 */ | 354 | /* Inbound 2GB range starting at 0 */ |
350 | dma-ranges = <42000000 0 0 0 0 0 80000000>; | 355 | dma-ranges = <42000000 0 0 0 0 0 80000000>; |