Line 210... |
Line 210... |
// printf("PROCESS, COUNT = %d, IREG = %02x\n", m_count, m_ireg);
|
// printf("PROCESS, COUNT = %d, IREG = %02x\n", m_count, m_ireg);
|
if (m_state == QSPIF_QUAD_READ_IDLE) {
|
if (m_state == QSPIF_QUAD_READ_IDLE) {
|
assert(m_quad_mode);
|
assert(m_quad_mode);
|
if (m_count == 24) {
|
if (m_count == 24) {
|
if (m_debug) printf("QSPI: Entering from Quad-Read Idle to Quad-Read\n");
|
if (m_debug) printf("QSPI: Entering from Quad-Read Idle to Quad-Read\n");
|
printf("QSPI: QI/O Idle Addr = %02x\n", m_ireg&0x0ffffff);
|
if (m_debug) printf("QSPI: QI/O Idle Addr = %02x\n", m_ireg&0x0ffffff);
|
m_addr = (m_ireg) & 0x0ffffff;
|
m_addr = (m_ireg) & 0x0ffffff;
|
assert((m_addr & 0xfc00000)==0);
|
assert((m_addr & 0xfc00000)==0);
|
m_state = QSPIF_QUAD_READ;
|
m_state = QSPIF_QUAD_READ;
|
} m_oreg = 0;
|
} m_oreg = 0;
|
} else if (m_count == 8) {
|
} else if (m_count == 8) {
|
Line 413... |
Line 413... |
if (m_count == 32) {
|
if (m_count == 32) {
|
m_mode_byte = (m_ireg & 0x0ff);
|
m_mode_byte = (m_ireg & 0x0ff);
|
// printf("QSPI/QR: MODE BYTE = %02x\n", m_mode_byte);
|
// printf("QSPI/QR: MODE BYTE = %02x\n", m_mode_byte);
|
} else if ((m_count >= 32+16)&&(0 == (m_sreg&0x01))) {
|
} else if ((m_count >= 32+16)&&(0 == (m_sreg&0x01))) {
|
QOREG(m_mem[m_addr++]);
|
QOREG(m_mem[m_addr++]);
|
printf("QSPIF[%08x]/QR = %02x\n",
|
// printf("QSPIF[%08x]/QR = %02x\n", m_addr-1, m_oreg & 0x0ff);
|
m_addr-1, m_oreg & 0x0ff);
|
|
} else m_oreg = 0;
|
} else m_oreg = 0;
|
break;
|
break;
|
case QSPIF_PP:
|
case QSPIF_PP:
|
if (m_count == 32) {
|
if (m_count == 32) {
|
m_addr = m_ireg & 0x0ffffff;
|
m_addr = m_ireg & 0x0ffffff;
|