|
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-D7D7615F-B67D-44D0-82DF-24853159A114" xml:lang="en"><title>Baseport Template Client Interface Guide</title><shortdesc>Provides a basic framework consisting of base parts of |
|
13 the Symbian platform.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>The Baseport Template platform service provide an interface to |
|
15 the kernel-side client for hardware-specific functions (for example, |
|
16 GPIO, DMA, IIC, USB Client Controller) that are used by the kernel. </p> |
|
17 <section id="GUID-CEE49D22-800F-4906-9634-ED90D6326CD4"> |
|
18 <title>Interface class</title> <p>The client interface |
|
19 for the Baseport Template platform service is:<table id="GUID-04372BCC-FF57-454B-808A-6CE36F305FD1"> |
|
20 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
21 <thead> |
|
22 <row> |
|
23 <entry valign="top">API</entry> |
|
24 <entry valign="top">Description</entry> |
|
25 </row> |
|
26 </thead> |
|
27 <tbody> |
|
28 <row> |
|
29 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita"><apiname>TemplateAssp</apiname></xref></p></entry> |
|
30 <entry><p>Provides common peripheral control functions such as power, |
|
31 bootstrap, keymap, keyboard and sound that other extensions and device |
|
32 drivers can use</p></entry> |
|
33 </row> |
|
34 </tbody> |
|
35 </tgroup> |
|
36 </table></p><p>The Baseport Template interface provides the following |
|
37 functions.</p><table id="GUID-F62F1769-B473-4CD7-AFB8-B87EDED9473F"> |
|
38 <tgroup cols="3"><colspec colname="col1"/><colspec colname="COLSPEC0" colwidth="1.00*"/><colspec colname="col2"/> |
|
39 <thead> |
|
40 <row> |
|
41 <entry valign="top">Function</entry> |
|
42 <entry valign="top">Return Type</entry> |
|
43 <entry valign="top">Description</entry> |
|
44 </row> |
|
45 </thead> |
|
46 <tbody> |
|
47 <row> |
|
48 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-D6F36994-1F14-38FA-8030-F958BEFA31B5"><apiname>TemplateAssp::Init1()</apiname></xref></p></entry> |
|
49 <entry><codeph>void</codeph></entry> |
|
50 <entry><p>Initialize the ASSP interrupt controller</p></entry> |
|
51 </row> |
|
52 <row> |
|
53 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-3B629F63-8F31-32E9-9953-3D01F8A979BB"><apiname>TemplateAssp::Init3()</apiname></xref></p></entry> |
|
54 <entry><codeph>void</codeph></entry> |
|
55 <entry><p>Called in the context of the supervisor thread</p></entry> |
|
56 </row> |
|
57 <row> |
|
58 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-D3897D91-4127-3A9C-B996-84AE19CE1227"><apiname>TemplateAssp::StartupReason()</apiname></xref></p></entry> |
|
59 <entry><codeph>TMachineStartupType</codeph></entry> |
|
60 <entry><p>Return the Startup reason of the Super Page (set up by Bootstrap)</p></entry> |
|
61 </row> |
|
62 <row> |
|
63 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-69BD314C-DB6D-326C-9B6B-7ACA5D2D6109"><apiname>TemplateAssp::MsTickPeriod()</apiname></xref></p></entry> |
|
64 <entry><codeph>TInt</codeph></entry> |
|
65 <entry><p>Obtain the period of System Tick timer in microseconds</p></entry> |
|
66 </row> |
|
67 <row> |
|
68 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-371B9277-7E59-3B52-B8FA-C83D02192F34"><apiname>TemplateAssp::SystemTimeInSecondsFrom2000(TInt& |
|
69 aTime);</apiname></xref></p></entry> |
|
70 <entry><codeph>TInt</codeph></entry> |
|
71 <entry><p>Obtain System Time from the RTC</p></entry> |
|
72 </row> |
|
73 <row> |
|
74 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-47B670EB-CD22-3CBE-A20C-5E5752207ED0"><apiname>TemplateAssp::SetSystemTimeInSecondsFrom2000(TInt |
|
75 aTime)</apiname></xref></p></entry> |
|
76 <entry><codeph>TInt</codeph></entry> |
|
77 <entry><p>Obtain Adjust the RTC with new System Time</p></entry> |
|
78 </row> |
|
79 <row> |
|
80 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-10356DD9-911A-3213-964E-90ED73DEDBE0"><apiname>TemplateAssp::NanoWaitCalibration()</apiname></xref></p></entry> |
|
81 <entry><codeph>TUint32</codeph></entry> |
|
82 <entry><p>Obtain the time it takes to execute two processor instructions</p></entry> |
|
83 </row> |
|
84 </tbody> |
|
85 </tgroup> |
|
86 </table> </section> |
|
87 <section id="GUID-353FB844-F423-48C8-A992-4B0B509B6717"><title>Pure |
|
88 Virtual Functions for derivation by variant</title><p> These are the |
|
89 functions whose implementation are not provided in the class, but |
|
90 the behavior can be overridden within an inheriting class by a function |
|
91 with the same return type.</p><p><b>External interrupt handling functions</b> are used by second-level interrupt controllers at variant level.</p><table id="GUID-16FE0DE3-1096-47A0-A7FE-9989F73ABF6C"> |
|
92 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
93 <thead> |
|
94 <row> |
|
95 <entry valign="top">Functions</entry> |
|
96 <entry valign="top">Return Type</entry> |
|
97 </row> |
|
98 </thead> |
|
99 <tbody> |
|
100 <row> |
|
101 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-40F10C5C-912E-3433-B01E-9F4FC8448AF1"><apiname>TemplateAssp::InterruptBind(TInt anId, TIsr anIsr, |
|
102 TAny* aPtr)</apiname></xref></p></entry> |
|
103 <entry><codeph>TInt</codeph></entry> |
|
104 </row> |
|
105 <row> |
|
106 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-27DBAA7C-CF52-3167-84ED-BB1BDA2160F9"><apiname>TemplateAssp::InterruptUnbind(TInt anId)</apiname></xref></p></entry> |
|
107 <entry><codeph>TInt</codeph></entry> |
|
108 </row> |
|
109 <row> |
|
110 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-EA574990-A3F5-3127-9052-477AF80746B5"><apiname>TemplateAssp::InterruptEnable(TInt anId)</apiname></xref></p></entry> |
|
111 <entry><codeph>TInt</codeph></entry> |
|
112 </row> |
|
113 <row> |
|
114 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-C9ED2A0E-6725-3230-AF82-83E3CE67931B"><apiname>TemplateAssp::InterruptDisable(TInt anId)</apiname></xref></p></entry> |
|
115 <entry><codeph>TInt</codeph></entry> |
|
116 </row> |
|
117 <row> |
|
118 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-E180DE9E-7F38-3552-83C1-E0E99CC61C16"><apiname>TemplateAssp::InterruptClear(TInt anId)</apiname></xref></p></entry> |
|
119 <entry><codeph>TInt</codeph></entry> |
|
120 </row> |
|
121 </tbody> |
|
122 </tgroup> |
|
123 </table><p><b>USB client controller functions</b> are the called by |
|
124 the USB PSL, and to be implemented by the variant .</p><table id="GUID-C68B5AA4-DCBA-4380-A317-0DF7DB24A2C7"> |
|
125 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
126 <thead> |
|
127 <row> |
|
128 <entry valign="top">Functions</entry> |
|
129 <entry valign="top">Return Type</entry> |
|
130 </row> |
|
131 </thead> |
|
132 <tbody> |
|
133 <row> |
|
134 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-C139AF42-D777-3E24-8C51-EE9713382984"><apiname>TemplateAssp::UsbClientConnectorDetectable()</apiname></xref></p></entry> |
|
135 <entry><codeph>TBool</codeph></entry> |
|
136 </row> |
|
137 <row> |
|
138 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-4579D639-36EF-3F9B-B61F-0617737AEF6B"><apiname>TemplateAssp::UsbClientConnectorInserted()</apiname></xref></p></entry> |
|
139 <entry><codeph>TBool</codeph></entry> |
|
140 </row> |
|
141 <row> |
|
142 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-7F3C5DE4-1271-3D01-8851-F98B2C65D902"><apiname>TemplateAssp::RegisterUsbClientConnectorCallback(TInt |
|
143 (*aCallback)(TAny*), TAny* aPtr)</apiname></xref></p></entry> |
|
144 <entry><codeph>TInt</codeph></entry> |
|
145 </row> |
|
146 <row> |
|
147 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-F790857E-0ADD-3867-BC31-2465682F759F"><apiname>TemplateAssp::UnregisterUsbClientConnectorCallback()</apiname></xref></p></entry> |
|
148 <entry><codeph>void</codeph></entry> |
|
149 </row> |
|
150 <row> |
|
151 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-D1145A00-6288-353B-B12B-FF975A34543C"><apiname>TemplateAssp::UsbSoftwareConnectable()</apiname></xref></p></entry> |
|
152 <entry><codeph>TBool</codeph></entry> |
|
153 </row> |
|
154 <row> |
|
155 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-34F11331-62B8-3F1E-9C53-55A4727926AE"><apiname>TemplateAssp::UsbConnect()</apiname></xref></p></entry> |
|
156 <entry><codeph>TInt</codeph></entry> |
|
157 </row> |
|
158 <row> |
|
159 <entry><p><xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita#GUID-E893165C-0E62-3AC6-98BA-227E104B672E/GUID-5C7895A2-323D-34C5-BFAB-3FF470CB3503"><apiname>TemplateAssp::UsbDisconnect()</apiname></xref></p></entry> |
|
160 <entry><codeph>TInt</codeph></entry> |
|
161 </row> |
|
162 </tbody> |
|
163 </tgroup> |
|
164 </table></section> |
|
165 </conbody><related-links> |
|
166 <link href="GUID-57989FF8-5E8F-4C8A-9D38-169AFCA4C078.dita"><linktext>Baseport |
|
167 Template Implementation Guide</linktext></link> |
|
168 </related-links></concept> |