Adaptation/GUID-9BBDFF77-5E2C-4E13-BEB3-716CC80B3375.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-9BBDFF77-5E2C-4E13-BEB3-716CC80B3375" xml:lang="en"><title>SDIO Implementation Guide</title><shortdesc>How to port the SDIO Controller for your platform to provide
       
    13 the SDIO adaptation.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>The SDIO implementation shares most of its functionality with the
       
    15 Secure Digital (SD) Controller, which in turn extends the MultiMedia
       
    16 Card (MMC) Controller. SDIO adds support for data transfer between
       
    17 Input/Output hardware included on SDIO peripherals. The SDIO Controller
       
    18 initializes SDIO peripherals and provides an API so that class drivers
       
    19 can access the SDIO services.</p>
       
    20 <p>Providing an SDIO adaptation for your platform means porting the
       
    21 SDIO Controller. This is done by providing platform specific implementations
       
    22 of the SDIO SHAI interface functions.</p>
       
    23 <section id="GUID-64516BCF-2245-46DF-9E7F-FFC18AC7F691"><title>Prerequisites</title><p>SDIO depends on SD and MMC: the SDIO protocol is a super-set of
       
    24 the SD protocol (and of the MMC protocol). Therefore, in addition
       
    25 to the SDIO standard, you need to know about the following:<ul>
       
    26 <li><p>SD (Secure Digital)</p></li>
       
    27 <li><p>MMC (MultiMedia Card)</p></li>
       
    28 </ul></p>     </section>
       
    29 <section id="GUID-A6598353-0AC5-4DB0-82AD-C2F397CB5CD0"><title>Architecture</title><p>The following diagram illustrates the implementation of the SDIO
       
    30 extension for the MMC Controller. The classes in green provide the
       
    31 hardware interface and the classes in blue implement the platform-specific
       
    32 functions.</p><fig id="GUID-AA66D99B-9EF2-4803-8D43-A3BDA180C9C9">
       
    33 <title>SDIO Controller classes</title>
       
    34 <image href="GUID-D5030CC5-1FC1-40F3-9D68-4A454B25C58B_d0e103563_href.png" placement="inline"/>
       
    35 </fig></section>
       
    36 <section id="GUID-20DF01A9-64AF-45E6-8F22-2E384F4177EA"><title>Implementation</title>The Platform-Independent Layer (PIL) of the SDIO Controller is made
       
    37 up from three sets of files described in the following table:<p><table id="GUID-54A82958-4168-42CD-81DE-466CEA0FEEFC-GENID-1-2-1-10-1-5-1-9-1-1-8-1-5-1-3-5-2-1">
       
    38 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    39 <thead>
       
    40 <row>
       
    41 <entry valign="top">Standard</entry>
       
    42 <entry valign="top">Source code location</entry>
       
    43 </row>
       
    44 </thead>
       
    45 <tbody>
       
    46 <row>
       
    47 <entry>MMC</entry>
       
    48 <entry><p><filepath>os/kernelhwsrv/kernel/eka/drivers/pbus/mmc</filepath></p><p>See also <xref href="GUID-40F2BC43-5022-5F4E-B445-56FEF43FEB8B.dita">Code Organization</xref> in the MMC section.</p></entry>
       
    49 </row>
       
    50 <row>
       
    51 <entry>SD</entry>
       
    52 <entry><filepath>os/kernelhwsrv/kernel/eka/drivers/pbus/mmc/sdcard/sdcard3c/</filepath><p>Also see <xref href="GUID-E194A923-99E7-5DC1-BB78-D050A4793A60.dita#GUID-E194A923-99E7-5DC1-BB78-D050A4793A60/GUID-59DA32AA-97F3-4001-9B6F-887E986C633D">Source Code</xref> in the SD section.</p></entry>
       
    53 </row>
       
    54 <row>
       
    55 <entry>SDIO</entry>
       
    56 <entry><filepath>os/kernelhwsrv/kernel/eka/drivers/pbus/mmc/sdcard/sdcard3c/sdio/</filepath></entry>
       
    57 </row>
       
    58 </tbody>
       
    59 </tgroup>
       
    60 </table></p><p>The Platform-Specific Layer (PSL) should be located
       
    61 in a variant directory and have a similar folder hierarchy to the
       
    62 PIL. It should provide the following implementations:<ul>
       
    63 <li><p>Stack</p></li>
       
    64 <li><p>Power Supply Unit (PSU)</p></li>
       
    65 </ul> These implementations are discussed in the tutorials:<ul>
       
    66 <li><p><xref href="GUID-2344B900-5EC5-4467-BEAD-AB55C88CE63E.dita">SDIO
       
    67 Stack Implementation Tutorial</xref></p></li>
       
    68 <li><p><xref href="GUID-7E3BBB18-3113-4312-AD91-897DE87C58BF.dita">SDIO
       
    69 PSU Implementation Tutorial</xref></p></li>
       
    70 </ul></p></section>
       
    71 </conbody></concept>