aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/head_32.S')
-rw-r--r--arch/powerpc/kernel/head_32.S25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index 829c3fe7c5a2..e025e89fe93e 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -164,6 +164,9 @@ __after_mmu_off:
164#ifdef CONFIG_PPC_EARLY_DEBUG_CPM 164#ifdef CONFIG_PPC_EARLY_DEBUG_CPM
165 bl setup_cpm_bat 165 bl setup_cpm_bat
166#endif 166#endif
167#ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO
168 bl setup_usbgecko_bat
169#endif
167 170
168/* 171/*
169 * Call setup_cpu for CPU 0 and initialize 6xx Idle 172 * Call setup_cpu for CPU 0 and initialize 6xx Idle
@@ -1203,6 +1206,28 @@ setup_cpm_bat:
1203 blr 1206 blr
1204#endif 1207#endif
1205 1208
1209#ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO
1210setup_usbgecko_bat:
1211 /* prepare a BAT for early io */
1212#if defined(CONFIG_GAMECUBE)
1213 lis r8, 0x0c00
1214#elif defined(CONFIG_WII)
1215 lis r8, 0x0d00
1216#else
1217#error Invalid platform for USB Gecko based early debugging.
1218#endif
1219 /*
1220 * The virtual address used must match the virtual address
1221 * associated to the fixmap entry FIX_EARLY_DEBUG_BASE.
1222 */
1223 lis r11, 0xfffe /* top 128K */
1224 ori r8, r8, 0x002a /* uncached, guarded ,rw */
1225 ori r11, r11, 0x2 /* 128K, Vs=1, Vp=0 */
1226 mtspr SPRN_DBAT1L, r8
1227 mtspr SPRN_DBAT1U, r11
1228 blr
1229#endif
1230
1206#ifdef CONFIG_8260 1231#ifdef CONFIG_8260
1207/* Jump into the system reset for the rom. 1232/* Jump into the system reset for the rom.
1208 * We first disable the MMU, and then jump to the ROM reset address. 1233 * We first disable the MMU, and then jump to the ROM reset address.