diff options
author | Dan Williams <dan.j.williams@intel.com> | 2007-01-02 15:52:31 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2007-07-13 11:06:19 -0400 |
commit | 2492c845189a961a92d8537a44d233e8e1e45c6d (patch) | |
tree | 2c13ce489dc271d0391c468beb75e081b899f35c /arch/arm/mach-iop32x | |
parent | 39a8d7d13c113e4a98bfdfc45c7233188e4d715f (diff) |
iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver
Adds the platform device definitions and the architecture specific support
routines (i.e. register initialization and descriptor formats) for the
iop-adma driver.
Changelog:
* add support for > 1k zero sum buffer sizes
* added dma/aau platform devices to iq80321 and iq80332 setup
* fixed the calculation in iop_desc_is_aligned
* support xor buffer sizes larger than 16MB
* fix places where software descriptors are assumed to be contiguous, only
hardware descriptors are contiguous for up to a PAGE_SIZE buffer size
* convert to async_tx
* add interrupt support
* add platform devices for 80219 boards
* do not call platform register macros in driver code
* remove switch() statements for compatible register offsets/layouts
* change over to bitmap based capabilities
* remove unnecessary ARM assembly statement
* checkpatch.pl fixes
* gpl v2 only correction
* phys move to dma_async_tx_descriptor
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'arch/arm/mach-iop32x')
-rw-r--r-- | arch/arm/mach-iop32x/glantank.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/iq31244.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/iq80321.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/n2100.c | 2 |
4 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-iop32x/glantank.c b/arch/arm/mach-iop32x/glantank.c index 5776fd884115..2b086ab2668c 100644 --- a/arch/arm/mach-iop32x/glantank.c +++ b/arch/arm/mach-iop32x/glantank.c | |||
@@ -180,6 +180,8 @@ static void __init glantank_init_machine(void) | |||
180 | platform_device_register(&iop3xx_i2c1_device); | 180 | platform_device_register(&iop3xx_i2c1_device); |
181 | platform_device_register(&glantank_flash_device); | 181 | platform_device_register(&glantank_flash_device); |
182 | platform_device_register(&glantank_serial_device); | 182 | platform_device_register(&glantank_serial_device); |
183 | platform_device_register(&iop3xx_dma_0_channel); | ||
184 | platform_device_register(&iop3xx_dma_1_channel); | ||
183 | 185 | ||
184 | pm_power_off = glantank_power_off; | 186 | pm_power_off = glantank_power_off; |
185 | } | 187 | } |
diff --git a/arch/arm/mach-iop32x/iq31244.c b/arch/arm/mach-iop32x/iq31244.c index d4eefbea1fe6..98cfa1cd6bdb 100644 --- a/arch/arm/mach-iop32x/iq31244.c +++ b/arch/arm/mach-iop32x/iq31244.c | |||
@@ -298,9 +298,14 @@ static void __init iq31244_init_machine(void) | |||
298 | platform_device_register(&iop3xx_i2c1_device); | 298 | platform_device_register(&iop3xx_i2c1_device); |
299 | platform_device_register(&iq31244_flash_device); | 299 | platform_device_register(&iq31244_flash_device); |
300 | platform_device_register(&iq31244_serial_device); | 300 | platform_device_register(&iq31244_serial_device); |
301 | platform_device_register(&iop3xx_dma_0_channel); | ||
302 | platform_device_register(&iop3xx_dma_1_channel); | ||
301 | 303 | ||
302 | if (is_ep80219()) | 304 | if (is_ep80219()) |
303 | pm_power_off = ep80219_power_off; | 305 | pm_power_off = ep80219_power_off; |
306 | |||
307 | if (!is_80219()) | ||
308 | platform_device_register(&iop3xx_aau_channel); | ||
304 | } | 309 | } |
305 | 310 | ||
306 | static int __init force_ep80219_setup(char *str) | 311 | static int __init force_ep80219_setup(char *str) |
diff --git a/arch/arm/mach-iop32x/iq80321.c b/arch/arm/mach-iop32x/iq80321.c index 8d9f49164a84..18ad29f213b2 100644 --- a/arch/arm/mach-iop32x/iq80321.c +++ b/arch/arm/mach-iop32x/iq80321.c | |||
@@ -181,6 +181,9 @@ static void __init iq80321_init_machine(void) | |||
181 | platform_device_register(&iop3xx_i2c1_device); | 181 | platform_device_register(&iop3xx_i2c1_device); |
182 | platform_device_register(&iq80321_flash_device); | 182 | platform_device_register(&iq80321_flash_device); |
183 | platform_device_register(&iq80321_serial_device); | 183 | platform_device_register(&iq80321_serial_device); |
184 | platform_device_register(&iop3xx_dma_0_channel); | ||
185 | platform_device_register(&iop3xx_dma_1_channel); | ||
186 | platform_device_register(&iop3xx_aau_channel); | ||
184 | } | 187 | } |
185 | 188 | ||
186 | MACHINE_START(IQ80321, "Intel IQ80321") | 189 | MACHINE_START(IQ80321, "Intel IQ80321") |
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c index d55005d64781..390a97d39e5a 100644 --- a/arch/arm/mach-iop32x/n2100.c +++ b/arch/arm/mach-iop32x/n2100.c | |||
@@ -245,6 +245,8 @@ static void __init n2100_init_machine(void) | |||
245 | platform_device_register(&iop3xx_i2c0_device); | 245 | platform_device_register(&iop3xx_i2c0_device); |
246 | platform_device_register(&n2100_flash_device); | 246 | platform_device_register(&n2100_flash_device); |
247 | platform_device_register(&n2100_serial_device); | 247 | platform_device_register(&n2100_serial_device); |
248 | platform_device_register(&iop3xx_dma_0_channel); | ||
249 | platform_device_register(&iop3xx_dma_1_channel); | ||
248 | 250 | ||
249 | pm_power_off = n2100_power_off; | 251 | pm_power_off = n2100_power_off; |
250 | 252 | ||