From bb66081af3a12f59765e61a42ce9766bdf91a5f4 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Tue, 4 Nov 2008 15:29:09 +0000 Subject: [PATCH] --- yaml --- r: 123906 b: refs/heads/master c: dbf35992e17334f9ae8b2ea35e795d0c264e57ef h: refs/heads/master v: v3 --- [refs] | 2 +- .../arch/arm/mach-s3c2410/include/mach/irqs.h | 6 +++++ .../arm/plat-s3c/include/plat/regs-serial.h | 2 +- trunk/arch/arm/plat-s3c24xx/devs.c | 26 +++++++++++++++++-- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ef2ee366bd8a..6d0ad1739bff 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bdd4915a9f05ef6b41b51910b199f2668f20d2ef +refs/heads/master: dbf35992e17334f9ae8b2ea35e795d0c264e57ef diff --git a/trunk/arch/arm/mach-s3c2410/include/mach/irqs.h b/trunk/arch/arm/mach-s3c2410/include/mach/irqs.h index fa8764b05692..9565903d490b 100644 --- a/trunk/arch/arm/mach-s3c2410/include/mach/irqs.h +++ b/trunk/arch/arm/mach-s3c2410/include/mach/irqs.h @@ -162,6 +162,12 @@ #define NR_IRQS (IRQ_S3C2440_AC97+1) #endif +/* compatibility define. */ +#define IRQ_UART3 IRQ_S3C2443_UART3 +#define IRQ_S3CUART_RX3 IRQ_S3C2443_RX3 +#define IRQ_S3CUART_TX3 IRQ_S3C2443_TX3 +#define IRQ_S3CUART_ERR3 IRQ_S3C2443_ERR3 + /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */ #define FIQ_START IRQ_EINT0 diff --git a/trunk/arch/arm/plat-s3c/include/plat/regs-serial.h b/trunk/arch/arm/plat-s3c/include/plat/regs-serial.h index 3ca28585cf80..487d7d2a7e1d 100644 --- a/trunk/arch/arm/plat-s3c/include/plat/regs-serial.h +++ b/trunk/arch/arm/plat-s3c/include/plat/regs-serial.h @@ -238,7 +238,7 @@ struct s3c2410_uartcfg { * or platform_add_device() before the console_initcall() */ -extern struct platform_device *s3c24xx_uart_devs[3]; +extern struct platform_device *s3c24xx_uart_devs[4]; #endif /* __ASSEMBLY__ */ diff --git a/trunk/arch/arm/plat-s3c24xx/devs.c b/trunk/arch/arm/plat-s3c24xx/devs.c index 14d4f0bc1253..16ac01d9b8ab 100644 --- a/trunk/arch/arm/plat-s3c24xx/devs.c +++ b/trunk/arch/arm/plat-s3c24xx/devs.c @@ -76,6 +76,19 @@ static struct resource s3c2410_uart2_resource[] = { } }; +static struct resource s3c2410_uart3_resource[] = { + [0] = { + .start = S3C2443_PA_UART3, + .end = S3C2443_PA_UART3 + 0x3fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = IRQ_S3CUART_RX3, + .end = IRQ_S3CUART_ERR3, + .flags = IORESOURCE_IRQ, + }, +}; + struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = { [0] = { .resources = s3c2410_uart0_resource, @@ -89,6 +102,10 @@ struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = { .resources = s3c2410_uart2_resource, .nr_resources = ARRAY_SIZE(s3c2410_uart2_resource), }, + [3] = { + .resources = s3c2410_uart3_resource, + .nr_resources = ARRAY_SIZE(s3c2410_uart3_resource), + }, }; /* yart devices */ @@ -105,13 +122,18 @@ static struct platform_device s3c24xx_uart_device2 = { .id = 2, }; -struct platform_device *s3c24xx_uart_src[3] = { +static struct platform_device s3c24xx_uart_device3 = { + .id = 3, +}; + +struct platform_device *s3c24xx_uart_src[4] = { &s3c24xx_uart_device0, &s3c24xx_uart_device1, &s3c24xx_uart_device2, + &s3c24xx_uart_device3, }; -struct platform_device *s3c24xx_uart_devs[3] = { +struct platform_device *s3c24xx_uart_devs[4] = { }; /* USB Host Controller */