summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>2011-09-06 20:48:48 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:02:10 +0200
commit25892c9f0cf9a7b1b45490f8601c81867a6cdc15 (patch)
treefc37df0f0e00e674b97c486ffeaeb964732899ed
parent74682f3de5cf1f262b598bc0d6bef6059f1d3565 (diff)
mach-ux500:Platform data for kernel 3.0
Platform data for kernel 3.0 migration. ST-Ericsson ID: 352334 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-u5500.c1
-rw-r--r--arch/arm/mach-ux500/cpu-db5500.c1
-rw-r--r--arch/arm/mach-ux500/dma-db8500.c6
3 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c
index 1916cae4d4f..a7351363c25 100644
--- a/arch/arm/mach-ux500/board-u5500.c
+++ b/arch/arm/mach-ux500/board-u5500.c
@@ -507,6 +507,7 @@ static void __init u5500_uart_init(struct device *parent)
db5500_add_uart0(parent, NULL);
db5500_add_uart1(parent, NULL);
db5500_add_uart2(parent, NULL);
+ db5500_add_uart3(parent, NULL);
}
static void __init u5500_init_machine(void)
diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c
index 55c3ad1c72d..078e35123a0 100644
--- a/arch/arm/mach-ux500/cpu-db5500.c
+++ b/arch/arm/mach-ux500/cpu-db5500.c
@@ -37,6 +37,7 @@ static struct map_desc u5500_io_desc[] __initdata = {
__IO_DEV_DESC(U5500_GIC_DIST_BASE, SZ_4K),
__IO_DEV_DESC(U5500_L2CC_BASE, SZ_4K),
__IO_DEV_DESC(U5500_MTU0_BASE, SZ_4K),
+ __IO_DEV_DESC(U5500_MTU1_BASE, SZ_4K),
__IO_DEV_DESC(U5500_RTC_BASE, SZ_4K),
__IO_DEV_DESC(U5500_BACKUPRAM0_BASE, SZ_8K),
__MEM_DEV_DESC(U5500_BOOT_ROM_BASE, SZ_1M),
diff --git a/arch/arm/mach-ux500/dma-db8500.c b/arch/arm/mach-ux500/dma-db8500.c
index fba1f56d329..12bc9a3406c 100644
--- a/arch/arm/mach-ux500/dma-db8500.c
+++ b/arch/arm/mach-ux500/dma-db8500.c
@@ -187,7 +187,7 @@ static const dma_addr_t dma40_tx_map[DB8500_DMA_NR_DEV] = {
[DB8500_DMA_DEV47_SLIM0_CH9_TX_DST_SXA7_RX_TX] = 0,
[DB8500_DMA_DEV48_CAC1_TX] = U8500_CRYP1_BASE + CRYP1_TX_REG_OFFSET,
[DB8500_DMA_DEV49_CAC1_TX_HAC1_TX] = 0,
- [DB8500_DMA_DEV50_HAC1_TX] = 0,
+ [DB8500_DMA_DEV50_HAC1_TX] = U8500_HASH1_BASE + HASH1_TX_REG_OFFSET,
[DB8500_DMA_MEMCPY_TX_0] = 0,
[DB8500_DMA_DEV52_SLIM1_CH4_TX_HSI_TX_CH4] = 0,
[DB8500_DMA_DEV53_SLIM1_CH5_TX_HSI_TX_CH5] = 0,
@@ -228,6 +228,7 @@ static struct stedma40_platform_data dma40_plat_data = {
#ifdef CONFIG_UX500_CONTEXT
#define D40_DREG_GCC 0x000
#define D40_DREG_LCPA 0x020
+#define D40_DREG_LCLA 0x024
static void __iomem *base;
@@ -235,10 +236,12 @@ static int dma_context_notifier_call(struct notifier_block *this,
unsigned long event, void *data)
{
static unsigned long lcpa;
+ static unsigned long lcla;
static unsigned long gcc;
switch (event) {
case CONTEXT_APE_SAVE:
+ lcla = readl(base + D40_DREG_LCLA);
lcpa = readl(base + D40_DREG_LCPA);
gcc = readl(base + D40_DREG_GCC);
break;
@@ -246,6 +249,7 @@ static int dma_context_notifier_call(struct notifier_block *this,
case CONTEXT_APE_RESTORE:
writel(gcc, base + D40_DREG_GCC);
writel(lcpa, base + D40_DREG_LCPA);
+ writel(lcla, base + D40_DREG_LCLA);
break;
}
return NOTIFY_OK;