# SDH

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

**Parent Topic:** [Framework and programming model](https://docs.qualcomm.com/doc/80-58740-1/topic/framework_and_programming_model.html)

## Overview

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The SD Host Controller (SDH) is used to control the
communication with SDIO or SD card, and all accesses are set
through standard control registers.

## Features

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

- Comply with the <cite class="cite">SD Host Controller Specification</cite> defined by the SD
        association
- Suitable for SDIO/SD memory card
- Supports the standard register settings for the SDH
- Supports the DMA operation for high-speed data transfer
- Supports interrupt
- Supports data block transmission

## Functional
description

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

### SDH overall structure

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Figure : SDH hardware and driver structure

![](data:image/png;base64,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)

### Register mapping

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Figure : Standard register mapping classification

![](data:image/png;base64,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)

- SD Command Generation: parameter used to generate SD
command
- Response: the response value from the card
- Buffer Data Port: the data access port of the internal
buffer
- Host Control 1 and Others: current status, SD bus control, host reset, and so
        on.
- Interrupt Controls: Interrupt Status and Interrupt Enable
- Host Control 2: vendor-specific host controller support information
- Capabilities: expansion of host control register
- Force Event: a test register that generates events through
software
- ADMA: advanced DMA register
- Preset Value: preset values for clock frequency selection and
driving strength selection
- Shared Bus: device control of shared bus system
- Common Area: public information area

### Support for
multiple card slots

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

A standard register set is defined for each card slot. If the
host controller has two card slots, two register sets are required.
Each card slot is independently controlled. This makes it possible
to support the combination of bus interface voltage, bus timing and
SD clock frequency.

Figure : Register mapping of multicard slot controller

![](data:image/png;base64,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)

The above figure shows the register mapping of the multi-card slot host controller.
      The host driver shall use PCI configuration registers or the vendor-specific methods to
      determine the number of card slots and the base pointer to the standard register set of each
      card slot. The offset from 0F0h to 0FFh is reserved for the common register area, which
      defines the information of card slot control and public state. The common register area can be
      accessed from the register set of any card slot. This allows the software to control each card
      slot independently, because it can access the card slot interrupt status register and the host
      controller version register from each register set.

### Supporting DMA

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The host controller provides a 'programmed I/O' method for the host driver to
      transfer data using the buffer data port register. Optionally, host controller implementers
      may support data transfer using DMA. Prior to using DMA, the host driver shall confirm that
      both the host controller and the system bus support it (PCI bus can support DMA). DMA shall
      support both single-block and multiple-block transfers. The host controller registers shall
      remain accessible for issuing non-DAT line commands during a DMA transfer execution. The
      result of a DMA transfer shall be the same regardless of the system bus data transfer method.
      The host driver can stop and restart a DMA operation by the control bits in the block gap
      control register. By setting Stop At Block Gap Request, a DMA operation can be stopped at
      block gap. By setting Continue Request, DMA operation can be restarted. If an error occurs,
      DMA operation shall be stopped. To abort DMA transfer, the host driver shall reset the host
      controller through the 'Software Reset' of DAT line in the software reset register, and issue
      CMD12 when executing read/write commands on multiple blocks.

### SD command generation

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Table : Register for generating SD commands

|  | SDMA Command | ADMA Command | CPU Data Transfer | Non-DAT Transfer |
| --- | --- | --- | --- | --- |
| SDMA System Address/Argument 2 | Yes/No | No/Auto CMD23 | No/Auto CMD23 | No/No |
| Block Size | Yes | Yes | Yes | No<br><br><br>              <br>(Protected) |
| Block Count | Yes | Yes | Yes | No<br><br><br>              <br>(Protected) |
| Argument 1 | Yes | Yes | Yes | Yes |
| Transfer Mode | Yes | Yes | Yes | No<br><br><br>              <br>(Protected) |
| Command | Yes | Yes | Yes | Yes |

The table above shows the register settings (offset from 000h to 00Fh in a register
      set) required for three types of transactions: DMA-generated transfer (SDMA or ADMA), CPU data
      transfer (using 'programmed I/O') and non-DAT transfer. When starting a transaction, the host
      driver shall program these registers from 000h to 00Fh. The offset of the starting register
      can be calculated based on the transaction type. The last written offset shall always be 00Fh,
      because the high byte written to the command register will trigger the SD command. During a
      data transaction, the host driver shall not read the SDMA system address, block size and block
      count registers, unless the transfer is stopped or suspended because the values are changing
      and unstable. To prevent data transfer from damaging registers when commands are issued, the
      block size, block count and transfer mode registers shall be write- protected by the host
      controller, and the command disable (DAT) shall be set to 1 in the current status register
      (this signal cannot protect the SDMA system address). When command disable (CMD) is set to 1,
      the host driver must not write parameter 1 and the command register.

### Suspend and resume
mechanism

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Support for Suspend/Resume can be determined by checking Suspend/Resume Support in
      the Capabilities register. When the SD card accepts a suspend request, the host driver saves
      information in the first 14-bytes registers (that is, offsets 000h-00dh) before issuing other
      SD commands. On resuming, the host driver restores these registers and then issues the Resume
      command to continue suspended operation. The SDIO card sets the DF (Resume Data Flag) in the
      response to the Resume command. (Since the Suspend and Resume commands are CMD52 operations,
      the response data is actually the Function Select Register in the CCCR.) If DF is set to 0, it
      means that the SDIO card cannot continue data transfer while suspended. This bit can be used
      to control data transfers and interrupt cycles. If the Resume Data Flag is set to 0, no more
      data is transferred and an interrupt cycle is started if the transaction being resumed is in
      4-bit mode. If DF is set to 1, data transfers continue. It is worth noting that to use
      Suspend/Resume function, the SDIO card must support Suspend and Resume commands and Read Wait
      control.

Figure : Suspend and resume mechanism

![](data:image/png;base64,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)

### Buffer control

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The host controller has a data buffer for data transfer. The host driver accesses the
      internal buffer through the 32‑bit buffer data port register. Here are some rules for
      accessing the buffer.

#### Control of buffer
pointer

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Internally, the host controller maintains a pointer to control the data buffer. The
      pointer is not directly accessible by the host driver. Every time the buffer data port
      register is accessed, the pointer is incremented depending on the amount of data written to
      the buffer. To accommodate various system buses, this pointer shall be implemented regardless
      of system bus width (8/16/32/64-bit system bus width can be supported).

#### Determination
of buffer block length

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

To transfer data blocks at a burst, the relationship between host controller and SD
      card buffer sizes is very important. The host driver shall use the same data block length for
      both host controller and SD card. If the controller and card buffer sizes are different, the
      host driver shall use the smaller one. The maximum host controller buffer size is defined by
      the max block length field in the capabilities register.

#### Dividing large data
transfer

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The SDIO command CMD53 defines the maximum data size for transfer according to the
      following formula: Maximum data size = block size x block count. For example, the block size
      is specified by the buffer size, and the maximum value of block count is 512 (9‑bit count), as
      specified in the command parameter CMD53. In the worst case, if the card only has a 1‑byte
      buffer, CMD53 can be used to transfer 512 bytes of data at most (block size = 1, block count =
      512). If the card does not support the multiblock mode, only one byte can be transferred. If
      an application or card driver wants to transfer data with a larger size, the host driver shall
      divide the large-size data into multiple CMD53 blocks.

### Relationship between interrupt control registers

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The host controller implements a number of interrupt sources. Interrupt sources can
      be enabled as interrupts or as system wake-up signals. If the interrupt source's corresponding
      bit in the normal interrupt status enable or error interrupt status enable register is 1 and
      the interrupt becomes active, its active state is latched and made available to the host
      driver in the normal interrupt status register or the error interrupt status register.
      Interrupt status shall be cleared when interrupt status enable is cleared. An interrupt source
      with its bit set in an interrupt status register shall assert a system interrupt signal if its
      corresponding bit is also set in the normal interrupt signal enable register or the error
      interrupt signal enable register. Once signaled, most interrupts are cleared by writing a 1 to
      the associated bit in the interrupt status register. Card interrupts, however, shall be
      cleared by the card driver. If a card interrupt is generated, the host driver may clear card
      interrupt status enable to disable card interrupts while the card driver is processing them.
      After all interrupt sources are cleared, the host driver sets it again to enable another card
      interrupt. Disabling the card interrupt status enable avoids generating multiple interrupts
      during interrupt service processing. The wake-up control register enables card interrupt, card
      insertion, or card removal status changes to be configured to generate a system wake-up
      signal. These interrupts are enabled or masked independently of the normal interrupt signal
      enable register. The kind of wake-up event can be read from the normal interrupt status
      register. The interrupt signal and wake-up signal are logical ORed and shall be read from the
      slot interrupt status register.

### Hardware block diagram and timing part

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Figure : Block diagram of host controller

![](data:image/png;base64,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)

The host controller has two bus interfaces, the system bus interface and the SD bus
      interface. The host controller assumes that these interfaces are asynchronous, that is,
      working at different clock frequencies. The host driver is on system bus time, because it is
      software executed by the host controller CPU on its system clock. The SD card is on SD bus
      time. That is, its operation is synchronized by SDCLK. The host controller shall synchronize
      signals to communicate between these interfaces. Data blocks shall be synchronized at the
      buffer module. All status registers shall be synchronized by the system clock and maintain
      synchronization during output to the system interface. Control registers, which trigger SD bus
      transactions, shall be synchronized by SDCLK. Therefore, there will be a timing delay when
      propagating signals between the two interfaces. This means that the host driver cannot do real
      time control of the SD bus and must rely on the host controller to control the SD bus
      according to register settings. The buffer interface enables internal read and write buffers.
      The transfer complete interrupt status indicates completion of the read/write transfer for
      both DMA and non-DMA transfers. However, this timing is different between reads and writes.
      Read transfers shall be completed after all valid data have been transferred to the host
      system and are ready for the host driver to access. Write transfers shall be completed after
      all valid data have been transferred to the SD card and the busy state is over.

### Auto CMD12

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Multiple block transfers for SD memory require CMD12 to stop the transactions. The
      host controller automatically issues CMD12 when the last block transfer is completed. This
      feature of the host controller is called Auto CMD12. The host driver shall set Auto CMD12
      Enable in the transfer mode register when issuing a multiple block transfer command. Auto
      CMD12 timing synchronization with the last data block shall be done by hardware in the host
      controller. Commands that do not use the DAT line can be issued during multiple block
      transfers. These commands are referred to using the notation CMD\_wo\_DAT. To prevent DAT line
      commands and CMD\_wo\_DAT commands from conflicting, the host controller shall arbitrate the
      timing by which each command is issued on the SD Bus. Therefore, a command might not
      immediately be issued after the host driver writes to the command register. The command may be
      issued before or after Auto CMD12, depending on the timing. To be able to distinguish the
      responses of DAT line and CMD\_wo\_DAT commands, the Auto CMD12 response can be determined from
      the upper four bytes of the response register (at offset 01Ch in the standard register set).
      If errors related to Auto CMD12 are detected, the host controller shall issue an Auto CMD
      error interrupt. The host driver can check the Auto CMD12 error status (Command Index/End
      bit/CRC/Timeout Error) by reading the Auto CMD Error Status register. If the Auto CMD12 was
      not executed, the host driver needs to recover from the CMD\_wo\_DAT error and issue CMD12 to
      stop the multiple block transfer. If the CMD\_wo\_DAT was not executed, the host driver can
      issue it again after recovering from the Auto CMD12 error. In UHS mode SDR104, the host driver
      shall use Auto CMD23 to stop multiple block read/write operation instead of using Auto CMD12.
      In other bus speed modes, if the card supports CMD23, the host driver shall use Auto CMD23
      instead of using CMD12.

### Controlling SDCLK

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

This table shows how SDCLK is controlled by the SD Bus Power in
the Power Control register and the SD Clock Enable in the Clock
Control register.

| SD bus power | SD clock enable | State of SDCLK |
| --- | --- | --- |
| Change 0 to 1 | 0 | Drive low |
| Change 0 to 1 | 1 | Start clock with specified period of high |
| Change 1 to 0 | 0 | Drive low |
| Change 1 to 0 | 1 | Drive low immediately |
| 0 | Don't care drive low | Drive low |
| 1 | Change 0 to 1 | Start clock with specified period of high |
| 1 | Change 1 to 0 | Maintains period of high and then stops clock and drive low |
|  |  |  |

The clock period of SDCLK is specified by the SDCLK Frequency
Select in the Clock Control register and the Base Clock Frequency
For SD Clock in the Capabilities register. Since the SD card may
use both clock edges, the duty ratio of SD clock shall be average
50% (scattering within 4555%) and the Period of High should be half
of the clock period. The oscillation of SDCLK starts from driving
specified Period of High. When SDCLK is stopped by the SD Clock
Enable, the host controller shall stop SDCLK after driving Period
of High to maintain the duty ratio of clock. When SDCLK is stopped
by the SD Bus Power, the host controller shall stop SDCLK
immediately (drive Low) and SD Clock Enable shall be cleared.

### Advanced DMA

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The <cite class="cite">SD Host Controller Standard Specification Version 2.00</cite> defines the
      advanced DMA (ADMA) transfer algorithm. The DMA algorithm defined in the <cite class="cite">SD Host
        Controller Standard Specification Version 1.00</cite> is called single DMA (SDMA). The
      disadvantage of SDMA is that the DMA interrupt generated at every page boundary disturbs the
      CPU to reprogram the new system address. This SDMA algorithm develops a performance bottleneck
      by interrupting at each page boundary. ADMA adopts the scatter gather DMA algorithm so that a
      higher data transfer speed is available. Before executing ADMA, the host driver can program a
      list of data transfers between system memory and SD card to the descriptor table. It enables
      ADMA to run without interrupting the host driver. In addition, ADMA supports both 32‑bit
      system memory addressing and 64‑bit system memory addressing. The 32‑bit system of memory
      addressing uses the lower 32‑bit field of the 64‑bit address register. ADMA is divided into
      ADMA1 and ADMA2. ADMA1 only supports the transfer of 4KB aligned data in the system memory.
      ADMA2 optimizes this restriction, so that the data of any size at any location can be
      transferred in the system memory. The formats of descriptor tables are different among them.
      In this document, the term "ADMA: refers to ADMA2.

#### Block diagram of ADMA2

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Figure : Block diagram of ADMA2

![](data:image/png;base64,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)

The descriptor table is created by the host driver in the system memory. The 32‑bit
      address descriptor table is used for the 32‑bit addressing system, and a 64‑bit address
      descriptor table is used for the 64‑bit addressing system. Each descriptor line (one
      executable unit) consists of address, length and attribute fields. This attribute specifies
      the operation of the descriptor line. ADMA2 consists of SDMA, state machine and register
      circuit. ADMA2 uses the 64‑bit advanced DMA system address register (offset 058h) as the
      descriptor pointer, instead of the 32‑bit SDMA system address register (offset 0). Writing to
      the command register triggers the termination of ADMA2 transfer. ADMA2 takes a descriptor line
      and executes it. This process is repeated until the end of the descriptor (the attribute "end"
      equals to 1) is found.

#### Data
address and data length requirements

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

There are three requirements for programming descriptors:

- The minimum unit of address is 4 bytes.
- The maximum data length of each descriptor line is less than 64 KB.
- Total length = length 1 + length 2 + length 3 + …+ length
n = multiple of block size.

If the total length of the descriptor is not a multiple of the
block size, the ADMA2 transfer may not be terminated. In this case,
the transfer shall be terminated by data timeout. The block count
register allows the transfer of maximum 65,535 blocks. If the ADMA2
operation is less than or equal to the transfer of 65,535 blocks,
the block count register can be used. In this case, the total
length of the descriptor table shall be equal to the product of the
block size and the block count. If the ADMA2 operation exceeds the
transfer of 65,535 blocks, the block count register shall be
disabled by setting Block Count Enable to 0 in the transfer mode
register. In this case, the length of data transfer is not
specified by the block count but by the descriptor table. Thus, the
timing of detecting the last block on the SD bus may be different,
and it affects the control of read transfer activity, write
transfer activity and DAT line activity in the current status
register. In the case of a read operation, multiple blocks may be
read. If the read operation is for the last memory area, the host
driver shall ignore the OUT\_OF\_RANGE error.

#### Descriptor table

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

Figure : 32‑bit address descriptor table

![](data:image/png;base64,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)

The above figure shows the definition of the 32‑bit address descriptor table. One
      descriptor line consumes 64 bits (8 bytes) of memory space. The attribute is used to control
      descriptors. Three action symbols are specified here. The 'Nop' operation skips the current
      descriptor line and goes to the next line. The "Tran" operation transfers the data specified
      by the address and length fields. The 'Link' operation is used to link two separate
      descriptors. The link address field points to the next descriptor table. The combination of
      Act2=0 and Act1=1 is reserved and defined as the same operation as 'Nop'. Future versions of
      the controller may use this field and redefine new operations. The 32‑bit address is stored in
      the lower 32 bits of the 64‑bit address register. For a 32‑bit address descriptor table, the
      address field shall be set on the 32‑bit boundary (the lower 2 bits are always set to 0).

#### ADMA2 state

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

This figure illustrates the four states of ADMA2: fetch
descriptor state, change address state, transfer data state and
stop ADMA state:

Figure : ADMA2 states

![](data:image/png;base64,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)

- ST\_FDS (fetch descriptor): ADMA2 fetches the descriptor line
and sets the parameters in the internal register, and then switches
to the ST\_CADR state.
- ST\_CADR (change address): The "Link" operation loads another descriptor address
        into the ADMA system address register. In other operations, the ADMA system address register
        is incremented to the next descriptor line. If End=0, it switches to the ST\_TFR state. Even
        if some errors occur, ADMA2 must not stop in this state.
- ST\_TFR (transfer data): The data of one descriptor line is
transferred between system memory and SD card. If data transfer
continues (End=0), it switches to the ST\_FDS state. If data
transfer is completed, it switches to the ST\_STOP state.
- ST\_STOP (stop DMA): ADMA2 remains in this state in these cases: after power-on
        reset or software reset; all the descriptor data has been transferred. It switches to the
        ST\_FDS state if a new ADMA2 operation is started by writing to the command register.

ADMA2 does not support the Suspend/Resume function, but can use the Stop and Resume
      functions. When the block gap stop request in the block gap control register is set during
      ADMA2 operation, the block gap event interrupt is generated when ADMA2 stops at the block gap.
      The host controller shall use the Read Wait or Stop SD Clock to stop the ADMA2 read operation.
      When ADMA2 is stopped, no SD command can be issued. Errors occurred during ADMA2 transfer may
      stop ADMA2 operation and generate an ADMA error interrupt. The ADMA Error Status field in the
      ADMA Error Status register stores the status that ADMA2 has stopped. The host driver can
      identify the location of the error descriptor in two ways. That is, if ADMA stops in the
      ST\_FDS state, the ADMA system address register points to the error descriptor line. If ADMA
      stops in the ST\_TFR or ST\_STOP state, the ADMA system address register will point to the next
      line of the error descriptor line. Therefore, ADMA2 must not stop in the ST\_CADR state.

### Test register

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The test register is defined for testing. When it is difficult to intentionally
      generate some interrupts, you may use this function to manually generate such interrupts for
      driver debugging. To that end, a force event register is defined to control the Error
      Interrupt Status and the automatic CMD error status. It is also difficult to control card
      insertion and removal intentionally. The card detection signal selection and card detection
      test level in the host control 1 register make it possible to manually control the card
      inserted in the current status register and generate card insertion and card removal
      interrupts in the Normal Interrupt Status register.

### Block count

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The block count command (CMD23) provides an untimed method to stop multiblock
      operations. The block count is set in the parameter of CMD23 to specify the transfer length of
      CMD18 or CMD25 after that. Automatic CMD23 is the function of automatically sending CMD23
      before sending CMD18 or CMD25. This function aims to avoid performance degradation during
      memory access by deleting the interrupt service of CMD23. The offset 008h parameter 1 register
      is used for CMD18 or CMD25. Then an offset of 000h is assigned to the parameter 2 register of
      CMD23. The host controller does not use the parameter 2 register to calculate the data
      transfer length. There are two cases of data length of the host side data transfer operation:
      non-ADMA and ADMA. The total length of an AMDA descriptor refers to the sum of all the 16‑bit
      data length of each ADMA descriptor line. The “block count enable” shall be disabled for ADMA.
      It is worth noting that the total data transfer length of the host controller shall be equal
      to the transfer length of the card.

### Sampling clock tuning

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

In UHSI mode, the SD bus can run in the high clock frequency
mode, and then the data window of cards on CMD and DAT[3:0] lines
becomes smaller. The position of the data window varies with the
implementation of the card and host system. Hence, when SDR104 or
SDR50 is supported by executing the tuning program and adjusting
the sampling clock (if the usage tuning of SDR50 is set to 1 in the
capability register), the host controller shall support the tuning
circuit. The execution tuning and sampling clock selection in the
host control 2 register is used to control the tuning circuit.

### SD host standard
register

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

#### SD host control
register mapping

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The following table summarizes the standard SD host controller register sets. The
      host driver must determine the base address of the register set by the host system-specific
      method. The size of the register set is 256 bytes. For multiple card slot controllers, one
      register set is assigned to each card slot, but the register at the offset 0F0h0FFh is
      assigned as a common area, and these registers contain the same value from each card slot
      register set.

| Offset | 15-8 bit | 7-0 bit | Offset | 15-8 bit | 7-0 bit |
| --- | --- | --- | --- | --- | --- |
| 002h | SDMA System Address(High), Argument 2(High) | SDMA System Address(High), Argument 2(High) | 000h | SDMA System Address(Low),Argument 2(Low) | SDMA System Address(Low),Argument 2(Low) |
| 006h | Block Count | Block Count | 004h | Block Size | Block Size |
| 00Ah | Argument 1(High) | Argument 1(High) | 008h | Argument 1(Low) | Argument 1(Low) |
| 00Eh | Command | Command | 00Ch | Transfer Mode | Transfer Mode |
| 012h | Response1 | Response1 | 010h | Response0 | Response0 |
| 016h | Response3 | Response3 | 014h | Response2 | Response2 |
| 01Ah | Response5 | Response5 | 018h | Response4 | Response4 |
| 01Eh | Response7 | Response7 | 01Ch | Response6 | Response6 |
| 022h | Buffer Data Port1 | Buffer Data Port1 | 020h | Buffer Data Port0 | Buffer Data Port0 |
| 026h | Present State | Present State | 024h | Present State | Present State |
| 02Ah | Wakeup Control | Block Gap Control | 028h | Power Control | Host Control 1 |
| 02Eh | Software Reset | Timeout Control | 02Ch | Clock Control | Clock Control |
| 032h | Error Interrupt Status | Error Interrupt Status | 030h | Normal Interrupt Status | Normal Interrupt Status |
| 036h | Error Interrupt Status Enable | Error Interrupt Status Enable | 034h | Normal Interrupt Status Enable | Normal Interrupt Status Enable |
| 03Ah | Error Interrupt Signal Enable | Error Interrupt Signal Enable | 038h | Normal Interrupt Signal Enable | Normal Interrupt Signal Enable |
| 03Eh | Host Control 2 | Host Control 2 | 03Ch | Auto CMD Error Status | Auto CMD Error Status |
| 042h | Capabilities | Capabilities | 040h | Capabilities | Capabilities |
| 046h | Capabilities |  | 044h | Capabilities | Capabilities |
| 04Ah | Maximum Current Capabilities | Maximum Current Capabilities | 048h | Maximum Current Capabilities | Maximum Current Capabilities |
| 04Eh | Maximum Current Capabilities (Reserved) | Maximum Current Capabilities (Reserved) | 04Ch | Maximum Current Capabilities (Reserved) | Maximum Current Capabilities (Reserved) |
| 052h | Force Event for Error Interrupt Status | Force Event for Error Interrupt Status | 050h | Force Event for Auto CMD Error Status | Force Event for Auto CMD Error Status |
| 056h | --- | --- | 054h | --- | ADMA Error Status |
| 05Ah | ADMA System Address [31:16] | ADMA System Address [31:16] | 058h | ADMA System Address [15:00] | ADMA System Address [15:00] |
| 05Eh | ADMA System Address [63:48] | ADMA System Address [63:48] | 05Ch | ADMA System Address [47:32] | ADMA System Address [47:32] |
| 062h | Preset Value | Preset Value | 060h | Preset Value | Preset Value |
| 066h | Preset Value | Preset Value | 064h | Preset Value | Preset Value |
| 06Ah | Preset Value | Preset Value | 068h | Preset Value | Preset Value |
| 06Eh | Preset Value | Preset Value | 06Ch | Preset Value | Preset Value |
| --- | --- | --- | --- | --- | --- |
| 0E2h | Shared Bus Control (High) | Shared Bus Control (High) | 0E0h | Shared Bus Control (Low) | Shared Bus Control (Low) |
| --- | --- | --- | --- | --- | --- |
| 0F2h | --- | --- | 0F0h | --- | --- |
| --- | --- | --- | --- | --- | --- |
| 0FEh | Host Controller Version | Host Controller Version | 0FCh | Slot Interrupt Status | Slot Interrupt Status |

#### Configuration of
register type

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The configuration register field is assigned an attribute
described in the following table:

Table : Types of registers and register bit fields

| Register attribute | Description |
| --- | --- |
| RO | Read-only register: Register bits are read-only and cannot be altered by software<br>              or any reset operation. Writes to these bits are ignored. |
| ROC | Read-only status: These bits are initialized to zero at reset. Writes to these<br>              bits are ignored. |
| RW | Read-Write register: Register bits are read-write and may be either set or<br>              cleared by software to the desired state. |
| RWIC | Read-only status, Write-1-to-clear status: Register bits indicate status when<br>              read, a set bit indicating a status event may be cleared by writing a 1. Writing a 0<br>              to RW1C bits has no effect. |
| RWAC | Read-Write, automatic clear register: The Host Driver requests a Host Controller<br>              operation by setting the bit. The Host Controllers shall clear the bit automatically<br>              when the operation of complete. Writing a 0 to RWAC bits has no effect. |
| HwInit | Hardware Initialized: Register bits are initialized by firmware or hardware<br>              mechanisms such as pin strapping or serial EEPROM. |
| Rsvd | Bits are read-only after initialization, and writes to these bits are ignored.<br>              Reserved. These bits are initialized to zero, and writes to them are ignored. |
| WO | Write-only register. It is not physically implemented register. Rather, it is an<br>              address at which registers can be written. |

#### Initial value of
register

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

The host controller sets all registers to their initial values at power-on reset,
      and the default values of all other registers shall be all bits that are set to zero. The
      values of the capability register and the maximum current capability register depend on the
      host controller, and the value of the host controller version register also depends on the
      host controller.

#### Reserved bits of a
register

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html](https://docs.qualcomm.com/doc/80-58740-1/topic/sdh.html)

'Reserved' means that this bit can be defined for future use, and it is currently
      set to 0. These bits shall be set to 0.

Last Published: Feb 11, 2026