Module sam4l::dma [] [src]

[]

Implementation of the PDCA DMA peripheral.

Reexports

use core::cmp;
use core::intrinsics;
use core::cell::Cell;
use kernel::common::VolatileCell;
use kernel::common::take_cell::TakeCell;
use pm;

Structs

DMAChannel
DMARegisters

Memory registers for a DMA channel. Section 16.6.1 of the datasheet.

Enums

DMAChannelNum

The DMA channel number. Each channel transfers data between memory and a particular peripheral function (e.g., SPI read or SPI write, but not both simultaneously). There are 16 available channels (Section 16.7).

DMAPeripheral

The peripheral function a channel is assigned to (Section 16.7). *_RX means transfer data from peripheral to memory, *_TX means transfer data from memory to peripheral.

DMAWidth

Constants

DMA_BASE_ADDR

The PDCA's base addresses in memory (Section 7.1 of manual).

DMA_CHANNEL_SIZE

The number of bytes between each memory mapped DMA Channel (Section 16.6.1).

Statics

DMA_CHANNELS
NUM_ENABLED

Shared counter that Keeps track of how many DMA channels are currently active.

Traits

DMAClient