65.13.2 Enhanced Strobe Mode Enabled

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 STROBE_SUPPORT[184] field of the Extended CSD register to validate whether the device supports HS400.
  • If supported, set the SDMMC_MC3R.ESMEN to ‘1’ to enable the Enhanced Strobe mode in the controller.
  • 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.
  • 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.
  • 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 controller to HS400 mode.
  • Change the SDCLK frequency to the HS400 operating frequency.