65.13.1 Enhanced Strobe Mode Disabled
In order to switch to HS400 mode, the host driver must perform the following steps:
- Initialize the device.
- Select the device with CMD7.
- Read the DEVICE_TYPE[196] field of the Extended CSD register to validate whether the device supports HS400.
- Read the DRIVER_STRENGTH[197] field of the Extended CSD register to find the supported device drive strengths. Note: This step may be skipped if changes to driver strength are not needed.
- Set the “Selected Driver Strength” parameter in the HS_TIMING[185] field of the Extended CSD register to the appropriate driver strength for HS400 operation and set the “Timing Interface” parameter to 0x2 to switch the device to HS200 mode.
- Set SDMMC_HC2R.HS200EN to B(HEXA) to switch the controller to HS200 mode.
- Set the SDCLK frequency to the HS400 target operating frequency.
- Perform the tuning sequence (see section “SDMMC Tuning Sequence”). The tuning sequence in HS200 mode is required to synchronize the command response on the SDCMD line to SDCLK for HS400 operation.
- Set the “Timing Interface” parameter in the HS_TIMING[185] field of the Extended CSD register to 0x1 to switch the device to High Speed mode.
- Set SDMMC_HC1R.HSEN to ‘1’ to switch the controller to High Speed mode.
- Set the clock frequency to a value not greater than 52 MHz.
- Set BUS_WIDTH[183] to 0x06 to select the dual data rate x8 bus mode.
- Set the “Timing Interface” parameter in the HS_TIMING [185] field of the Extended CSD register to 0x3 to switch the device to HS400 mode.
- Set SDMMC_MC3R.HS400EN to ‘1’ to switch the controller to HS400 mode.
- Change the SDCLK frequency to the HS400 operating frequency.