nrfxlib API 3.4.99
Loading...
Searching...
No Matches

◆ nrf_semmc_dat0_busy_poll()

nrf_semmc_error_t nrf_semmc_dat0_busy_poll ( nrf_semmc_t const * p_semmc,
uint32_t timeout_us )

#include <nrf_semmc.h>

Wait for DAT0 to be released high by the card, optionally resuming SDCLK without driving CMD or DATx.

Callable at any time the driver is not actively processing a command. Not restricted to use as a tail of any specific preceding command.

When called after SD CMD11: The driver resumes SDCLK at the frequency last configured in nrf_semmc_config_t. When called after an R1b command: SDCLK is already running;

In both cases:

  • CMD and DAT[3:0] remain tri-stated for the duration of the call.
  • Returns once DAT0 goes high or timeout_us elapses.
Parameters
p_semmcPointer to the driver instance.
timeout_usMaximum wait in microseconds. SD §4.2.4.2 allows 1000 μs from SDCLK resume to DAT0 high. eMMC erase busy may require up to 300 000 000 μs (JESD84 §6.14.1).
Return values
NRF_SEMMC_SUCCESSDAT0 went high within timeout.
NRF_SEMMC_ERROR_TIMEOUTDAT0 did not go high within timeout_us.