Merge tag 'for-3.8-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk...
[sfrench/cifs-2.6.git] / arch / arm / mach-exynos / dev-uart.c
1 /*
2  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
3  *              http://www.samsung.com
4  *
5  * Base EXYNOS UART resource and device definitions
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11
12 #include <linux/kernel.h>
13 #include <linux/types.h>
14 #include <linux/interrupt.h>
15 #include <linux/list.h>
16 #include <linux/ioport.h>
17 #include <linux/platform_device.h>
18
19 #include <asm/mach/arch.h>
20 #include <asm/mach/irq.h>
21 #include <mach/hardware.h>
22 #include <mach/map.h>
23
24 #include <plat/devs.h>
25
26 #define EXYNOS_UART_RESOURCE(_series, _nr)      \
27 static struct resource exynos##_series##_uart##_nr##_resource[] = {     \
28         [0] = DEFINE_RES_MEM(EXYNOS##_series##_PA_UART##_nr, EXYNOS##_series##_SZ_UART),        \
29         [1] = DEFINE_RES_IRQ(EXYNOS##_series##_IRQ_UART##_nr),  \
30 };
31
32 EXYNOS_UART_RESOURCE(4, 0)
33 EXYNOS_UART_RESOURCE(4, 1)
34 EXYNOS_UART_RESOURCE(4, 2)
35 EXYNOS_UART_RESOURCE(4, 3)
36
37 struct s3c24xx_uart_resources exynos4_uart_resources[] __initdata = {
38         [0] = {
39                 .resources      = exynos4_uart0_resource,
40                 .nr_resources   = ARRAY_SIZE(exynos4_uart0_resource),
41         },
42         [1] = {
43                 .resources      = exynos4_uart1_resource,
44                 .nr_resources   = ARRAY_SIZE(exynos4_uart1_resource),
45         },
46         [2] = {
47                 .resources      = exynos4_uart2_resource,
48                 .nr_resources   = ARRAY_SIZE(exynos4_uart2_resource),
49         },
50         [3] = {
51                 .resources      = exynos4_uart3_resource,
52                 .nr_resources   = ARRAY_SIZE(exynos4_uart3_resource),
53         },
54 };