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 33 static struct resource s3c64xx_uart0_resource[] = { 34 [0] = { 35 .start = S3C_PA_UART0, 36 .end = S3C_PA_UART0 + 0x100, 37 .flags = IORESOURCE_MEM, 38 }, 39 [1] = { 40 .start = IRQ_UART0, 41 .end = IRQ_UART0, 42 .flags = IORESOURCE_IRQ, 43 }, 44 }; 45 46 static struct resource s3c64xx_uart1_resource[] = { 47 [0] = { 48 .start = S3C_PA_UART1, 49 .end = S3C_PA_UART1 + 0x100, 50 .flags = IORESOURCE_MEM, 51 }, 52 [1] = { 53 .start = IRQ_UART1, 54 .end = IRQ_UART1, 55 .flags = IORESOURCE_IRQ, 56 }, 57 }; 58 59 static struct resource s3c6xx_uart2_resource[] = { 60 [0] = { 61 .start = S3C_PA_UART2, 62 .end = S3C_PA_UART2 + 0x100, 63 .flags = IORESOURCE_MEM, 64 }, 65 [1] = { 66 .start = IRQ_UART2, 67 .end = IRQ_UART2, 68 .flags = IORESOURCE_IRQ, 69 }, 70 }; 71 72 static struct resource s3c64xx_uart3_resource[] = { 73 [0] = { 74 .start = S3C_PA_UART3, 75 .end = S3C_PA_UART3 + 0x100, 76 .flags = IORESOURCE_MEM, 77 }, 78 [1] = { 79 .start = IRQ_UART3, 80 .end = IRQ_UART3, 81 .flags = IORESOURCE_IRQ, 82 }, 83 }; 84 85 86 struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = { 87 [0] = { 88 .resources = s3c64xx_uart0_resource, 89 .nr_resources = ARRAY_SIZE(s3c64xx_uart0_resource), 90 }, 91 [1] = { 92 .resources = s3c64xx_uart1_resource, 93 .nr_resources = ARRAY_SIZE(s3c64xx_uart1_resource), 94 }, 95 [2] = { 96 .resources = s3c6xx_uart2_resource, 97 .nr_resources = ARRAY_SIZE(s3c6xx_uart2_resource), 98 }, 99 [3] = { 100 .resources = s3c64xx_uart3_resource, 101 .nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource), 102 }, 103 }; 104