| .macro WDT_BOOT_INIT | |
| .set noreorder | |
| //mfc0 a0, C0_EBASE | |
| //ext a0, a0, 0, 4 | |
| //bnez a0, WDT_BOOT_INIT_DONE | |
| //nop | |
| la a0, g_WATCHDOG_CTL_REG | |
| lw a0, 0x0(a0) | |
| /* Load WDTCR */ | |
| lw a2, 0x0(a0) | |
| /* Clear BIT_0 and BIT_1 */ | |
| lui a1, 0xffff | |
| ori a1, 0xfffc | |
| and a2, a1 | |
| /* Disable WDT timer */ | |
| li a1, RSTCTL_WDTCR_KEY | |
| addu a2, a1 | |
| sw a2, 0x0(a0) | |
| sync 0x3 | |
| lui t0, 0xA1FF | |
| lw t1,0(t0) | |
| sw t1,0(t0) | |
| WDT_BOOT_INIT_DONE: | |
| nop | |
| .endm WDT_BOOT_INIT |