setup() | |
{ | |
__var Reg; | |
// Enable I Cache | |
// Disable MMU and enable ICache | |
Reg = __jtagCP15ReadReg(1, 0, 0, 0); | |
Reg &= 0xFFFFFFFA; | |
Reg |= 1<<12; | |
__jtagCP15WriteReg(1, 0, 0, 0, Reg); | |
//__writeMemory16(0x0035, 0xFCFE0010, "Memory"); // FRQCR | |
//__writeMemory16(0x0001, 0xFCFE0014, "Memory"); // FRQCR2 | |
// Turn on clock for SPI | |
__writeMemory8(0x00, 0xFCFE0438, "Memory"); // PDM_STBCR9 | |
// Configure PORTS for SPI (serial flash 1) | |
__writeMemory16(0x00FC, 0xFCFE7224, "Memory"); // PIPC9 2-7 -> alt IO mode | |
__writeMemory16(0x00FC, 0xFCFE3424, "Memory"); // PMC9 2-7 -> alt mode | |
__writeMemory16(0x00FC, 0xFCFE3524, "Memory"); // PFC9 2-7 -> alt mode | |
// Configure PORTS for SPI (serial flash 2) | |
__writeMemory16(0xF000, 0xFCFE7208, "Memory"); // PIPC2 12-15 -> alt IO mode | |
__writeMemory16(0xF000, 0xFCFE3408, "Memory"); // PMC2 12-15 -> alt mode | |
__writeMemory16(0xF000, 0xFCFE3508, "Memory"); // PFC2 12-15 -> alt mode | |
__writeMemory16(0xF000, 0xFCFE3608, "Memory"); // PFCE2 12-15 -> alt mode | |
// Configure SPI for EXTREAD mode | |
__writeMemory32(0x01AA4020, 0x3FEFA000, "Memory"); // SPIBSC_CMNCR 1-memory, CPHA=0, CPOL=0, SFDE=1 | |
// Configure SPI registers | |
__writeMemory32(0x00130000, 0x3FEFA010, "Memory"); // SPIBSC_DRCMR CMD = 0x13 | |
__writeMemory32(0x00004F00, 0x3FEFA01C, "Memory"); // SPIBSC_DRENR ADE = 0xF, CDE=1 | |
__writeMemory32(0x00010101, 0x3FEFA00C, "Memory"); // SPIBSC_DRCR enable burst | |
__writeMemory32(0x00000001, 0x3FEFA014, "Memory"); // SPIBSC_DREAR enable extended address range | |
// Set Bit Rate | |
__writeMemory32(0x00000003, 0x3FEFA008, "Memory"); // SPIBSC_SPBCR SPBR=0, BRDV=3 | |
// Flush Read Cache | |
Reg = __readMemory32(0x3FEFA00C, "Memory"); // Read SPIBSC_DRCR_0 | |
Reg |= 0x00000200; // Set RCF bit | |
__writeMemory32(Reg, 0x3FEFA00C, "Memory"); // Set SPIBSC_DRCR_0 | |
} | |
execUserPreload() | |
{ | |
__message "----- Prepare hardware for debug -----\n"; | |
__hwReset(0); | |
setup(); | |
} | |
execUserReset() | |
{ | |
setup(); | |
} |