Hello Felipe !
Can be look our configuration in more details. Chapter 6.7.12 QuardSPI clocking is not so transparent.
I'm using
/* Set clock source to kCLOCK_CoreSysClk */
config.clockSource = 0U; // 120 Mhz
And enable quad mode.
How in this case I can understand RM notice:
"
"The controller supports singles,dual,
quad or octal data lines in single (SDR) or double (DDR) data rate configurations. SDR
mode supports upto 100 MHz and DDR mode supports up to 75MHz.
"
So this is External QuadSPI clock limit ? Not clock source limit ?
In this case in case of write I should drop Internal reference clock to 120Mhz from 480Mhz what is applicable for read operation.
In this case QuadSPIx_MCR[27:24] divider should be 4 ( value in register 3.). Is this so ?
But in example :
/* Reduce frequency while clock divder is less than 2 */
uint8_t qspiClockDiv = ((EXAMPLE_QSPI->MCR & QuadSPI_MCR_SCLKCFG_MASK) >> QuadSPI_MCR_SCLKCFG_SHIFT) + 1U;
if (qspiClockDiv == 1U)
{
/* Reduce the frequency */
isDivNeedRestore = true;
QSPI_Enable(EXAMPLE_QSPI, false);
EXAMPLE_QSPI->MCR &= ~QuadSPI_MCR_SCLKCFG_MASK;
EXAMPLE_QSPI->MCR |= QuadSPI_MCR_SCLKCFG(1U);
QSPI_Enable(EXAMPLE_QSPI, true);
}
Value is 1 and divider will be 2 not 4.
Or what this divider should be If I'm using SystemClock 120Mhz as clock source for QSPI controller ?
What will be external QuardSPI clock in this case ?
Regards,
Eugene