else if ( cc == '5' ) {
Serial.printf("SCB_SHPRx: %x %x %x SHCSR:%x\n", SCB_SHPR1, SCB_SHPR2, SCB_SHPR3, SCB_SHCSR);
// Lets try printing int LPSPI3 registers.
Serial.println("Try LPSPI3"); Serial.flush();
Serial.printf(" VERID: %x\n", LPSPI3_VERID); Serial.flush();
Serial.printf(" PARAM: %x\n", LPSPI3_PARAM); Serial.flush();
Serial.printf(" CR: %x\n", LPSPI3_CR); Serial.flush();
Serial.printf(" SR: %x\n", LPSPI3_SR); Serial.flush();
Serial.printf(" IER: %x\n", LPSPI3_IER); Serial.flush();
Serial.printf(" DER: %x\n", LPSPI3_DER); Serial.flush();
Serial.printf(" CFGR0: %x\n", LPSPI3_CFGR0); Serial.flush();
Serial.printf(" CFGR1: %x\n", LPSPI3_CFGR1); Serial.flush();
Serial.println("Try writes to LPSPI3"); Serial.flush();
LPSPI3_CR = LPSPI_CR_RST;
LPSPI3_FCR = LPSPI_FCR_TXWATER(15);
LPSPI3_CR = 0;
LPSPI3_CFGR1 = LPSPI_CFGR1_MASTER | LPSPI_CFGR1_SAMPLE;
Serial.println("Try LPUART5"); Serial.flush();
Serial.printf("CCM_CCGR3: %x Bits: %x\n", CCM_CCGR3, CCM_CCGR3_LPUART5(CCM_CCGR_ON));
Serial.printf(" VERID:%x\n", LPUART5_VERID); Serial.flush();
Serial.printf(" PARAM:%x\n", LPUART5_PARAM); Serial.flush();
Serial.printf(" GLOBAL:%x\n", LPUART5_GLOBAL); Serial.flush();
Serial.printf(" PINCFG:%x\n", LPUART5_PINCFG); Serial.flush();
Serial.printf(" BAUD:%x\n", LPUART5_BAUD); Serial.flush();
Serial.printf(" STAT:%x\n", LPUART5_STAT); Serial.flush();
Serial.printf(" CTRL:%x\n", LPUART5_CTRL); Serial.flush();
Serial.printf(" DATA:%x\n", LPUART5_DATA); Serial.flush();
Serial.printf(" MATCH:%x\n", LPUART5_MATCH); Serial.flush();
Serial.printf(" MODIR:%x\n", LPUART5_MODIR); Serial.flush();
Serial.printf(" FIFO:%x\n", LPUART5_FIFO); Serial.flush();
Serial.printf(" WATER:%x\n", LPUART5_WATER); Serial.flush();
Serial.println("Try writes to LPUART5"); Serial.flush();
LPUART5_BAUD = LPUART_BAUD_OSR(25) | LPUART_BAUD_SBR(8); // ~115200 baud
LPUART5_CTRL = LPUART_CTRL_TE;
LPUART5_DATA = 0xff;
delay(25);
Serial.println("Try CSI"); Serial.flush();
Serial.printf(" CSI_CSICR1:%x\n", CSI_CSICR1); Serial.flush();
Serial.printf(" CSI_CSICR2:%x\n", CSI_CSICR2); Serial.flush();
Serial.printf(" CSI_CSICR3:%x\n", CSI_CSICR3); Serial.flush();
Serial.println("Try FlexIO"); Serial.flush();
// CCM_CCGR5 |= CCM_CCGR5_FLEXIO1(CCM_CCGR_ON);
IMXRT_FLEXIO_t *p = &IMXRT_FLEXIO1_S;
Serial.printf(" % x\n", (uint32_t)p); Serial.flush();
Serial.printf("VERID: % x PARAM: % x CTRL: % x PIN: % x\n", p->VERID, p->PARAM, p->CTRL, p->PIN); Serial.flush();
Serial.printf("SHIFTSTAT: % x SHIFTERR = % x TIMSTAT = % x\n", p->SHIFTSTAT, p->SHIFTERR, p->TIMSTAT); Serial.flush();
Serial.printf("SHIFTSIEN: % x SHIFTEIEN = % x TIMIEN = % x\n", p->SHIFTSIEN, p->SHIFTEIEN, p->TIMIEN); Serial.flush();
Serial.printf("SHIFTSDEN: % x SHIFTSTATE = % x\n", p->SHIFTSDEN, p->SHIFTSTATE); Serial.flush();
Serial.printf("SHIFTCTL: % x % x % x % x\n", p->SHIFTCTL[0], p->SHIFTCTL[1], p->SHIFTCTL[2], p->SHIFTCTL[3]); Serial.flush();
Serial.printf("SHIFTCFG: % x % x % x % x\n", p->SHIFTCFG[0], p->SHIFTCFG[1], p->SHIFTCFG[2], p->SHIFTCFG[3]); Serial.flush();
Serial.printf("TIMCTL: % x % x % x % x\n", p->TIMCTL[0], p->TIMCTL[1], p->TIMCTL[2], p->TIMCTL[3]); Serial.flush();
Serial.printf("TIMCFG: % x % x % x % x\n", p->TIMCFG[0], p->TIMCFG[1], p->TIMCFG[2], p->TIMCFG[3]); Serial.flush();
Serial.printf("TIMCMP: % x % x % x % x\n", p->TIMCMP[0], p->TIMCMP[1], p->TIMCMP[2], p->TIMCMP[3]); Serial.flush();
Serial.println("made it through");
}