Loading...
1/* linux/arch/arm/plat-s3c64xx/dev-uart.c
2 *
3 * Copyright 2008 Openmoko, Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
7 *
8 * Base S3C64XX UART resource and device definitions
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14*/
15
16#include <linux/kernel.h>
17#include <linux/types.h>
18#include <linux/interrupt.h>
19#include <linux/list.h>
20#include <linux/platform_device.h>
21
22#include <asm/mach/arch.h>
23#include <asm/mach/irq.h>
24#include <mach/hardware.h>
25#include <mach/map.h>
26
27#include <plat/devs.h>
28
29/* Serial port registrations */
30
31/* 64xx uarts are closer together */
32
33static struct resource s3c64xx_uart0_resource[] = {
34 [0] = DEFINE_RES_MEM(S3C_PA_UART0, SZ_256),
35 [1] = DEFINE_RES_IRQ(IRQ_UART0),
36};
37
38static struct resource s3c64xx_uart1_resource[] = {
39 [0] = DEFINE_RES_MEM(S3C_PA_UART1, SZ_256),
40 [1] = DEFINE_RES_IRQ(IRQ_UART1),
41};
42
43static struct resource s3c6xx_uart2_resource[] = {
44 [0] = DEFINE_RES_MEM(S3C_PA_UART2, SZ_256),
45 [1] = DEFINE_RES_IRQ(IRQ_UART2),
46};
47
48static struct resource s3c64xx_uart3_resource[] = {
49 [0] = DEFINE_RES_MEM(S3C_PA_UART3, SZ_256),
50 [1] = DEFINE_RES_IRQ(IRQ_UART3),
51};
52
53
54struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = {
55 [0] = {
56 .resources = s3c64xx_uart0_resource,
57 .nr_resources = ARRAY_SIZE(s3c64xx_uart0_resource),
58 },
59 [1] = {
60 .resources = s3c64xx_uart1_resource,
61 .nr_resources = ARRAY_SIZE(s3c64xx_uart1_resource),
62 },
63 [2] = {
64 .resources = s3c6xx_uart2_resource,
65 .nr_resources = ARRAY_SIZE(s3c6xx_uart2_resource),
66 },
67 [3] = {
68 .resources = s3c64xx_uart3_resource,
69 .nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource),
70 },
71};
1/* linux/arch/arm/plat-s3c64xx/dev-uart.c
2 *
3 * Copyright 2008 Openmoko, Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
7 *
8 * Base S3C64XX UART resource and device definitions
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14*/
15
16#include <linux/kernel.h>
17#include <linux/types.h>
18#include <linux/interrupt.h>
19#include <linux/list.h>
20#include <linux/platform_device.h>
21
22#include <asm/mach/arch.h>
23#include <asm/mach/irq.h>
24#include <mach/hardware.h>
25#include <mach/map.h>
26#include <mach/irqs.h>
27
28#include <plat/devs.h>
29
30/* Serial port registrations */
31
32/* 64xx uarts are closer together */
33
34static struct resource s3c64xx_uart0_resource[] = {
35 [0] = DEFINE_RES_MEM(S3C_PA_UART0, SZ_256),
36 [1] = DEFINE_RES_IRQ(IRQ_UART0),
37};
38
39static struct resource s3c64xx_uart1_resource[] = {
40 [0] = DEFINE_RES_MEM(S3C_PA_UART1, SZ_256),
41 [1] = DEFINE_RES_IRQ(IRQ_UART1),
42};
43
44static struct resource s3c6xx_uart2_resource[] = {
45 [0] = DEFINE_RES_MEM(S3C_PA_UART2, SZ_256),
46 [1] = DEFINE_RES_IRQ(IRQ_UART2),
47};
48
49static struct resource s3c64xx_uart3_resource[] = {
50 [0] = DEFINE_RES_MEM(S3C_PA_UART3, SZ_256),
51 [1] = DEFINE_RES_IRQ(IRQ_UART3),
52};
53
54
55struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = {
56 [0] = {
57 .resources = s3c64xx_uart0_resource,
58 .nr_resources = ARRAY_SIZE(s3c64xx_uart0_resource),
59 },
60 [1] = {
61 .resources = s3c64xx_uart1_resource,
62 .nr_resources = ARRAY_SIZE(s3c64xx_uart1_resource),
63 },
64 [2] = {
65 .resources = s3c6xx_uart2_resource,
66 .nr_resources = ARRAY_SIZE(s3c6xx_uart2_resource),
67 },
68 [3] = {
69 .resources = s3c64xx_uart3_resource,
70 .nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource),
71 },
72};