aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-s3c2410/include/mach/irqs.h6
-rw-r--r--arch/arm/plat-s3c/include/plat/regs-serial.h2
-rw-r--r--arch/arm/plat-s3c24xx/devs.c26
3 files changed, 31 insertions, 3 deletions
diff --git a/arch/arm/mach-s3c2410/include/mach/irqs.h b/arch/arm/mach-s3c2410/include/mach/irqs.h
index fa8764b05692..9565903d490b 100644
--- a/arch/arm/mach-s3c2410/include/mach/irqs.h
+++ b/arch/arm/mach-s3c2410/include/mach/irqs.h
@@ -162,6 +162,12 @@
162#define NR_IRQS (IRQ_S3C2440_AC97+1) 162#define NR_IRQS (IRQ_S3C2440_AC97+1)
163#endif 163#endif
164 164
165/* compatibility define. */
166#define IRQ_UART3 IRQ_S3C2443_UART3
167#define IRQ_S3CUART_RX3 IRQ_S3C2443_RX3
168#define IRQ_S3CUART_TX3 IRQ_S3C2443_TX3
169#define IRQ_S3CUART_ERR3 IRQ_S3C2443_ERR3
170
165/* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */ 171/* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */
166#define FIQ_START IRQ_EINT0 172#define FIQ_START IRQ_EINT0
167 173
diff --git a/arch/arm/plat-s3c/include/plat/regs-serial.h b/arch/arm/plat-s3c/include/plat/regs-serial.h
index 3ca28585cf80..487d7d2a7e1d 100644
--- a/arch/arm/plat-s3c/include/plat/regs-serial.h
+++ b/arch/arm/plat-s3c/include/plat/regs-serial.h
@@ -238,7 +238,7 @@ struct s3c2410_uartcfg {
238 * or platform_add_device() before the console_initcall() 238 * or platform_add_device() before the console_initcall()
239*/ 239*/
240 240
241extern struct platform_device *s3c24xx_uart_devs[3]; 241extern struct platform_device *s3c24xx_uart_devs[4];
242 242
243#endif /* __ASSEMBLY__ */ 243#endif /* __ASSEMBLY__ */
244 244
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
index 14d4f0bc1253..16ac01d9b8ab 100644
--- a/arch/arm/plat-s3c24xx/devs.c
+++ b/arch/arm/plat-s3c24xx/devs.c
@@ -76,6 +76,19 @@ static struct resource s3c2410_uart2_resource[] = {
76 } 76 }
77}; 77};
78 78
79static struct resource s3c2410_uart3_resource[] = {
80 [0] = {
81 .start = S3C2443_PA_UART3,
82 .end = S3C2443_PA_UART3 + 0x3fff,
83 .flags = IORESOURCE_MEM,
84 },
85 [1] = {
86 .start = IRQ_S3CUART_RX3,
87 .end = IRQ_S3CUART_ERR3,
88 .flags = IORESOURCE_IRQ,
89 },
90};
91
79struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = { 92struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = {
80 [0] = { 93 [0] = {
81 .resources = s3c2410_uart0_resource, 94 .resources = s3c2410_uart0_resource,
@@ -89,6 +102,10 @@ struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = {
89 .resources = s3c2410_uart2_resource, 102 .resources = s3c2410_uart2_resource,
90 .nr_resources = ARRAY_SIZE(s3c2410_uart2_resource), 103 .nr_resources = ARRAY_SIZE(s3c2410_uart2_resource),
91 }, 104 },
105 [3] = {
106 .resources = s3c2410_uart3_resource,
107 .nr_resources = ARRAY_SIZE(s3c2410_uart3_resource),
108 },
92}; 109};
93 110
94/* yart devices */ 111/* yart devices */
@@ -105,13 +122,18 @@ static struct platform_device s3c24xx_uart_device2 = {
105 .id = 2, 122 .id = 2,
106}; 123};
107 124
108struct platform_device *s3c24xx_uart_src[3] = { 125static struct platform_device s3c24xx_uart_device3 = {
126 .id = 3,
127};
128
129struct platform_device *s3c24xx_uart_src[4] = {
109 &s3c24xx_uart_device0, 130 &s3c24xx_uart_device0,
110 &s3c24xx_uart_device1, 131 &s3c24xx_uart_device1,
111 &s3c24xx_uart_device2, 132 &s3c24xx_uart_device2,
133 &s3c24xx_uart_device3,
112}; 134};
113 135
114struct platform_device *s3c24xx_uart_devs[3] = { 136struct platform_device *s3c24xx_uart_devs[4] = {
115}; 137};
116 138
117/* USB Host Controller */ 139/* USB Host Controller */