Skip to content

Commit

Permalink
[ARM] S3C24XX: Add fourth UART definition for S3C2443
Browse files Browse the repository at this point in the history
Add the fourth UART definition for the S3C2443, and at the
same time fixup the problems caused by the enlarging of the
UART array in the previous commits.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
  • Loading branch information
Ben Dooks committed Dec 18, 2008
1 parent bdd4915 commit dbf3599
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 3 deletions.
6 changes: 6 additions & 0 deletions arch/arm/mach-s3c2410/include/mach/irqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-s3c/include/plat/regs-serial.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */

Expand Down
26 changes: 24 additions & 2 deletions arch/arm/plat-s3c24xx/devs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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 */
Expand All @@ -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 */
Expand Down

0 comments on commit dbf3599

Please sign in to comment.