--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-5471CDD4-030E-4509-8B7C-603C9B7953B4.dita Tue Mar 30 11:56:28 2010 +0100
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License
+"Eclipse Public License v1.0" which accompanies this distribution,
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+ Nokia Corporation - initial contribution.
+Contributors:
+-->
+<!DOCTYPE concept
+ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-5471CDD4-030E-4509-8B7C-603C9B7953B4" xml:lang="en"><title>GPIO
+Technology Guide</title><shortdesc>Discusses GPIO technology as specified for implementation as a
+SHAI.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-087A2FDD-8879-5944-9C0E-05ABD9FFAF50"><title>Purpose</title><p>GPIO
+(General Purpose Input/Output) is a communication interface between microprocessor
+components. GPIOs consist of binary inputs/outputs called pins, arranged in
+groups called modules, typically of up to 32 pins in a module. GPIO is often
+used to implement hardware interrupts and CPU wakeup and also to control peripherals. </p> <p>Symbian
+platform defines a single static exported class <xref href="GUID-C93C53D3-2BE8-36AE-83B8-4CDB4195649B.dita"><apiname>GPIO</apiname></xref> for
+device drivers to use to access the GPIO hardware on the device. The SHAI
+does not provide an implementation of the class. When you implement a board
+support package for device hardware with GPIO hardware, you should provide
+an implementation of the class in a variant-specific component. </p> </section>
+<section id="GUID-48176C53-72DC-5A2E-8124-9FA222AE91AB"><title>Key concepts</title> <p>Certain
+terms have a specific meaning in the context of GPIO. </p> <dl>
+<dlentry>
+<dt>module</dt>
+<dd><p>A group of pins which can be mapped on to a register. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>function</dt>
+<dd><p>The purpose for which the pins and modules are used. GPIO is one such
+purpose: serial bus line signals are an example of a different function. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>state</dt>
+<dd><p>Electrical states as mapped on to mode, direction and logical state. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>configuration</dt>
+<dd><p>The current configuration of all the pins on a module: their direction,
+electrical and logical state, interrupt and wakeup enablement status. </p> </dd>
+</dlentry>
+</dl> </section>
+<section id="GUID-35C041B8-F3F0-544B-A67E-0A25BE140D8B"><title>Design features</title> <p>The
+Symbian platform GPIO interface reserves most decisions about design to implementers
+in accordance with the platform they are writing for. However, certain design
+features are implicit in the interface provided. </p> <p>These are the main
+features of the Symbian platform GPIO interface: </p> <ul>
+<li id="GUID-DD56DA4D-C0A7-5180-9142-81887C7538C2"><p>The interface is supplied
+as a single static exported interface to be implemented as a variant specific
+component. </p> </li>
+<li id="GUID-B201623E-64E2-5FEF-959F-9C096F424D7E"><p>The access APIs are
+specified at pin level. There are no module level APIs. </p> </li>
+<li id="GUID-D8FF221C-F0EB-5F1B-886B-0F6AAC4023A9"><p>The pin IDs are to be
+defined in a single enumeration with values to be determined at build time. </p> </li>
+<li id="GUID-7F703C00-FE1D-5DE6-8E0E-29E4138E1060"><p>Bidirectional input/output
+is not supported. </p> </li>
+<li id="GUID-2CF55AD5-B98C-5207-A78F-B4C7654E677A"><p>Electrical states intermediate
+between High and Low are not supported. </p> </li>
+<li id="GUID-C3982CA3-04F3-58C4-B907-EE6A82FBD548"><p>It is strongly recommended
+that debouncing should be implemented in software if it is not provided with
+the hardware. </p> </li>
+<li id="GUID-CD64A653-AB5C-575A-A3D3-0151FD8ADCF4"><p>There is limited support
+for extensions to the functionality within the framework of the static interface. </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file