Welcome to AVR32 Linux... Users Groups

Atmel DMACA Driver

There are currently two different drivers for the DMACA controller, neither of which is in mainline. The "old" dw_dmac driver supports peripheral-to-memory and memory-to-peripheral transfer and currently works with the AtmelMmcDriver and AtmelAc97cDriver, but it uses a non-standard and not particularly well-designed API. The "new" dw_dmac driver uses the standard DMA Engine API, but currently only supports memory-to-memory transfers and can therefore not be used with the AtmelMmcDriver and AtmelAc97cDriver.

The plan is to extend the DMA Engine API to make it suitable for peripheral-to-memory and memory-to-peripheral transfer. This requires the following new features:

  • Support for setting up hardware handshaking interfaces
  • Ability to force a particular transfer width. Since the DMA Engine API is only defined to operate on memory, the width of each load/store transaction on the bus does not matter. When dealing with peripherals, it very much does.
  • Support for other controller-specific bells and whistles.

Patches

Old driver

The old DMACA driver is part of the "atmel" patchsets found at the LinuxPatches page, but if you want it as a standalone patch, you can get it here.

Against 2.6.22-rc5:

New driver

The new DMACA driver can be found in the following git repository:

This also includes a version of the atmel-mci driver ported to the new DMA engine framework.

The following patches are against 2.6.22-rc5, but they do not support peripheral (slave) DMA, so they won't work with the MMC driver.

  File Size Date By Actions
else 0001-AVR32-Wire-up-dw_dmac0-instead-of-dmaca0.patch
Wire up the new DMA controller instead of the old one
3.0 K 2007-06-21 - 09:12 HaavardSkinnemoen props, move
else 0002-First-pass-at-a-DMA-Engine-framework-driver-for-th.patch
New dw_dmac driver based on the DMA Engine framework
25.1 K 2007-06-21 - 09:13 HaavardSkinnemoen props, move
else dma-test-client.patch
Test client for the DMA Engine framework
7.0 K 2007-06-21 - 09:14 HaavardSkinnemoen props, move
else old-dma-controller.patch
The old dw_dmac driver usable with the AtmelMmcDriver
28.2 K 2007-06-21 - 09:02 HaavardSkinnemoen props, move
r3 - 2008-02-04 - 21:17:39 - HaavardSkinnemoen
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel®, AVR® and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries.
All other trademarks are the property of their respective owners.
Syndicate this site RSSATOM