.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 |