aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/44x
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2008-03-27 10:43:31 -0400
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2008-04-02 21:44:56 -0400
commit93173ce272e54f81460986ff5040d16ab79488a9 (patch)
tree7bb4e15ac4cf3853f81e358fb1b21aa2fef6b4ce /arch/powerpc/platforms/44x
parentd2477b5cc8ca95b8c15133ffbbebf0bd9783f560 (diff)
[POWERPC] 4xx: Create common ppc4xx_reset_system() in ppc4xx_soc.c
This patch creates a common system reset routine for all 40x and 44x systems. Previously only a 44x routine existed. But since this system reset via the debug control register is common for 40x and 44x let's share this code for all those platforms in ppc4xx_soc.c. This patch also enables CONFIG_4xx_SOC for all 40x and 44x platforms. Tested on Kilauea (405EX) and Canyonlands (440EX). Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/platforms/44x')
-rw-r--r--arch/powerpc/platforms/44x/44x.h1
-rw-r--r--arch/powerpc/platforms/44x/Kconfig1
-rw-r--r--arch/powerpc/platforms/44x/bamboo.c15
-rw-r--r--arch/powerpc/platforms/44x/canyonlands.c5
-rw-r--r--arch/powerpc/platforms/44x/ebony.c5
-rw-r--r--arch/powerpc/platforms/44x/katmai.c5
-rw-r--r--arch/powerpc/platforms/44x/misc_44x.S11
-rw-r--r--arch/powerpc/platforms/44x/rainier.c4
-rw-r--r--arch/powerpc/platforms/44x/sequoia.c4
-rw-r--r--arch/powerpc/platforms/44x/taishan.c5
-rw-r--r--arch/powerpc/platforms/44x/warp.c6
11 files changed, 21 insertions, 41 deletions
diff --git a/arch/powerpc/platforms/44x/44x.h b/arch/powerpc/platforms/44x/44x.h
index 42eabf87fea3..dbc4d2b4301a 100644
--- a/arch/powerpc/platforms/44x/44x.h
+++ b/arch/powerpc/platforms/44x/44x.h
@@ -3,6 +3,5 @@
3 3
4extern u8 as1_readb(volatile u8 __iomem *addr); 4extern u8 as1_readb(volatile u8 __iomem *addr);
5extern void as1_writeb(u8 data, volatile u8 __iomem *addr); 5extern void as1_writeb(u8 data, volatile u8 __iomem *addr);
6extern void ppc44x_reset_system(char *cmd);
7 6
8#endif /* __POWERPC_PLATFORMS_44X_44X_H */ 7#endif /* __POWERPC_PLATFORMS_44X_44X_H */
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 5fc28aa459e3..6abe91357eee 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -129,7 +129,6 @@ config 440GP
129 129
130config 440GX 130config 440GX
131 bool 131 bool
132 select 4xx_SOC
133 select IBM_NEW_EMAC_EMAC4 132 select IBM_NEW_EMAC_EMAC4
134 select IBM_NEW_EMAC_RGMII 133 select IBM_NEW_EMAC_RGMII
135 select IBM_NEW_EMAC_ZMII #test only 134 select IBM_NEW_EMAC_ZMII #test only
diff --git a/arch/powerpc/platforms/44x/bamboo.c b/arch/powerpc/platforms/44x/bamboo.c
index fb9a22a7e8d0..cef169e95156 100644
--- a/arch/powerpc/platforms/44x/bamboo.c
+++ b/arch/powerpc/platforms/44x/bamboo.c
@@ -22,8 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25#include <asm/ppc4xx.h>
26#include "44x.h"
27 26
28static __initdata struct of_device_id bamboo_of_bus[] = { 27static __initdata struct of_device_id bamboo_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -53,11 +52,11 @@ static int __init bamboo_probe(void)
53} 52}
54 53
55define_machine(bamboo) { 54define_machine(bamboo) {
56 .name = "Bamboo", 55 .name = "Bamboo",
57 .probe = bamboo_probe, 56 .probe = bamboo_probe,
58 .progress = udbg_progress, 57 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
63}; 62};
diff --git a/arch/powerpc/platforms/44x/canyonlands.c b/arch/powerpc/platforms/44x/canyonlands.c
index dac5b3203696..3949289f51df 100644
--- a/arch/powerpc/platforms/44x/canyonlands.c
+++ b/arch/powerpc/platforms/44x/canyonlands.c
@@ -23,8 +23,7 @@
23#include <asm/time.h> 23#include <asm/time.h>
24#include <asm/uic.h> 24#include <asm/uic.h>
25#include <asm/pci-bridge.h> 25#include <asm/pci-bridge.h>
26 26#include <asm/ppc4xx.h>
27#include "44x.h"
28 27
29static __initdata struct of_device_id canyonlands_of_bus[] = { 28static __initdata struct of_device_id canyonlands_of_bus[] = {
30 { .compatible = "ibm,plb4", }, 29 { .compatible = "ibm,plb4", },
@@ -59,6 +58,6 @@ define_machine(canyonlands) {
59 .progress = udbg_progress, 58 .progress = udbg_progress,
60 .init_IRQ = uic_init_tree, 59 .init_IRQ = uic_init_tree,
61 .get_irq = uic_get_irq, 60 .get_irq = uic_get_irq,
62 .restart = ppc44x_reset_system, 61 .restart = ppc4xx_reset_system,
63 .calibrate_decr = generic_calibrate_decr, 62 .calibrate_decr = generic_calibrate_decr,
64}; 63};
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c
index 1a8d467bff85..a0e8fe4662f6 100644
--- a/arch/powerpc/platforms/44x/ebony.c
+++ b/arch/powerpc/platforms/44x/ebony.c
@@ -26,8 +26,7 @@
26#include <asm/time.h> 26#include <asm/time.h>
27#include <asm/uic.h> 27#include <asm/uic.h>
28#include <asm/pci-bridge.h> 28#include <asm/pci-bridge.h>
29 29#include <asm/ppc4xx.h>
30#include "44x.h"
31 30
32static __initdata struct of_device_id ebony_of_bus[] = { 31static __initdata struct of_device_id ebony_of_bus[] = {
33 { .compatible = "ibm,plb4", }, 32 { .compatible = "ibm,plb4", },
@@ -66,6 +65,6 @@ define_machine(ebony) {
66 .progress = udbg_progress, 65 .progress = udbg_progress,
67 .init_IRQ = uic_init_tree, 66 .init_IRQ = uic_init_tree,
68 .get_irq = uic_get_irq, 67 .get_irq = uic_get_irq,
69 .restart = ppc44x_reset_system, 68 .restart = ppc4xx_reset_system,
70 .calibrate_decr = generic_calibrate_decr, 69 .calibrate_decr = generic_calibrate_decr,
71}; 70};
diff --git a/arch/powerpc/platforms/44x/katmai.c b/arch/powerpc/platforms/44x/katmai.c
index 11134121f272..44f4b3a00ced 100644
--- a/arch/powerpc/platforms/44x/katmai.c
+++ b/arch/powerpc/platforms/44x/katmai.c
@@ -22,8 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25#include <asm/ppc4xx.h>
26#include "44x.h"
27 26
28static __initdata struct of_device_id katmai_of_bus[] = { 27static __initdata struct of_device_id katmai_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -58,6 +57,6 @@ define_machine(katmai) {
58 .progress = udbg_progress, 57 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
63}; 62};
diff --git a/arch/powerpc/platforms/44x/misc_44x.S b/arch/powerpc/platforms/44x/misc_44x.S
index 3bce71d5d756..dc12b8009e48 100644
--- a/arch/powerpc/platforms/44x/misc_44x.S
+++ b/arch/powerpc/platforms/44x/misc_44x.S
@@ -44,14 +44,3 @@ _GLOBAL(as1_writeb)
44 sync 44 sync
45 isync 45 isync
46 blr 46 blr
47
48/*
49 * void ppc44x_reset_system(char *cmd)
50 *
51 * At present, this routine just applies a system reset.
52 */
53_GLOBAL(ppc44x_reset_system)
54 mfspr r13,SPRN_DBCR0
55 oris r13,r13,DBCR0_RST_SYSTEM@h
56 mtspr SPRN_DBCR0,r13
57 b . /* Just in case the reset doesn't work */
diff --git a/arch/powerpc/platforms/44x/rainier.c b/arch/powerpc/platforms/44x/rainier.c
index a7fae1cf69c1..4f1ff84c4b63 100644
--- a/arch/powerpc/platforms/44x/rainier.c
+++ b/arch/powerpc/platforms/44x/rainier.c
@@ -22,7 +22,7 @@
22#include <asm/time.h> 22#include <asm/time.h>
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25#include "44x.h" 25#include <asm/ppc4xx.h>
26 26
27static __initdata struct of_device_id rainier_of_bus[] = { 27static __initdata struct of_device_id rainier_of_bus[] = {
28 { .compatible = "ibm,plb4", }, 28 { .compatible = "ibm,plb4", },
@@ -57,6 +57,6 @@ define_machine(rainier) {
57 .progress = udbg_progress, 57 .progress = udbg_progress,
58 .init_IRQ = uic_init_tree, 58 .init_IRQ = uic_init_tree,
59 .get_irq = uic_get_irq, 59 .get_irq = uic_get_irq,
60 .restart = ppc44x_reset_system, 60 .restart = ppc4xx_reset_system,
61 .calibrate_decr = generic_calibrate_decr, 61 .calibrate_decr = generic_calibrate_decr,
62}; 62};
diff --git a/arch/powerpc/platforms/44x/sequoia.c b/arch/powerpc/platforms/44x/sequoia.c
index d279db42c896..49eb73daacdf 100644
--- a/arch/powerpc/platforms/44x/sequoia.c
+++ b/arch/powerpc/platforms/44x/sequoia.c
@@ -23,7 +23,7 @@
23#include <asm/uic.h> 23#include <asm/uic.h>
24#include <asm/pci-bridge.h> 24#include <asm/pci-bridge.h>
25 25
26#include "44x.h" 26#include <asm/ppc4xx.h>
27 27
28static __initdata struct of_device_id sequoia_of_bus[] = { 28static __initdata struct of_device_id sequoia_of_bus[] = {
29 { .compatible = "ibm,plb4", }, 29 { .compatible = "ibm,plb4", },
@@ -58,6 +58,6 @@ define_machine(sequoia) {
58 .progress = udbg_progress, 58 .progress = udbg_progress,
59 .init_IRQ = uic_init_tree, 59 .init_IRQ = uic_init_tree,
60 .get_irq = uic_get_irq, 60 .get_irq = uic_get_irq,
61 .restart = ppc44x_reset_system, 61 .restart = ppc4xx_reset_system,
62 .calibrate_decr = generic_calibrate_decr, 62 .calibrate_decr = generic_calibrate_decr,
63}; 63};
diff --git a/arch/powerpc/platforms/44x/taishan.c b/arch/powerpc/platforms/44x/taishan.c
index 28ab7e2e02c3..49c78b2098b4 100644
--- a/arch/powerpc/platforms/44x/taishan.c
+++ b/arch/powerpc/platforms/44x/taishan.c
@@ -29,8 +29,7 @@
29#include <asm/time.h> 29#include <asm/time.h>
30#include <asm/uic.h> 30#include <asm/uic.h>
31#include <asm/pci-bridge.h> 31#include <asm/pci-bridge.h>
32 32#include <asm/ppc4xx.h>
33#include "44x.h"
34 33
35static __initdata struct of_device_id taishan_of_bus[] = { 34static __initdata struct of_device_id taishan_of_bus[] = {
36 { .compatible = "ibm,plb4", }, 35 { .compatible = "ibm,plb4", },
@@ -68,6 +67,6 @@ define_machine(taishan) {
68 .progress = udbg_progress, 67 .progress = udbg_progress,
69 .init_IRQ = uic_init_tree, 68 .init_IRQ = uic_init_tree,
70 .get_irq = uic_get_irq, 69 .get_irq = uic_get_irq,
71 .restart = ppc44x_reset_system, 70 .restart = ppc4xx_reset_system,
72 .calibrate_decr = generic_calibrate_decr, 71 .calibrate_decr = generic_calibrate_decr,
73}; 72};
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
index da5b7b7599db..39cf6150a72b 100644
--- a/arch/powerpc/platforms/44x/warp.c
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -18,9 +18,7 @@
18#include <asm/udbg.h> 18#include <asm/udbg.h>
19#include <asm/time.h> 19#include <asm/time.h>
20#include <asm/uic.h> 20#include <asm/uic.h>
21 21#include <asm/ppc4xx.h>
22#include "44x.h"
23
24 22
25static __initdata struct of_device_id warp_of_bus[] = { 23static __initdata struct of_device_id warp_of_bus[] = {
26 { .compatible = "ibm,plb4", }, 24 { .compatible = "ibm,plb4", },
@@ -49,7 +47,7 @@ define_machine(warp) {
49 .progress = udbg_progress, 47 .progress = udbg_progress,
50 .init_IRQ = uic_init_tree, 48 .init_IRQ = uic_init_tree,
51 .get_irq = uic_get_irq, 49 .get_irq = uic_get_irq,
52 .restart = ppc44x_reset_system, 50 .restart = ppc4xx_reset_system,
53 .calibrate_decr = generic_calibrate_decr, 51 .calibrate_decr = generic_calibrate_decr,
54}; 52};
55 53