diff options
Diffstat (limited to 'arch/powerpc/boot/ebony.c')
-rw-r--r-- | arch/powerpc/boot/ebony.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/arch/powerpc/boot/ebony.c b/arch/powerpc/boot/ebony.c index b1251ee7a102..75daedafd0a4 100644 --- a/arch/powerpc/boot/ebony.c +++ b/arch/powerpc/boot/ebony.c | |||
@@ -100,28 +100,13 @@ static void ebony_fixups(void) | |||
100 | ibm440gp_fixup_clocks(sysclk, 6 * 1843200); | 100 | ibm440gp_fixup_clocks(sysclk, 6 * 1843200); |
101 | ibm44x_fixup_memsize(); | 101 | ibm44x_fixup_memsize(); |
102 | dt_fixup_mac_addresses(ebony_mac0, ebony_mac1); | 102 | dt_fixup_mac_addresses(ebony_mac0, ebony_mac1); |
103 | } | 103 | ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); |
104 | |||
105 | #define SPRN_DBCR0 0x134 | ||
106 | #define DBCR0_RST_SYSTEM 0x30000000 | ||
107 | |||
108 | static void ebony_exit(void) | ||
109 | { | ||
110 | unsigned long tmp; | ||
111 | |||
112 | asm volatile ( | ||
113 | "mfspr %0,%1\n" | ||
114 | "oris %0,%0,%2@h\n" | ||
115 | "mtspr %1,%0" | ||
116 | : "=&r"(tmp) : "i"(SPRN_DBCR0), "i"(DBCR0_RST_SYSTEM) | ||
117 | ); | ||
118 | |||
119 | } | 104 | } |
120 | 105 | ||
121 | void ebony_init(void *mac0, void *mac1) | 106 | void ebony_init(void *mac0, void *mac1) |
122 | { | 107 | { |
123 | platform_ops.fixups = ebony_fixups; | 108 | platform_ops.fixups = ebony_fixups; |
124 | platform_ops.exit = ebony_exit; | 109 | platform_ops.exit = ibm44x_dbcr_reset; |
125 | ebony_mac0 = mac0; | 110 | ebony_mac0 = mac0; |
126 | ebony_mac1 = mac1; | 111 | ebony_mac1 = mac1; |
127 | ft_init(_dtb_start, _dtb_end - _dtb_start, 32); | 112 | ft_init(_dtb_start, _dtb_end - _dtb_start, 32); |