Adaptation/GUID-6873E764-4132-46C8-8444-6301CF4D2033.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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-6873E764-4132-46C8-8444-6301CF4D2033" xml:lang="en"><title>DMA Hardware Interface</title><shortdesc>Describes the interface between the DMA hardware and the
DMA platform service.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-2E3C9F69-CAE2-4F36-8291-F426B36F911B"><title>Introduction</title><p>This document describes the functionality that the DMA hardware
has to provide in order to be compliant with the DMA platform service.</p></section>
<section id="GUID-83EFC137-9C18-477A-A042-ACBF70CFCA3C"><title>Interface
limitations</title><p>None</p></section>
<section id="GUID-0C191930-C521-4BA4-8B41-AA3C730B2606"><title>Adaptation
dependencies</title><p>Dependent on the Application Specific Standard
Product (ASSP) chip that is being used.</p></section>
<section id="GUID-8F209D96-3E1E-4C9C-BB60-B38082126242"><title>The
interface</title><p>In order to use the DMA platform service, the
following information is required:</p><ul>
<li><p>The location of the data source.</p></li>
<li><p>The location of the data destination.</p></li>
<li><p>The channel to be used.</p></li>
<li><p>The amount of data to be transferred.</p></li>
<li><p>How much data is to be transferred at once (packet size).</p></li>
<li><p>Synchronization setup</p></li>
<li><p>Interrupt settings</p></li>
</ul><p>How the above settings relate to the operation of the DMA
is shown in the diagram below:</p><fig id="GUID-3B24E56D-A82D-411C-B3AF-BB5556B4BD1A">
<title>DMA settings</title>
<image href="GUID-610E0C09-F014-4DA2-8411-D7A0CDAF5BBB_d0e90471_href.png" placement="inline"/>
</fig><p>The settings listed above will now be discussed in more detail.</p><p><b>Location of the data source</b></p><p>This specifies where
data is to be transferred from (the source). This can be one of the
following:</p><ul>
<li><p>Memory</p></li>
<li><p>Peripheral</p></li>
</ul><p>If the source location is a peripheral, then its port will
have to be specified along with the location of the data source.</p><p><b>Location of the data destination</b></p><p>This specifies the
final location of the data to be transferred (the destination). As
with the location of the data source, this can be one of the following:</p><ul>
<li><p>Memory</p></li>
<li><p>Peripheral</p></li>
</ul><p>If the destination is to be a peripheral, then the port configuration
will have to be specified along with the location of the destination.</p><p><b>Channel</b></p><p>The DMA platform service transfers data over
channels which are configured independently. The priority order of
the each channel is specified in the DMA platform service API.</p><p><b>Amount of data to be transferred</b></p><p>This setting specifies
the amount of data that is to be transferred from the source to the
destination.</p><p><b>Data packet size</b></p><p>Data is transferred
in packets of a specified size. The acceptable values are:</p><ul>
<li><p>4 bytes</p></li>
<li><p>8 bytes</p></li>
<li><p>16 bytes</p></li>
<li><p>32 bytes</p></li>
<li><p>64 bytes</p></li>
<li><p>128 bytes</p></li>
</ul><p><b>Synchronization settings</b></p><p>These specify how the
transfer between the source and destination is to be controlled. This
is used when either the source or the destination can only take part
in a data transfer depending on external events. The synchronization
can be set up to be one of the following:</p><ul>
<li><p>No synchronized transfer</p></li>
<li><p>Synchronize the transfer after a preset number of bytes</p></li>
</ul><p><b>Interrupt settings</b></p><p>These are used to specify
how the DMA and/or specific channels should react to interrupt events.</p></section>
</conbody></concept>