Adaptation/GUID-2607CCFA-3D24-4716-A447-74304F861C44.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-2607CCFA-3D24-4716-A447-74304F861C44" xml:lang="en"><title>DSDIORegisterInterface
       
    13 Class Tutorial</title><shortdesc>Describes the DSDIORegisterInterface API class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <section id="GUID-22A35782-49B5-4646-9125-042578A010C1"><title>Description</title><p>This
       
    15 class provides the main client API between the SDIO implementation and the
       
    16 rest of the system.</p><p>For portability reasons, it is recommended that
       
    17 this class is allocated on behalf of the client by the appropriate function
       
    18 class after the client has been registered with the SDIO function.</p><p><note> Unless
       
    19 stated otherwise, all the register offsets are defined to be relative to offsets
       
    20 within the SDIO function.</note></p><table id="GUID-F453D4C2-EECF-4BE4-9776-922C009BB246">
       
    21 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    22 <tbody>
       
    23 <row>
       
    24 <entry><p>Header file</p></entry>
       
    25 <entry><p><filepath>regifc.h</filepath></p></entry>
       
    26 </row>
       
    27 <row>
       
    28 <entry><p>Source code file</p></entry>
       
    29 <entry><p><filepath>regifc.cpp</filepath></p></entry>
       
    30 </row>
       
    31 <row>
       
    32 <entry><p>Required libraries</p></entry>
       
    33 <entry><p>EPBUSSDIO</p></entry>
       
    34 </row>
       
    35 <row>
       
    36 <entry><p>Class declaration</p></entry>
       
    37 <entry><p><codeph>class DSDIORegisterInterface: public DSDIOSession</codeph></p></entry>
       
    38 </row>
       
    39 </tbody>
       
    40 </tgroup>
       
    41 </table> </section>
       
    42 <section id="GUID-76BC7A1A-A54A-47D3-ADAC-9D075A7A667F"><title>Read8()</title><p>The
       
    43 function declaration for the <xref href="GUID-53280C38-1734-332D-A432-0A56AB16CD04.dita"><apiname>Read8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Read8(TUint32 aReg, TUint8* aReadDataP);</codeblock><p><b>Description</b></p><p>This method reads a single 8 bit value from the
       
    44 specified register.</p><p><b>Parameters</b></p><table id="GUID-DC782836-BB2D-4A01-9A94-CEDB655FB269">
       
    45 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    46 <tbody>
       
    47 <row>
       
    48 <entry><p><codeph>TUint32 aReq</codeph></p></entry>
       
    49 <entry><p>The Source register address.</p></entry>
       
    50 </row>
       
    51 <row>
       
    52 <entry><p><codeph>TUint8* aReadDataP</codeph></p></entry>
       
    53 <entry><p>The location of the byte to read into.</p></entry>
       
    54 </row>
       
    55 </tbody>
       
    56 </tgroup>
       
    57 </table><p><b>Return value</b></p><table id="GUID-F5165642-EAE8-4E66-AD96-5185D337F716">
       
    58 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    59 <tbody>
       
    60 <row>
       
    61 <entry><p><codeph>TInt</codeph></p></entry>
       
    62 <entry><p>The result of the operation. KErrNone if the operation was successful,
       
    63 otherwise a system wide error code.</p></entry>
       
    64 </row>
       
    65 </tbody>
       
    66 </tgroup>
       
    67 </table></section>
       
    68 <section id="GUID-3DAF62F4-4A57-4BB1-B32A-6F623A1A17B6"><title>Write8()</title><p>The
       
    69 function declaration for the <xref href="GUID-BF2E636A-FA49-39F6-9A52-A09E4879F3FC.dita"><apiname>Write8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Write8(TUint32 aReg, TUint8  aWriteVal);</codeblock><p><b>Description</b></p><p>This method writes a single 8 bit value to the
       
    70 register specified.</p><p><b>Parameters</b></p><table id="GUID-620A412A-44B3-4B73-B2D1-3DD588F93BED">
       
    71 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    72 <tbody>
       
    73 <row>
       
    74 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
    75 <entry><p>The destination register address.</p></entry>
       
    76 </row>
       
    77 <row>
       
    78 <entry><p><codeph>TUint8 aWriteVal</codeph></p></entry>
       
    79 <entry><p>The 8 bit value to be written.</p></entry>
       
    80 </row>
       
    81 </tbody>
       
    82 </tgroup>
       
    83 </table><p><b>Return value</b></p><table id="GUID-954C9104-569D-4E48-A7E0-9AFF93CD267A">
       
    84 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    85 <tbody>
       
    86 <row>
       
    87 <entry><p><codeph>TInt</codeph></p></entry>
       
    88 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
    89 was successful, otherwise a system wide error code.</p></entry>
       
    90 </row>
       
    91 </tbody>
       
    92 </tgroup>
       
    93 </table></section>
       
    94 <section id="GUID-17DAC528-073D-4981-B908-529156DD5329"><title>Modify8()</title><p>The
       
    95 function declaration for the <xref href="GUID-312948B9-5338-3030-9130-821E9BDDCE62.dita"><apiname>Modify8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Modify8(TUint32 aReg, TUint8 aSet, TUint8 aClr);
       
    96 </codeblock><p><b>Description</b></p><p>This method performs a bitwise read-modify-write
       
    97 operation on the specified register.</p><p><b>Parameters</b></p><table id="GUID-9DC3C571-7270-4306-B3B2-2CF35AC0B643">
       
    98 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    99 <tbody>
       
   100 <row>
       
   101 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   102 <entry><p>The destination register address.</p></entry>
       
   103 </row>
       
   104 <row>
       
   105 <entry><p><codeph>TUint8 aSet</codeph></p></entry>
       
   106 <entry><p>A bitmask of the values to be set.</p></entry>
       
   107 </row>
       
   108 <row>
       
   109 <entry><p><codeph>TUint8 aClr</codeph></p></entry>
       
   110 <entry><p>A bitmask of the values to be cleared.</p></entry>
       
   111 </row>
       
   112 </tbody>
       
   113 </tgroup>
       
   114 </table><p><b>Return value</b></p><table id="GUID-A7BB8C27-B5DD-4FB2-9225-78877E5F7255">
       
   115 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   116 <tbody>
       
   117 <row>
       
   118 <entry><p><codeph>TInt</codeph></p></entry>
       
   119 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   120 was successful, otherwise a system wide error code.</p></entry>
       
   121 </row>
       
   122 </tbody>
       
   123 </tgroup>
       
   124 </table></section>
       
   125 <section id="GUID-44105A9A-C2E6-4A8C-B6F7-04A154A11EE1"><title>Modify8() with
       
   126 read-after-write</title><p>The function declaration for the <xref href="GUID-312948B9-5338-3030-9130-821E9BDDCE62.dita"><apiname>Modify8()</apiname></xref> with
       
   127 read-after-write method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Modify8(TUint32 aReg, TUint8 aSet, TUint8 aClr, TUint8* aReadDataP);</codeblock><p><b>Description</b></p><p>This method performs a bitwise read-modify-write operation on the
       
   128 specified register.</p><p><b>Parameters</b></p><table id="GUID-9F7DB1E5-C679-4D25-AB28-313CE2EF5802">
       
   129 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   130 <tbody>
       
   131 <row>
       
   132 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   133 <entry><p>The destination register address.</p></entry>
       
   134 </row>
       
   135 <row>
       
   136 <entry><p><codeph>TUint8 aSet</codeph></p></entry>
       
   137 <entry><p>A bitmask of the values to be set.</p></entry>
       
   138 </row>
       
   139 <row>
       
   140 <entry><p><codeph>TUint8 aClr</codeph></p></entry>
       
   141 <entry><p>A bitmask of the values to be cleared.</p></entry>
       
   142 </row>
       
   143 <row>
       
   144 <entry><p><codeph>TUint8* aReadDataP</codeph></p></entry>
       
   145 <entry><p>The address of the byte to read into. The result of the operation
       
   146 is stored in this buffer.</p></entry>
       
   147 </row>
       
   148 </tbody>
       
   149 </tgroup>
       
   150 </table><p><b>Return value</b></p><table id="GUID-78F38934-81F8-4E93-8400-09AED7138883">
       
   151 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   152 <tbody>
       
   153 <row>
       
   154 <entry><p><codeph>TInt</codeph></p></entry>
       
   155 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   156 was successful, otherwise a system wide error code.</p></entry>
       
   157 </row>
       
   158 </tbody>
       
   159 </tgroup>
       
   160 </table></section>
       
   161 <section id="GUID-C079E54E-24B3-488B-BAB2-7625565871C1"><title>ReadMultiple8()</title><p>The
       
   162 function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen);
       
   163 </codeblock><p><b>Description</b></p><p>This method reads the specified number
       
   164 of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-1FC8E85C-821E-4123-BF5C-7F163D4C31C0">
       
   165 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   166 <tbody>
       
   167 <row>
       
   168 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   169 <entry><p>The source register address.</p></entry>
       
   170 </row>
       
   171 <row>
       
   172 <entry><p><codeph>TUint8* aDataP</codeph></p></entry>
       
   173 <entry><p>The start address of the destination buffer.</p></entry>
       
   174 </row>
       
   175 <row>
       
   176 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   177 <entry><p>The number of bytes to be read.</p></entry>
       
   178 </row>
       
   179 </tbody>
       
   180 </tgroup>
       
   181 </table><p><b>Return value</b></p><table id="GUID-0A75AC37-3D8A-4F75-BE0D-FBC2BADD84FE">
       
   182 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   183 <tbody>
       
   184 <row>
       
   185 <entry><p><codeph>TInt</codeph></p></entry>
       
   186 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   187 was successful, otherwise a system wide error code.</p></entry>
       
   188 </row>
       
   189 </tbody>
       
   190 </tgroup>
       
   191 </table></section>
       
   192 <section id="GUID-06A354DC-92E9-426E-BCEA-8B141731A4E8"><title>ReadMultiple8()
       
   193 with auto-increment</title><p>The function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> 
       
   194 method with auto-increment is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen, TBool aAutoInc);
       
   195 </codeblock><p><b>Description</b></p><p>This method reads the specified number
       
   196 of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-6DAFE385-A10D-4FE1-BD9F-73DF32C57317">
       
   197 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   198 <tbody>
       
   199 <row>
       
   200 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   201 <entry><p>The source register address.</p></entry>
       
   202 </row>
       
   203 <row>
       
   204 <entry><p><codeph>TUint8* aDataP</codeph></p></entry>
       
   205 <entry><p>The start address of the destination buffer.</p></entry>
       
   206 </row>
       
   207 <row>
       
   208 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   209 <entry><p>The number of bytes that are to be read.</p></entry>
       
   210 </row>
       
   211 <row>
       
   212 <entry><p><codeph>TBool aAutoInc</codeph></p></entry>
       
   213 <entry><p>Enable or disable the auto-increment functionality.</p></entry>
       
   214 </row>
       
   215 </tbody>
       
   216 </tgroup>
       
   217 </table><p><b>Return value</b></p><table id="GUID-A2B48766-0BD9-468F-8840-7AF6EF74E886">
       
   218 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   219 <tbody>
       
   220 <row>
       
   221 <entry><p><codeph>TInt</codeph></p></entry>
       
   222 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   223 was successful, otherwise a system wide error code.</p></entry>
       
   224 </row>
       
   225 </tbody>
       
   226 </tgroup>
       
   227 </table></section>
       
   228 <section id="GUID-2F0B67C8-AB5F-4224-B1DB-328FBB17DC7B"><title>ReadMultiple8()
       
   229 using shared chunks</title><p>The function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref>method
       
   230 using shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen);
       
   231 </codeblock><p><b>Description</b></p><p>This method reads the specified number
       
   232 of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-C8BB983E-3625-4F75-A7C3-8392D3D83115">
       
   233 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   234 <tbody>
       
   235 <row>
       
   236 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   237 <entry><p>The source register address.</p></entry>
       
   238 </row>
       
   239 <row>
       
   240 <entry><p><codeph>DChunk* aChunk</codeph></p></entry>
       
   241 <entry><p>The chunk that hosts the destination buffer.</p></entry>
       
   242 </row>
       
   243 <row>
       
   244 <entry><p><codeph>TUint32 aOffset</codeph></p></entry>
       
   245 <entry><p>The offset from the start of the chunk to the start of the destination
       
   246 buffer.</p></entry>
       
   247 </row>
       
   248 <row>
       
   249 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   250 <entry><p>The number of bytes to be read.</p></entry>
       
   251 </row>
       
   252 </tbody>
       
   253 </tgroup>
       
   254 </table><p><b>Return value</b></p><table id="GUID-33386AAB-BDAE-4469-9C57-7B5C1B111B93">
       
   255 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   256 <tbody>
       
   257 <row>
       
   258 <entry><p>TInt</p></entry>
       
   259 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   260 was successful, otherwise a system wide error code.</p></entry>
       
   261 </row>
       
   262 </tbody>
       
   263 </tgroup>
       
   264 </table></section>
       
   265 <section id="GUID-84D13B57-DB1B-47DB-A1F5-9AF23BE62D35"><title>ReadMultiple8()
       
   266 with auto-increment using shared chunks</title><p>The function declaration
       
   267 for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> method with auto-increment using
       
   268 shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen, TBool aAutoInc);</codeblock><p><b>Description</b></p><p>This method reads the specified number of bytes
       
   269 starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-BF998853-26C6-45C7-86A2-C8497D0CB2AB">
       
   270 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   271 <tbody>
       
   272 <row>
       
   273 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   274 <entry><p>The source register address.</p></entry>
       
   275 </row>
       
   276 <row>
       
   277 <entry><p><codeph>DChunk* aChunk</codeph></p></entry>
       
   278 <entry><p>The chunk that hosts the destination buffer.</p></entry>
       
   279 </row>
       
   280 <row>
       
   281 <entry><p><codeph>TUint32 aOffset</codeph></p></entry>
       
   282 <entry><p>The offset from the start of the chunk to the start of the destination
       
   283 buffer.</p></entry>
       
   284 </row>
       
   285 <row>
       
   286 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   287 <entry><p>The number of bytes to be read.</p></entry>
       
   288 </row>
       
   289 <row>
       
   290 <entry><p><codeph>TBool aAutoInc</codeph></p></entry>
       
   291 <entry><p>Enable or disable the auto-increment functionality.</p></entry>
       
   292 </row>
       
   293 </tbody>
       
   294 </tgroup>
       
   295 </table><p><b>Return value</b></p><table id="GUID-99B8EF1A-3E0B-4F1A-897F-1161AF7DC4F6">
       
   296 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   297 <tbody>
       
   298 <row>
       
   299 <entry><p><codeph>TInt</codeph></p></entry>
       
   300 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   301 was successful, otherwise a system wide error code.</p></entry>
       
   302 </row>
       
   303 </tbody>
       
   304 </tgroup>
       
   305 </table></section>
       
   306 <section id="GUID-05558100-F758-4167-B8DD-55DD9D804A96"><title>WriteMultiple8()</title><p>The
       
   307 function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen);
       
   308 </codeblock><p><b>Description</b></p><p>This method writes the specified length
       
   309 of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-601B2EDB-99F9-4166-A3A4-66FDFA4875B7">
       
   310 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   311 <tbody>
       
   312 <row>
       
   313 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   314 <entry><p>The destination register address.</p></entry>
       
   315 </row>
       
   316 <row>
       
   317 <entry><p><codeph>TUint8* aDataP</codeph></p></entry>
       
   318 <entry><p>The start address of the source buffer.</p></entry>
       
   319 </row>
       
   320 <row>
       
   321 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   322 <entry><p>The number of bytes to be written.</p></entry>
       
   323 </row>
       
   324 </tbody>
       
   325 </tgroup>
       
   326 </table><p><b>Return value</b></p><table id="GUID-73063CCB-18C7-4989-AE97-64F3C851FE38">
       
   327 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   328 <tbody>
       
   329 <row>
       
   330 <entry><p><codeph>TInt</codeph></p></entry>
       
   331 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   332 was successful, otherwise a system wide error code.</p></entry>
       
   333 </row>
       
   334 </tbody>
       
   335 </tgroup>
       
   336 </table></section>
       
   337 <section id="GUID-38B1302E-4410-4230-9AE9-E6ABD84F4EF1"><title>WriteMultiple8()
       
   338 with auto-increment</title><p>The function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method
       
   339 with auto-increment is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen, TBool aAutoInc);
       
   340 </codeblock><p><b>Description</b></p><p>This method writes the specified length
       
   341 of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-FFA05F8A-2459-4581-8B0F-0E5636C53BEE">
       
   342 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   343 <tbody>
       
   344 <row>
       
   345 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   346 <entry><p>The destination register address.</p></entry>
       
   347 </row>
       
   348 <row>
       
   349 <entry><p><codeph>TUint8* aDataP</codeph></p></entry>
       
   350 <entry><p>The start address of the source buffer.</p></entry>
       
   351 </row>
       
   352 <row>
       
   353 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   354 <entry><p>The number of bytes to be written.</p></entry>
       
   355 </row>
       
   356 <row>
       
   357 <entry><p><codeph>TBool aAutoInc</codeph></p></entry>
       
   358 <entry><p>Enable or disable the auto-increment functionality.</p></entry>
       
   359 </row>
       
   360 </tbody>
       
   361 </tgroup>
       
   362 </table><p><b>Return value</b></p><table id="GUID-BCF4DAA6-7BF8-41F1-9406-40B15363A545">
       
   363 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   364 <tbody>
       
   365 <row>
       
   366 <entry><p><codeph>TInt</codeph></p></entry>
       
   367 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   368 was successful, otherwise a system wide error code.</p></entry>
       
   369 </row>
       
   370 </tbody>
       
   371 </tgroup>
       
   372 </table></section>
       
   373 <section id="GUID-8A745F5C-9EF4-413E-9E55-AF74FB95B507"><title>WriteMultiple8()
       
   374 using shared chunks</title><p>The function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method
       
   375 using shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen);
       
   376 </codeblock><p><b>Description</b></p><p>This method writes the specified length
       
   377 of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-F545CC9C-B098-402C-B940-9994E6CA2FC3-GENID-1-2-1-10-1-5-1-9-1-1-7-1-4-1-5-1-3-12-7">
       
   378 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   379 <tbody>
       
   380 <row>
       
   381 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   382 <entry><p>The destination register address.</p></entry>
       
   383 </row>
       
   384 <row>
       
   385 <entry><p><codeph>DChunk* aChunk</codeph></p></entry>
       
   386 <entry><p>The chunk that hosts the source buffer.</p></entry>
       
   387 </row>
       
   388 <row>
       
   389 <entry><p><codeph>TUint32 aOffset</codeph></p></entry>
       
   390 <entry><p>The offset from the start of the chunk and the start address of
       
   391 the source buffer.</p></entry>
       
   392 </row>
       
   393 <row>
       
   394 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   395 <entry><p>The number of bytes to be written.</p></entry>
       
   396 </row>
       
   397 </tbody>
       
   398 </tgroup>
       
   399 </table><p><b>Return value</b></p><table id="GUID-47EC4DFC-65B0-4AD8-806C-2AEF74F58217">
       
   400 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   401 <tbody>
       
   402 <row>
       
   403 <entry><p><codeph>TInt</codeph></p></entry>
       
   404 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   405 was successful, otherwise a system wide error code.</p></entry>
       
   406 </row>
       
   407 </tbody>
       
   408 </tgroup>
       
   409 </table></section>
       
   410 <section id="GUID-2481C7F9-C9ED-4EE1-B7FA-C8274CDE78E6"><title>WriteMultiple8(
       
   411 ) with auto-increment using shared chunks</title><p>The function declaration
       
   412 for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method with autoincrement using
       
   413 shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen, TBool aAutoInc);</codeblock><p><b>Description</b></p><p>This method writes the specified length of bytes
       
   414 starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-F545CC9C-B098-402C-B940-9994E6CA2FC3-GENID-1-2-1-10-1-5-1-9-1-1-7-1-4-1-5-1-3-13-7">
       
   415 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   416 <tbody>
       
   417 <row>
       
   418 <entry><p><codeph>TUint32 aReg</codeph></p></entry>
       
   419 <entry><p>The destination register address.</p></entry>
       
   420 </row>
       
   421 <row>
       
   422 <entry><p><codeph>DChunk* aChunk</codeph></p></entry>
       
   423 <entry><p>The chunk that hosts the source buffer.</p></entry>
       
   424 </row>
       
   425 <row>
       
   426 <entry><p><codeph>TUint32 aOffset</codeph></p></entry>
       
   427 <entry><p>The offset from the start of the chunk and the start address of
       
   428 the source buffer.</p></entry>
       
   429 </row>
       
   430 <row>
       
   431 <entry><p><codeph>TUint32 aLen</codeph></p></entry>
       
   432 <entry><p>The number of bytes to be written.</p></entry>
       
   433 </row>
       
   434 <row>
       
   435 <entry><p><codeph>TBool aAutoInc</codeph></p></entry>
       
   436 <entry><p>Enable or disable the auto-increment functionality.</p></entry>
       
   437 </row>
       
   438 </tbody>
       
   439 </tgroup>
       
   440 </table><p><b>Return value</b></p><table id="GUID-281E7616-B0AC-49BE-9D62-3A69F1D8FBF8">
       
   441 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   442 <tbody>
       
   443 <row>
       
   444 <entry><p><codeph>TInt</codeph></p></entry>
       
   445 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   446 was successful, otherwise a system wide error code.</p></entry>
       
   447 </row>
       
   448 </tbody>
       
   449 </tgroup>
       
   450 </table></section>
       
   451 <section id="GUID-43FDE59E-0B10-4F29-8604-E097B183E233"><title>SetAsync()</title><p>The
       
   452 function declaration for the <xref href="GUID-AB2D8414-3C4D-3660-A426-6826DC11F37A.dita"><apiname>SetAsync()</apiname></xref>  method is:</p><codeblock xml:space="preserve">IMPORT_C TBool SetAsync(TMMCCallBack&amp; aCallback);
       
   453 </codeblock><p><b>Description</b></p><p>This function allows the user to disable
       
   454 the synchronous nature of the DSDIORegInterface class, by using the specified
       
   455 callback function to indicate the completion of an operation.</p><p><b>Parameters</b></p><table id="GUID-875A5023-8E1B-4823-94AB-69C0732AC2AB">
       
   456 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   457 <tbody>
       
   458 <row>
       
   459 <entry><p><codeph>TMMCCallback&amp; aCallback</codeph></p></entry>
       
   460 <entry><p>Reference to the callback function.</p></entry>
       
   461 </row>
       
   462 </tbody>
       
   463 </tgroup>
       
   464 </table><p><b>Return value</b></p><table id="GUID-D745AAFF-6647-4243-95D6-5E8CA44F2397">
       
   465 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   466 <tbody>
       
   467 <row>
       
   468 <entry><p><codeph>TBool</codeph></p></entry>
       
   469 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   470 was successful, otherwise a system wide error code.</p></entry>
       
   471 </row>
       
   472 </tbody>
       
   473 </tgroup>
       
   474 </table></section>
       
   475 <section id="GUID-B47D146E-458A-4340-8C9B-F73BEDBE171F"><title>SetSync()</title><p>The
       
   476 function declaration for the <xref href="GUID-6B24ACA7-87A3-3477-97F9-1F13BA53AE0D.dita"><apiname>SetSync()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TBool SetSync();</codeblock><p><b>Description</b></p><p>Allows the synchronous nature of the DSDIORegInterface class to be enabled.</p><p>When
       
   477 the synchronous nature of the DSDIORegInterface class is enabled, then completion
       
   478 of an operation is specified by waiting on a semaphore.</p><p><b>Parameters</b></p><p>None</p><p><b>Return
       
   479 value</b></p><table id="GUID-B8033632-5CF2-4C1D-B778-D75F209F3153">
       
   480 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
   481 <tbody>
       
   482 <row>
       
   483 <entry><p><codeph>TBool</codeph></p></entry>
       
   484 <entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
       
   485 was successful, otherwise a system wide error code.</p></entry>
       
   486 </row>
       
   487 </tbody>
       
   488 </tgroup>
       
   489 </table></section>
       
   490 </conbody></concept>