This will configure the platform data for the PL011 and PL022
PrimeCells found in the Ux500 to use DMA with the generic
PrimeCell DMA engine.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
---
arch/arm/mach-ux500/board-mop500.c | 12 ---
arch/arm/mach-ux500/devices-db8500.c | 92 ++++++++++++++++++++++-
arch/arm/mach-ux500/devices.c | 134 +++++++++++++++++++++++++++++++++-
3 files changed, 220 insertions(+), 18 deletions(-)
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index bb8d7b7..526b2e2 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -60,16 +60,6 @@ static struct spi_board_info u8500_spi_devices[] = {
},
};
-static struct pl022_ssp_controller ssp0_platform_data = {
- .bus_id = 0,
- /* pl022 not yet supports dma */
- .enable_dma = 0,
- /* on this platform, gpio 31,142,144,214 &
- * 224 are connected as chip selects
- */
- .num_chipselect = 5,
-};
-
#define U8500_I2C_CONTROLLER(id, _slsu, _tft, _rft, clk, _sm) \
static struct nmk_i2c_controller u8500_i2c##id##_data = { \
/* \
@@ -123,8 +113,6 @@ static void __init u8500_init_machine(void)
ux500_i2c2_device.dev.platform_data = &u8500_i2c2_data;
ux500_i2c3_device.dev.platform_data = &u8500_i2c3_data;
- u8500_ssp0_device.dev.platform_data = &ssp0_platform_data;
-
/* Register the active AMBA devices on this board */
for (i = 0; i < ARRAY_SIZE(amba_devs); i++)
amba_device_register(amba_devs[i], &iomem_resource);
diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c
index 8229034..a5c2aee 100644
--- a/arch/arm/mach-ux500/devices-db8500.c
+++ b/arch/arm/mach-ux500/devices-db8500.c
@@ -11,6 +11,7 @@
#include <linux/io.h>
#include <linux/gpio.h>
#include <linux/amba/bus.h>
+#include <linux/amba/pl022.h>
#include <plat/ste_dma40.h>
@@ -55,10 +56,55 @@ struct platform_device u8500_gpio_devs[] = {
GPIO_DEVICE(8),
};
+#ifdef ...