xref: /linux/arch/arm/mach-s3c/dev-uart-s3c64xx.c (revision dec1c62e91ba268ab2a6e339d4d7a59287d5eba1)
1 // SPDX-License-Identifier: GPL-2.0
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 #include <linux/kernel.h>
11 #include <linux/types.h>
12 #include <linux/interrupt.h>
13 #include <linux/list.h>
14 #include <linux/platform_device.h>
15 
16 #include <asm/mach/arch.h>
17 #include <asm/mach/irq.h>
18 #include "map.h"
19 #include "irqs.h"
20 
21 #include "devs.h"
22 
23 /* Serial port registrations */
24 
25 /* 64xx uarts are closer together */
26 
27 static struct resource s3c64xx_uart0_resource[] = {
28 	[0] = DEFINE_RES_MEM(S3C_PA_UART0, SZ_256),
29 	[1] = DEFINE_RES_IRQ(IRQ_UART0),
30 };
31 
32 static struct resource s3c64xx_uart1_resource[] = {
33 	[0] = DEFINE_RES_MEM(S3C_PA_UART1, SZ_256),
34 	[1] = DEFINE_RES_IRQ(IRQ_UART1),
35 };
36 
37 static struct resource s3c6xx_uart2_resource[] = {
38 	[0] = DEFINE_RES_MEM(S3C_PA_UART2, SZ_256),
39 	[1] = DEFINE_RES_IRQ(IRQ_UART2),
40 };
41 
42 static struct resource s3c64xx_uart3_resource[] = {
43 	[0] = DEFINE_RES_MEM(S3C_PA_UART3, SZ_256),
44 	[1] = DEFINE_RES_IRQ(IRQ_UART3),
45 };
46 
47 
48 struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = {
49 	[0] = {
50 		.resources	= s3c64xx_uart0_resource,
51 		.nr_resources	= ARRAY_SIZE(s3c64xx_uart0_resource),
52 	},
53 	[1] = {
54 		.resources	= s3c64xx_uart1_resource,
55 		.nr_resources	= ARRAY_SIZE(s3c64xx_uart1_resource),
56 	},
57 	[2] = {
58 		.resources	= s3c6xx_uart2_resource,
59 		.nr_resources	= ARRAY_SIZE(s3c6xx_uart2_resource),
60 	},
61 	[3] = {
62 		.resources	= s3c64xx_uart3_resource,
63 		.nr_resources	= ARRAY_SIZE(s3c64xx_uart3_resource),
64 	},
65 };
66