1 /* 2 * Copyright (c) 2009,2012 Samsung Electronics Co., Ltd. 3 * http://www.samsung.com/ 4 * 5 * Base S5P UART resource and device definitions 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12 #include <linux/kernel.h> 13 #include <linux/types.h> 14 #include <linux/interrupt.h> 15 #include <linux/list.h> 16 #include <linux/ioport.h> 17 #include <linux/platform_device.h> 18 19 #include <asm/mach/arch.h> 20 #include <asm/mach/irq.h> 21 #include <mach/hardware.h> 22 #include <mach/map.h> 23 24 #include <plat/devs.h> 25 26 /* Serial port registrations */ 27 28 static struct resource s5p_uart0_resource[] = { 29 [0] = DEFINE_RES_MEM(S5P_PA_UART0, S5P_SZ_UART), 30 [1] = DEFINE_RES_IRQ(IRQ_UART0), 31 }; 32 33 static struct resource s5p_uart1_resource[] = { 34 [0] = DEFINE_RES_MEM(S5P_PA_UART1, S5P_SZ_UART), 35 [1] = DEFINE_RES_IRQ(IRQ_UART1), 36 }; 37 38 static struct resource s5p_uart2_resource[] = { 39 [0] = DEFINE_RES_MEM(S5P_PA_UART2, S5P_SZ_UART), 40 [1] = DEFINE_RES_IRQ(IRQ_UART2), 41 }; 42 43 static struct resource s5p_uart3_resource[] = { 44 #if CONFIG_SERIAL_SAMSUNG_UARTS > 3 45 [0] = DEFINE_RES_MEM(S5P_PA_UART3, S5P_SZ_UART), 46 [1] = DEFINE_RES_IRQ(IRQ_UART3), 47 #endif 48 }; 49 50 static struct resource s5p_uart4_resource[] = { 51 #if CONFIG_SERIAL_SAMSUNG_UARTS > 4 52 [0] = DEFINE_RES_MEM(S5P_PA_UART4, S5P_SZ_UART), 53 [1] = DEFINE_RES_IRQ(IRQ_UART4), 54 #endif 55 }; 56 57 static struct resource s5p_uart5_resource[] = { 58 #if CONFIG_SERIAL_SAMSUNG_UARTS > 5 59 [0] = DEFINE_RES_MEM(S5P_PA_UART5, S5P_SZ_UART), 60 [1] = DEFINE_RES_IRQ(IRQ_UART5), 61 #endif 62 }; 63 64 struct s3c24xx_uart_resources s5p_uart_resources[] __initdata = { 65 [0] = { 66 .resources = s5p_uart0_resource, 67 .nr_resources = ARRAY_SIZE(s5p_uart0_resource), 68 }, 69 [1] = { 70 .resources = s5p_uart1_resource, 71 .nr_resources = ARRAY_SIZE(s5p_uart1_resource), 72 }, 73 [2] = { 74 .resources = s5p_uart2_resource, 75 .nr_resources = ARRAY_SIZE(s5p_uart2_resource), 76 }, 77 [3] = { 78 .resources = s5p_uart3_resource, 79 .nr_resources = ARRAY_SIZE(s5p_uart3_resource), 80 }, 81 [4] = { 82 .resources = s5p_uart4_resource, 83 .nr_resources = ARRAY_SIZE(s5p_uart4_resource), 84 }, 85 [5] = { 86 .resources = s5p_uart5_resource, 87 .nr_resources = ARRAY_SIZE(s5p_uart5_resource), 88 }, 89 }; 90