diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2009-04-22 11:40:30 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-06-17 06:06:25 -0400 |
commit | ea76f0b3759283ec3cc06c86e266bf0fa6a981d2 (patch) | |
tree | 36719ab69e7d94cc59c909526022219376807313 /arch | |
parent | a43da03ca4719276b9601730627d20b2a71fb6ba (diff) |
DMA: TXx9 Soc DMA Controller driver
This patch adds support for the integrated DMAC of the TXx9 family.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/include/asm/txx9/dmac.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/mips/include/asm/txx9/dmac.h b/arch/mips/include/asm/txx9/dmac.h new file mode 100644 index 000000000000..a87d1c3e4f5b --- /dev/null +++ b/arch/mips/include/asm/txx9/dmac.h | |||
@@ -0,0 +1,48 @@ | |||
1 | /* | ||
2 | * TXx9 SoC DMA Controller | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | #ifndef __ASM_TXX9_DMAC_H | ||
10 | #define __ASM_TXX9_DMAC_H | ||
11 | |||
12 | #include <linux/dmaengine.h> | ||
13 | |||
14 | #define TXX9_DMA_MAX_NR_CHANNELS 4 | ||
15 | |||
16 | /** | ||
17 | * struct txx9dmac_platform_data - Controller configuration parameters | ||
18 | * @memcpy_chan: Channel used for DMA_MEMCPY | ||
19 | * @have_64bit_regs: DMAC have 64 bit registers | ||
20 | */ | ||
21 | struct txx9dmac_platform_data { | ||
22 | int memcpy_chan; | ||
23 | bool have_64bit_regs; | ||
24 | }; | ||
25 | |||
26 | /** | ||
27 | * struct txx9dmac_chan_platform_data - Channel configuration parameters | ||
28 | * @dmac_dev: A platform device for DMAC | ||
29 | */ | ||
30 | struct txx9dmac_chan_platform_data { | ||
31 | struct platform_device *dmac_dev; | ||
32 | }; | ||
33 | |||
34 | /** | ||
35 | * struct txx9dmac_slave - Controller-specific information about a slave | ||
36 | * @tx_reg: physical address of data register used for | ||
37 | * memory-to-peripheral transfers | ||
38 | * @rx_reg: physical address of data register used for | ||
39 | * peripheral-to-memory transfers | ||
40 | * @reg_width: peripheral register width | ||
41 | */ | ||
42 | struct txx9dmac_slave { | ||
43 | u64 tx_reg; | ||
44 | u64 rx_reg; | ||
45 | unsigned int reg_width; | ||
46 | }; | ||
47 | |||
48 | #endif /* __ASM_TXX9_DMAC_H */ | ||