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 | 10 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8377_mds.dts | 18 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8610_hpcd.dts | 10 |
5 files changed, 48 insertions, 19 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..d53b84e761a9 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -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 |
@@ -339,7 +339,9 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
339 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< | 339 | sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< |
340 | 340 | ||
341 | # anything not in $(targets) | 341 | # anything not in $(targets) |
342 | clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \ | 342 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ |
343 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ | ||
344 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ | ||
343 | otheros.bld *.dtb | 345 | otheros.bld *.dtb |
344 | 346 | ||
345 | # clean up files cached by wrapper | 347 | # clean up files cached by wrapper |
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts index 1e7802cc31ae..fea592574004 100644 --- a/arch/powerpc/boot/dts/mpc8377_mds.dts +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts | |||
@@ -271,27 +271,35 @@ | |||
271 | dma@82a8 { | 271 | dma@82a8 { |
272 | #address-cells = <1>; | 272 | #address-cells = <1>; |
273 | #size-cells = <1>; | 273 | #size-cells = <1>; |
274 | compatible = "fsl,mpc8349-dma"; | 274 | compatible = "fsl,mpc8377-dma", "fsl,elo-dma"; |
275 | reg = <0x82a8 4>; | 275 | reg = <0x82a8 4>; |
276 | ranges = <0 0x8100 0x1a8>; | 276 | ranges = <0 0x8100 0x1a8>; |
277 | interrupt-parent = <&ipic>; | 277 | interrupt-parent = <&ipic>; |
278 | interrupts = <0x47 8>; | 278 | interrupts = <0x47 8>; |
279 | cell-index = <0>; | 279 | cell-index = <0>; |
280 | dma-channel@0 { | 280 | dma-channel@0 { |
281 | compatible = "fsl,mpc8349-dma-channel"; | 281 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; |
282 | reg = <0 0x80>; | 282 | reg = <0 0x80>; |
283 | interrupt-parent = <&ipic>; | ||
284 | interrupts = <0x47 8>; | ||
283 | }; | 285 | }; |
284 | dma-channel@80 { | 286 | dma-channel@80 { |
285 | compatible = "fsl,mpc8349-dma-channel"; | 287 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; |
286 | reg = <0x80 0x80>; | 288 | reg = <0x80 0x80>; |
289 | interrupt-parent = <&ipic>; | ||
290 | interrupts = <0x47 8>; | ||
287 | }; | 291 | }; |
288 | dma-channel@100 { | 292 | dma-channel@100 { |
289 | compatible = "fsl,mpc8349-dma-channel"; | 293 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; |
290 | reg = <0x100 0x80>; | 294 | reg = <0x100 0x80>; |
295 | interrupt-parent = <&ipic>; | ||
296 | interrupts = <0x47 8>; | ||
291 | }; | 297 | }; |
292 | dma-channel@180 { | 298 | dma-channel@180 { |
293 | compatible = "fsl,mpc8349-dma-channel"; | 299 | compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel"; |
294 | reg = <0x180 0x28>; | 300 | reg = <0x180 0x28>; |
301 | interrupt-parent = <&ipic>; | ||
302 | interrupts = <0x47 8>; | ||
295 | }; | 303 | }; |
296 | }; | 304 | }; |
297 | 305 | ||
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index 08a780d89807..fa9b6bbeb5af 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
@@ -251,14 +251,14 @@ | |||
251 | dma@c300 { | 251 | dma@c300 { |
252 | #address-cells = <1>; | 252 | #address-cells = <1>; |
253 | #size-cells = <1>; | 253 | #size-cells = <1>; |
254 | compatible = "fsl,mpc8610-dma", "fsl,mpc8540-dma"; | 254 | compatible = "fsl,mpc8610-dma", "fsl,eloplus-dma"; |
255 | cell-index = <1>; | 255 | cell-index = <1>; |
256 | reg = <0xc300 0x4>; /* DMA general status register */ | 256 | reg = <0xc300 0x4>; /* DMA general status register */ |
257 | ranges = <0x0 0xc100 0x200>; | 257 | ranges = <0x0 0xc100 0x200>; |
258 | 258 | ||
259 | dma-channel@0 { | 259 | dma-channel@0 { |
260 | compatible = "fsl,mpc8610-dma-channel", | 260 | compatible = "fsl,mpc8610-dma-channel", |
261 | "fsl,mpc8540-dma-channel"; | 261 | "fsl,eloplus-dma-channel"; |
262 | cell-index = <0>; | 262 | cell-index = <0>; |
263 | reg = <0x0 0x80>; | 263 | reg = <0x0 0x80>; |
264 | interrupt-parent = <&mpic>; | 264 | interrupt-parent = <&mpic>; |
@@ -266,7 +266,7 @@ | |||
266 | }; | 266 | }; |
267 | dma-channel@1 { | 267 | dma-channel@1 { |
268 | compatible = "fsl,mpc8610-dma-channel", | 268 | compatible = "fsl,mpc8610-dma-channel", |
269 | "fsl,mpc8540-dma-channel"; | 269 | "fsl,eloplus-dma-channel"; |
270 | cell-index = <1>; | 270 | cell-index = <1>; |
271 | reg = <0x80 0x80>; | 271 | reg = <0x80 0x80>; |
272 | interrupt-parent = <&mpic>; | 272 | interrupt-parent = <&mpic>; |
@@ -274,7 +274,7 @@ | |||
274 | }; | 274 | }; |
275 | dma-channel@2 { | 275 | dma-channel@2 { |
276 | compatible = "fsl,mpc8610-dma-channel", | 276 | compatible = "fsl,mpc8610-dma-channel", |
277 | "fsl,mpc8540-dma-channel"; | 277 | "fsl,eloplus-dma-channel"; |
278 | cell-index = <2>; | 278 | cell-index = <2>; |
279 | reg = <0x100 0x80>; | 279 | reg = <0x100 0x80>; |
280 | interrupt-parent = <&mpic>; | 280 | interrupt-parent = <&mpic>; |
@@ -282,7 +282,7 @@ | |||
282 | }; | 282 | }; |
283 | dma-channel@3 { | 283 | dma-channel@3 { |
284 | compatible = "fsl,mpc8610-dma-channel", | 284 | compatible = "fsl,mpc8610-dma-channel", |
285 | "fsl,mpc8540-dma-channel"; | 285 | "fsl,eloplus-dma-channel"; |
286 | cell-index = <3>; | 286 | cell-index = <3>; |
287 | reg = <0x180 0x80>; | 287 | reg = <0x180 0x80>; |
288 | interrupt-parent = <&mpic>; | 288 | interrupt-parent = <&mpic>; |