Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[pandora-kernel.git] / arch / arm / mach-msm / devices-msm8960.c
1 /* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
2  *
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License version 2 and
5  * only version 2 as published by the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15  * 02110-1301, USA.
16  */
17
18 #include <linux/kernel.h>
19 #include <linux/platform_device.h>
20
21 #include <linux/dma-mapping.h>
22 #include <mach/irqs-8960.h>
23 #include <mach/board.h>
24
25 #include "devices.h"
26
27 #define MSM_GSBI2_PHYS          0x16100000
28 #define MSM_UART2DM_PHYS        (MSM_GSBI2_PHYS + 0x40000)
29
30 #define MSM_GSBI5_PHYS          0x16400000
31 #define MSM_UART5DM_PHYS        (MSM_GSBI5_PHYS + 0x40000)
32
33 static struct resource resources_uart_gsbi2[] = {
34         {
35                 .start  = GSBI2_UARTDM_IRQ,
36                 .end    = GSBI2_UARTDM_IRQ,
37                 .flags  = IORESOURCE_IRQ,
38         },
39         {
40                 .start  = MSM_UART2DM_PHYS,
41                 .end    = MSM_UART2DM_PHYS + PAGE_SIZE - 1,
42                 .name   = "uart_resource",
43                 .flags  = IORESOURCE_MEM,
44         },
45         {
46                 .start  = MSM_GSBI2_PHYS,
47                 .end    = MSM_GSBI2_PHYS + PAGE_SIZE - 1,
48                 .name   = "gsbi_resource",
49                 .flags  = IORESOURCE_MEM,
50         },
51 };
52
53 struct platform_device msm8960_device_uart_gsbi2 = {
54         .name   = "msm_serial",
55         .id     = 0,
56         .num_resources  = ARRAY_SIZE(resources_uart_gsbi2),
57         .resource       = resources_uart_gsbi2,
58 };
59
60 static struct resource resources_uart_gsbi5[] = {
61         {
62                 .start  = GSBI5_UARTDM_IRQ,
63                 .end    = GSBI5_UARTDM_IRQ,
64                 .flags  = IORESOURCE_IRQ,
65         },
66         {
67                 .start  = MSM_UART5DM_PHYS,
68                 .end    = MSM_UART5DM_PHYS + PAGE_SIZE - 1,
69                 .name   = "uart_resource",
70                 .flags  = IORESOURCE_MEM,
71         },
72         {
73                 .start  = MSM_GSBI5_PHYS,
74                 .end    = MSM_GSBI5_PHYS + PAGE_SIZE - 1,
75                 .name   = "gsbi_resource",
76                 .flags  = IORESOURCE_MEM,
77         },
78 };
79
80 struct platform_device msm8960_device_uart_gsbi5 = {
81         .name   = "msm_serial",
82         .id     = 0,
83         .num_resources  = ARRAY_SIZE(resources_uart_gsbi5),
84         .resource       = resources_uart_gsbi5,
85 };