diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-9BBDFF77-5E2C-4E13-BEB3-716CC80B3375.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-9BBDFF77-5E2C-4E13-BEB3-716CC80B3375.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,71 @@ + + + + + +SDIO Implementation GuideHow to port the SDIO Controller for your platform to provide +the SDIO adaptation. +

The SDIO implementation shares most of its functionality with the +Secure Digital (SD) Controller, which in turn extends the MultiMedia +Card (MMC) Controller. SDIO adds support for data transfer between +Input/Output hardware included on SDIO peripherals. The SDIO Controller +initializes SDIO peripherals and provides an API so that class drivers +can access the SDIO services.

+

Providing an SDIO adaptation for your platform means porting the +SDIO Controller. This is done by providing platform specific implementations +of the SDIO SHAI interface functions.

+
Prerequisites

SDIO depends on SD and MMC: the SDIO protocol is a super-set of +the SD protocol (and of the MMC protocol). Therefore, in addition +to the SDIO standard, you need to know about the following:

    +
  • SD (Secure Digital)

  • +
  • MMC (MultiMedia Card)

  • +

+
Architecture

The following diagram illustrates the implementation of the SDIO +extension for the MMC Controller. The classes in green provide the +hardware interface and the classes in blue implement the platform-specific +functions.

+SDIO Controller classes + +
+
ImplementationThe Platform-Independent Layer (PIL) of the SDIO Controller is made +up from three sets of files described in the following table:

+ + + +Standard +Source code location + + + + +MMC +

os/kernelhwsrv/kernel/eka/drivers/pbus/mmc

See also Code Organization in the MMC section.

+
+ +SD +os/kernelhwsrv/kernel/eka/drivers/pbus/mmc/sdcard/sdcard3c/

Also see Source Code in the SD section.

+
+ +SDIO +os/kernelhwsrv/kernel/eka/drivers/pbus/mmc/sdcard/sdcard3c/sdio/ + + + +

The Platform-Specific Layer (PSL) should be located +in a variant directory and have a similar folder hierarchy to the +PIL. It should provide the following implementations:

    +
  • Stack

  • +
  • Power Supply Unit (PSU)

  • +
These implementations are discussed in the tutorials:
    +
  • SDIO +Stack Implementation Tutorial

  • +
  • SDIO +PSU Implementation Tutorial

  • +

+
\ No newline at end of file