Intel® Stratix® 10 Hard Processor System Technical Reference Manual

ID 683222
Date 11/28/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

16.5.2.1. Power-On Reset Sequence

Software must perform the following steps after the power‑on‑reset:
  1. Before enabling power to the card, confirm that the voltage setting to the voltage regulator is correct.
  2. Enable power to the card by setting the power enable bit (power_enable) in the power enable register (pwren) to 1. Wait for the power ramp‑up time before proceeding to the next step.
  3. Set the interrupt masks by resetting the appropriate bits to 0 in the intmask register.
  4. Set the int_enable bit of the ctrl register to 1.
    Note: Intel recommends that you write 0xFFFFFFFF to the rintsts register to clear any pending interrupts before setting the int_enable bit to 1.
  5. Discover the card stack according to the card type. For discovery, you must restrict the clock frequency to 400 kHz in accordance with SD/MMC/CE‑ATA standards. For more information, refer to Enumerated Card Stack.
  6. Set the clock source assignments. Set the card frequency using the clkdiv and clksrc registers of the controller. For more information, refer to Clock Setup.
  7. The following common registers and fields can be set during initialization process:
    • The response timeout field (response_timeout) of the tmout register. A typical value is 0x40.
    • The data timeout field (data_timeout) of the tmout register, highest of the following:
      • 10 * NAC

        NAC = card device total access time

        = 10 * ((TAAC * FOP) + (100 * NSAC))

        where:

        TAAC = Time‑dependent factor of the data access time

        FOP = The card clock frequency used for the card operation

        NSAC = Worst‑case clock rate‑dependent factor of the data access time

      • Host FIFO buffer latency

        On read: Time elapsed before host starts reading from a full FIFO buffer

        On write: Time elapsed before host starts writing to an empty FIFO buffer

    • Debounce counter register (debnce). A typical debounce value is 25 ms.
    • TX watermark field (tx_wmark) of the FIFO threshold watermark register (fifoth). Typically, the threshold value is set to 512, which is half the FIFO buffer depth.
    • RX watermark field (rx_wmark) of the fifoth register. Typically, the threshold value is set to 511.

These registers do not need to be changed with every SD/MMC/CE‑ATA command. Set them to a typical value according to the SD/MMC/CE‑ATA specifications.