diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-7D535B68-CA7F-4796-80FB-AE7A27642A88.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-7D535B68-CA7F-4796-80FB-AE7A27642A88.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,117 @@ + + + + + +SDIO +OverviewSDIO is an Input/Output interface based on the SD card standard. +

The intent behind SDIO is to allow the use of an SD slot for more than +memory cards. SDIO allows I/O devices such as GPS, camera, Wi-Fi, FM radio, +Ethernet, barcode readers and Bluetooth to be plugged into such a slot.

+

However, with space being limited in modern mobile phones, memory card +slots are usually microSD slots - which are too small to accept SDIO or miniSDIO +cards. Also, memory card slots are often internal to the phone which prohibits the +insertion of SDIO cards. Therefore in Symbian devices, SDIO is typically used +only as an internal peripheral bus on all but hardware reference platforms. +Because of its ability to provide high-speed data I/O with low power consumption, +SDIO can be used to connect components such as Wi-Fi and FM radio peripheral +chips to the main processor.

+
Required background

You +must have an understanding of SD card before using SDIO.

+
Architecture +SDIO Architecture + +
+
Description

The +SDIO is divided into key modules described below.

    +
  • Memory card performs the SD or the MMC card operations. It registers +the card driver, initializes the card, and sets permissions for the read and +write operations

  • +
    +
  • SDIO Host controller is the most important module in the SDIO +architecture. It has a driver that allows card initialization, bus width settings, +clock frequency setting, sending and receiving of commands and SDIO interrupt +handling.

  • +
    +
  • General Card Functions contains functions that are useful during +the development of other card drivers. The module supplies the read/write +SDIO/SD/MMC card register operations as well as select/deselect card, read +card status and reset card procedures.

  • +
+
Key Concepts
    +
  • SDIO Interrupts: SDIO Interrupts are level-sensitive interrupts. +They communicate with the host through the SDIO line. The signal is held +active until the host acknowledges the interrupt through some function unique +I/O operation.

  • +
    +
  • SDIO Class Driver: SDIO Driver supports the SDIO Host Controller. +The driver includes functions such as initialization, bus settings, clock +frequency setting, sending and receiving of commands, and SDIO interrupt handling.

  • +
    +
  • SDIO card controller: SDIO card protocol is a super-set of the +SD card protocol. The SDIO Card Controller shares some of its functionality +with the SD controller. The Symbian platform SDIO card controller is implemented +as a set of SDIO card classes, each of which is derived from the corresponding +SD card classes. The SDIO card controller provides support for SDIO cards +within the E32 kernel. It manages access to the SDIO card hardware interface +and provides an API for class drivers to access SDIO card functions.

  • +
+
API summary

This +API is used by the implementers of the class drivers.

+ + + +

API names

+

Description

+
+ + + +

DSDIOSTACK

+

The stack can handle multiple outstanding requests simultaneously. + It schedules these requests onto the bus, thereby putting the appropriate +card into transfer state automatically and running the appropriate state machine +function.

+
+ +

TSDIOCARD

+

This class owns the I/O function objects. It provides access to +an I/O function object provided through the IOFunction(), +which returns a pointer to the object concerned.

+
+ +

DSDIOSESSION

+

This contains functions for setting up a session object to perform +SDIO specific command sequences such as initialization, scheduling, invoking +and submitting the session.

+
+ +

DSDIOREGINTERFACE

+

This contains the APIs that are used most frequently +during the implementation of the SDIO class drivers. It contains member functions +that allow single-byte read or write operations to a given register address +together with the corresponding ones for multi-byte access

+
+ +

TSDIOFUNCTION

+

This contains member functions for access and control of function-specific +features such as function enable, function ready. It also has the member functions +for access and control of FBR features such as CSA access and function block +size.

+
+ +

TSDIOINTERRUPT

+

This contains the usual interrupt object member functions. It provides +the abstraction of a per-function interrupt even though each function actually +shares a single interrupt request signal on the card.

+
+ + +
+
\ No newline at end of file