Secure Digital Card Host Controller Driver (Windows CE 5.0)
The Secure Digital (SD) card host controller driver is the software component that controls the host controller hardware and conforms to a host controller software interface that the bus driver uses to communicate and set operating parameters. The host controller driver uses an API set exported by the bus driver for registration and unregistration.
Registration involves providing information about host and slot capabilities, including maximum clock rate, acceptable voltage windows, SD data bus width, and power up delay. Registration also provides callback functions, a slot options handler, a power handler, and a bus request handler.
The SD Card stack uses a dynamic architecture that allows host controller drivers to register or unregister at any time.
The host controller driver interface provides a hardware abstraction layer between the bus driver and the host controller implementation. Host controller drivers contain platform and chipset dependent code and only communicate information to the bus driver through this interface. This keeps the bus driver independent of host controller and platform design. The host controller driver interface is only required by host controller drivers and is independent from the client driver API.
The host controller driver:
- Includes the controller, slot, and supporting logic, and comprises the actual hardware implementation.
- Implements the SD and multimedia card (MMC) transmit and receive electronics.
- Can be a memory-mapped device on a local bus such as an integrated controller, or on a peripheral bus such as PCMCIA, PCI, and USB.
- Can also use programmed I/O or direct memory access (DMA).
The SD card driver architecture allows for an unlimited number of host controller drivers per system. Multiple slot implementations must utilize independent power, clock, and bus width control. This allows the system to accept cards that have different SD interface requirements.
The SD card host controller electrical interface is fully hot swappable and can operate in 1-bit or 4-bit mode, with a clock speed of 0 to 25 megahertz (MHz). The host controller driver is responsible for registering the capabilities of a slot to the bus driver.
A host controller can be based on any subordinate bus architecture. For example, a PCI-based host controller may be loaded as a streams driver.
See Also
Secure Digital Card Driver Development Concepts | Secure Digital Card Multimedia Card Compatibility
Send Feedback on this topic to the authors