diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-01 17:13:14 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-01 17:13:14 -0400 |
| commit | aef4b9aaae1decc775778903922bd0075cce7a88 (patch) | |
| tree | 31aeace86eaaf42c63b5dbe807226285d0752a41 | |
| parent | 709d015bb810a3377feaee3093d110a17e919019 (diff) | |
| parent | a7fed9f7369bfcfabed7aca1d608d286f2dfa7f6 (diff) | |
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc: Don't export cvt_fd & _df when CONFIG_PPC_FPU is not set
powerpc/44x: icon: select SM502 and frame buffer console support
powerpc/85xx: Add P1021MDS board support
powerpc/85xx: Change MPC8572DS camp dtses for MSI sharing
powerpc/fsl_msi: add removal path and probe failing path
powerpc/fsl_msi: enable msi sharing through AMP OSes
powerpc/fsl_msi: enable msi allocation in all banks
powerpc/fsl_msi: fix the conflict of virt_msir's chip_data
powerpc/fsl_msi: Add multiple MSI bank support
powerpc/kexec: Add support for FSL-BookE
powerpc/fsl-booke: Move the entry setup code into a seperate file
powerpc/fsl-booke: fix the case where we are not in the first page
powerpc/85xx: Enable support for ports 3 and 4 on 8548 CDS
powerpc/fsl-booke: Add hibernation support for FSL BookE processors
powerpc/e500mc: Implement machine check handler.
powerpc/44x: Add basic ICON PPC440SPe board support
powerpc/44x: Fix UART clocks on 440SPe
powerpc/44x: Add reset-type to katmai.dts
powerpc/44x: Adding PCI-E support for PowerPC 460SX based SOC.
29 files changed, 3712 insertions, 258 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 66a315e06dce..328774bd41ee 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -351,7 +351,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE | |||
| 351 | 351 | ||
| 352 | config KEXEC | 352 | config KEXEC |
| 353 | bool "kexec system call (EXPERIMENTAL)" | 353 | bool "kexec system call (EXPERIMENTAL)" |
| 354 | depends on PPC_BOOK3S && EXPERIMENTAL | 354 | depends on (PPC_BOOK3S || (FSL_BOOKE && !SMP)) && EXPERIMENTAL |
| 355 | help | 355 | help |
| 356 | kexec is a system call that implements the ability to shutdown your | 356 | kexec is a system call that implements the ability to shutdown your |
| 357 | current kernel, and to start another kernel. It is like a reboot | 357 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 27db8938827a..9d3bd4c45a24 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
| @@ -519,7 +519,7 @@ void ibm440ep_fixup_clocks(unsigned int sys_clk, | |||
| 519 | { | 519 | { |
| 520 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0); | 520 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0); |
| 521 | 521 | ||
| 522 | /* serial clocks beed fixup based on int/ext */ | 522 | /* serial clocks need fixup based on int/ext */ |
| 523 | eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk); | 523 | eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk); |
| 524 | eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk); | 524 | eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk); |
| 525 | eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk); | 525 | eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk); |
| @@ -532,7 +532,7 @@ void ibm440gx_fixup_clocks(unsigned int sys_clk, | |||
| 532 | { | 532 | { |
| 533 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); | 533 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); |
| 534 | 534 | ||
| 535 | /* serial clocks beed fixup based on int/ext */ | 535 | /* serial clocks need fixup based on int/ext */ |
| 536 | eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk); | 536 | eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk); |
| 537 | eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk); | 537 | eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk); |
| 538 | } | 538 | } |
| @@ -543,10 +543,10 @@ void ibm440spe_fixup_clocks(unsigned int sys_clk, | |||
| 543 | { | 543 | { |
| 544 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); | 544 | unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); |
| 545 | 545 | ||
| 546 | /* serial clocks beed fixup based on int/ext */ | 546 | /* serial clocks need fixup based on int/ext */ |
| 547 | eplike_fixup_uart_clk(0, "/plb/opb/serial@10000200", ser_clk, plb_clk); | 547 | eplike_fixup_uart_clk(0, "/plb/opb/serial@f0000200", ser_clk, plb_clk); |
| 548 | eplike_fixup_uart_clk(1, "/plb/opb/serial@10000300", ser_clk, plb_clk); | 548 | eplike_fixup_uart_clk(1, "/plb/opb/serial@f0000300", ser_clk, plb_clk); |
| 549 | eplike_fixup_uart_clk(2, "/plb/opb/serial@10000600", ser_clk, plb_clk); | 549 | eplike_fixup_uart_clk(2, "/plb/opb/serial@f0000600", ser_clk, plb_clk); |
| 550 | } | 550 | } |
| 551 | 551 | ||
| 552 | void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk) | 552 | void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk) |
diff --git a/arch/powerpc/boot/dts/icon.dts b/arch/powerpc/boot/dts/icon.dts new file mode 100644 index 000000000000..abcd0caeccae --- /dev/null +++ b/arch/powerpc/boot/dts/icon.dts | |||
| @@ -0,0 +1,447 @@ | |||
| 1 | /* | ||
| 2 | * Device Tree Source for Mosaix Technologies, Inc. ICON board | ||
| 3 | * | ||
| 4 | * Copyright 2010 DENX Software Engineering, Stefan Roese <sr@denx.de> | ||
| 5 | * | ||
| 6 | * This file is licensed under the terms of the GNU General Public | ||
| 7 | * License version 2. This program is licensed "as is" without | ||
| 8 | * any warranty of any kind, whether express or implied. | ||
| 9 | */ | ||
| 10 | |||
| 11 | /dts-v1/; | ||
| 12 | |||
| 13 | / { | ||
| 14 | #address-cells = <2>; | ||
| 15 | #size-cells = <2>; | ||
| 16 | model = "mosaixtech,icon"; | ||
| 17 | compatible = "mosaixtech,icon"; | ||
| 18 | dcr-parent = <&{/cpus/cpu@0}>; | ||
| 19 | |||
| 20 | aliases { | ||
| 21 | ethernet0 = &EMAC0; | ||
| 22 | serial0 = &UART0; | ||
| 23 | serial1 = &UART1; | ||
| 24 | serial2 = &UART2; | ||
| 25 | }; | ||
| 26 | |||
| 27 | cpus { | ||
| 28 | #address-cells = <1>; | ||
| 29 | #size-cells = <0>; | ||
| 30 | |||
| 31 | cpu@0 { | ||
| 32 | device_type = "cpu"; | ||
| 33 | model = "PowerPC,440SPe"; | ||
| 34 | reg = <0x00000000>; | ||
| 35 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
| 36 | timebase-frequency = <0>; /* Filled in by U-Boot */ | ||
| 37 | i-cache-line-size = <32>; | ||
| 38 | d-cache-line-size = <32>; | ||
| 39 | i-cache-size = <32768>; | ||
| 40 | d-cache-size = <32768>; | ||
| 41 | dcr-controller; | ||
| 42 | dcr-access-method = "native"; | ||
| 43 | reset-type = <2>; /* Use chip-reset */ | ||
| 44 | }; | ||
| 45 | }; | ||
| 46 | |||
| 47 | memory { | ||
| 48 | device_type = "memory"; | ||
| 49 | reg = <0x0 0x00000000 0x0 0x00000000>; /* Filled in by U-Boot */ | ||
| 50 | }; | ||
| 51 | |||
| 52 | UIC0: interrupt-controller0 { | ||
| 53 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
| 54 | interrupt-controller; | ||
| 55 | cell-index = <0>; | ||
| 56 | dcr-reg = <0x0c0 0x009>; | ||
| 57 | #address-cells = <0>; | ||
| 58 | #size-cells = <0>; | ||
| 59 | #interrupt-cells = <2>; | ||
| 60 | }; | ||
| 61 | |||
| 62 | UIC1: interrupt-controller1 { | ||
| 63 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
| 64 | interrupt-controller; | ||
| 65 | cell-index = <1>; | ||
| 66 | dcr-reg = <0x0d0 0x009>; | ||
| 67 | #address-cells = <0>; | ||
| 68 | #size-cells = <0>; | ||
| 69 | #interrupt-cells = <2>; | ||
| 70 | interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ | ||
| 71 | interrupt-parent = <&UIC0>; | ||
| 72 | }; | ||
| 73 | |||
| 74 | UIC2: interrupt-controller2 { | ||
| 75 | compatible = "ibm,uic-440spe","ibm,uic"; | ||
| 76 | interrupt-controller; | ||
| 77 | cell-index = <2>; | ||
| 78 | dcr-reg = <0x0e0 0x009>; | ||
| 79 | #address-cells = <0>; | ||
| 80 | #size-cells = <0>; | ||
| 81 | #interrupt-cells = <2>; | ||
| 82 | interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ | ||
| 83 | interrupt-parent = <&UIC0>; | ||
| 84 | }; | ||
| 85 | |||
| 86 | |||
