|
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-8D7ED882-C61E-4B4F-8483-A323C60BFC57" xml:lang="en"><title>Register Access Interface Overview</title><shortdesc>Provides a summary of the Register Access platform service |
|
13 interface.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>The Register Access platform service is provided by functions of |
|
15 the <xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita"><apiname>AsspRegister</apiname></xref> class. The <xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita"><apiname>AsspRegister</apiname></xref> class is defined in the <filepath>os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h</filepath> file. The functions defined in the AsspRegister class must be implemented |
|
16 in the baseport variant to allow device drivers and other kernel side |
|
17 code to access registers.</p> |
|
18 <section id="GUID-771DD532-171E-4F14-9704-EB040E5F6E67"> |
|
19 <title>Register read functions</title> <table id="GUID-17C79765-D70E-4739-BC15-7131F39EE1ED"> |
|
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><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-A47E7A93-8180-38BA-8FAD-27ADA0E86EF7"><apiname>AsspRegister::Read8(TLinAddr aAddr)</apiname></xref></entry> |
|
30 <entry>Read the contents of an 8 bit register</entry> |
|
31 </row> |
|
32 <row> |
|
33 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-41AA4058-4528-3AB7-9084-AA6053AF0656"><apiname>AsspRegister::Read16(TLinAddr aAddr)</apiname></xref></entry> |
|
34 <entry>Read the contents of a 16bit register</entry> |
|
35 </row> |
|
36 <row> |
|
37 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-E637527E-537A-367D-91C2-A3BB3AA0A587"><apiname>AsspRegister::Read32(TLinAddr aAddr)</apiname></xref></entry> |
|
38 <entry>Read the contents of a 32 bit register</entry> |
|
39 </row> |
|
40 <row> |
|
41 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-05FADA8D-5B77-39C6-A939-5EB1B209DD53"><apiname>AsspRegister::Read64(TLinAddr aAddr)</apiname></xref></entry> |
|
42 <entry>Read the contents of a 64 bit register</entry> |
|
43 </row> |
|
44 </tbody> |
|
45 </tgroup> |
|
46 </table> </section> |
|
47 <section id="GUID-5E3A1EC0-C992-4C9C-B860-13B0F8F2A57B"><title>Register |
|
48 write functions</title><table id="GUID-E09626C9-EAC4-49A9-841D-FC901C303DE1"> |
|
49 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
50 <thead> |
|
51 <row> |
|
52 <entry valign="top">API</entry> |
|
53 <entry valign="top">Description</entry> |
|
54 </row> |
|
55 </thead> |
|
56 <tbody> |
|
57 <row> |
|
58 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-CB85C4D4-3652-311E-808A-048A43F49F3E"><apiname>AsspRegister::Write8(TLinAddr aAddr, TUint8 aValue)</apiname></xref></entry> |
|
59 <entry>Store a new value in an 8 bit register.</entry> |
|
60 </row> |
|
61 <row> |
|
62 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-C20B9119-AAC8-354B-902A-B4349AEFC00E"><apiname>AsspRegister::Write16(TLinAddr aAddr, TUint16 aValue)</apiname></xref></entry> |
|
63 <entry>Store a new value in a 16 bit register.</entry> |
|
64 </row> |
|
65 <row> |
|
66 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-E18C1674-47EA-3B70-9BEE-55302D58F83B"><apiname>AsspRegister::Write32(TLinAddr aAddr, TUint32 aValue)</apiname></xref></entry> |
|
67 <entry>Store a new value in a 32 bit register.</entry> |
|
68 </row> |
|
69 <row> |
|
70 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-99D3233D-8F1C-3A65-BC1F-F10998728EB8"><apiname>AsspRegister::Write64(TLinAddr aAddr, TUint64 aValue)</apiname></xref></entry> |
|
71 <entry>Store a new value in a 64 bit register.</entry> |
|
72 </row> |
|
73 </tbody> |
|
74 </tgroup> |
|
75 </table></section> |
|
76 <section id="GUID-8A50A6F0-3DF6-4CD6-8F08-63A87892EA2C"><title>Register |
|
77 modify functions</title><p>The difference between write and modify |
|
78 functions is that the modify function allows the client to change |
|
79 partial contents of a register using masks.</p><table id="GUID-309EC00D-9718-4114-BE12-253F5CE93C6E"> |
|
80 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
81 <thead> |
|
82 <row> |
|
83 <entry valign="top">API</entry> |
|
84 <entry valign="top">Description</entry> |
|
85 </row> |
|
86 </thead> |
|
87 <tbody> |
|
88 <row> |
|
89 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-3E66E373-E7DB-3F59-B6B1-3577AAD9FBF0"><apiname>AsspRegister::Modify8(TLinAddr aAddr, TUint8 aClearMask, |
|
90 TUint8 aSetMask)</apiname></xref></entry> |
|
91 <entry>Modify the contents of an 8 bit register.</entry> |
|
92 </row> |
|
93 <row> |
|
94 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-9A6FF0D8-1136-3188-8D85-43EF8919FA7C"><apiname>AsspRegister::Modify16(TLinAddr aAddr, TUint16 aClearMask, |
|
95 TUint16 aSetMask)</apiname></xref></entry> |
|
96 <entry>Modify the contents of a 16 bit register.</entry> |
|
97 </row> |
|
98 <row> |
|
99 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-035D2133-037A-36C5-B47C-A6FD00FEE3BA"><apiname>AsspRegister::Modify32(TLinAddr aAddr, TUint32 aClearMask, |
|
100 TUint32 aSetMask)</apiname></xref></entry> |
|
101 <entry>Modify the contents of a 32 bit register.</entry> |
|
102 </row> |
|
103 <row> |
|
104 <entry><xref href="GUID-66BB033A-3386-3913-9A25-EF3867D42C2C.dita#GUID-66BB033A-3386-3913-9A25-EF3867D42C2C/GUID-7127519C-305D-3727-898F-860023CE586A"><apiname>AsspRegister::Modify64(TLinAddr aAddr, TUint64 aClearMask, |
|
105 TUint64 aSetMask)</apiname></xref></entry> |
|
106 <entry>Modify the contents of a 64 bit register</entry> |
|
107 </row> |
|
108 </tbody> |
|
109 </tgroup> |
|
110 </table><p>The header file for the Registry Access platform service |
|
111 can be found <xref href="http://developer.symbian.org/xref/oss/xref/MCL/sf/os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h.dita#http://developer.symbian.org/xref/oss/xref/MCL/sf/os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h/AsspRegister">here</xref>.</p></section> |
|
112 </conbody></concept> |