Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/fsl', 'asoc/fix/tegra...
[linux-drm-fsl-dcu.git] / arch / arm / mach-ux500 / board-mop500.c
1 /*
2  * Copyright (C) 2008-2012 ST-Ericsson
3  *
4  * Author: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2, as
8  * published by the Free Software Foundation.
9  *
10  */
11 #include <linux/kernel.h>
12 #include <linux/init.h>
13 #include <linux/interrupt.h>
14 #include <linux/platform_device.h>
15 #include <linux/clk.h>
16 #include <linux/io.h>
17 #include <linux/platform_data/db8500_thermal.h>
18 #include <linux/amba/bus.h>
19 #include <linux/amba/pl022.h>
20 #include <linux/mfd/abx500/ab8500.h>
21 #include <linux/regulator/ab8500.h>
22 #include <linux/regulator/fixed.h>
23 #include <linux/regulator/driver.h>
24 #include <linux/mfd/tps6105x.h>
25 #include <linux/platform_data/leds-lp55xx.h>
26 #include <linux/input.h>
27 #include <linux/delay.h>
28 #include <linux/leds.h>
29 #include <linux/pinctrl/consumer.h>
30 #include <linux/platform_data/pinctrl-nomadik.h>
31 #include <linux/platform_data/dma-ste-dma40.h>
32
33 #include <asm/mach-types.h>
34
35 #include "setup.h"
36 #include "devices.h"
37 #include "irqs.h"
38
39 #include "ste-dma40-db8500.h"
40 #include "db8500-regs.h"
41 #include "devices-db8500.h"
42 #include "board-mop500.h"
43 #include "board-mop500-regulators.h"
44
45 struct ab8500_platform_data ab8500_platdata = {
46         .irq_base       = MOP500_AB8500_IRQ_BASE,
47         .regulator      = &ab8500_regulator_plat_data,
48 };
49
50 #ifdef CONFIG_STE_DMA40
51 static struct stedma40_chan_cfg ssp0_dma_cfg_rx = {
52         .mode = STEDMA40_MODE_LOGICAL,
53         .dir = DMA_DEV_TO_MEM,
54         .dev_type = DB8500_DMA_DEV8_SSP0,
55 };
56
57 static struct stedma40_chan_cfg ssp0_dma_cfg_tx = {
58         .mode = STEDMA40_MODE_LOGICAL,
59         .dir = DMA_MEM_TO_DEV,
60         .dev_type = DB8500_DMA_DEV8_SSP0,
61 };
62 #endif
63
64 struct pl022_ssp_controller ssp0_plat = {
65         .bus_id = 0,
66 #ifdef CONFIG_STE_DMA40
67         .enable_dma = 1,
68         .dma_filter = stedma40_filter,
69         .dma_rx_param = &ssp0_dma_cfg_rx,
70         .dma_tx_param = &ssp0_dma_cfg_tx,
71 #else
72         .enable_dma = 0,
73 #endif
74         /* on this platform, gpio 31,142,144,214 &
75          * 224 are connected as chip selects
76          */
77         .num_chipselect = 5,
78 };