aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/devices.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-06-10 11:34:59 -0400
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-06-24 09:40:41 -0400
commite9ec2a17eea971f1af91a37a1c685afad0f5a8b4 (patch)
treeec3ce4a2fda3ee46762ed2ea5980c46436c5b3c4 /arch/arm/mach-imx/devices.c
parent9a763bfbe45d8d4afe953993907188322a49a4ec (diff)
ARM: imx: fold serial.c into devices.c
... and use cpp magic to reduce repetition. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/devices.c')
-rw-r--r--arch/arm/mach-imx/devices.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/devices.c b/arch/arm/mach-imx/devices.c
index e708bfd9aabc..08ae763d9db0 100644
--- a/arch/arm/mach-imx/devices.c
+++ b/arch/arm/mach-imx/devices.c
@@ -32,11 +32,13 @@
32#include <linux/platform_device.h> 32#include <linux/platform_device.h>
33#include <linux/gpio.h> 33#include <linux/gpio.h>
34#include <linux/dma-mapping.h> 34#include <linux/dma-mapping.h>
35#include <linux/serial.h>
35 36
36#include <mach/irqs.h> 37#include <mach/irqs.h>
37#include <mach/hardware.h> 38#include <mach/hardware.h>
38#include <mach/common.h> 39#include <mach/common.h>
39#include <mach/mmc.h> 40#include <mach/mmc.h>
41#include <mach/imx-uart.h>
40 42
41#include "devices.h" 43#include "devices.h"
42 44
@@ -424,6 +426,36 @@ struct platform_device mxc_usbh2 = {
424DEFINE_IMX_SSI_DEVICE(0, 1, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1); 426DEFINE_IMX_SSI_DEVICE(0, 1, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1);
425DEFINE_IMX_SSI_DEVICE(1, 2, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1); 427DEFINE_IMX_SSI_DEVICE(1, 2, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1);
426 428
429#define DEFINE_IMX_UART_DEVICE(n, baseaddr, irq) \
430 static struct resource imx2x_uart_resources ## n[] = { \
431 { \
432 .start = baseaddr, \
433 .end = baseaddr + 0xb5, \
434 .flags = IORESOURCE_MEM, \
435 }, { \
436 .start = irq, \
437 .end = irq, \
438 .flags = IORESOURCE_IRQ, \
439 }, \
440 }; \
441 \
442 struct platform_device mxc_uart_device ## n = { \
443 .name = "imx-uart", \
444 .id = n, \
445 .num_resources = ARRAY_SIZE(imx2x_uart_resources ## n), \
446 .resource = imx2x_uart_resources ## n, \
447 }
448
449DEFINE_IMX_UART_DEVICE(0, MX2x_UART1_BASE_ADDR, MX2x_INT_UART1);
450DEFINE_IMX_UART_DEVICE(1, MX2x_UART2_BASE_ADDR, MX2x_INT_UART2);
451DEFINE_IMX_UART_DEVICE(2, MX2x_UART3_BASE_ADDR, MX2x_INT_UART3);
452DEFINE_IMX_UART_DEVICE(3, MX2x_UART4_BASE_ADDR, MX2x_INT_UART4);
453
454#ifdef CONFIG_MACH_MX27
455DEFINE_IMX_UART_DEVICE(4, MX27_UART5_BASE_ADDR, MX27_INT_UART5);
456DEFINE_IMX_UART_DEVICE(5, MX27_UART6_BASE_ADDR, MX27_INT_UART6);
457#endif
458
427/* GPIO port description */ 459/* GPIO port description */
428#define DEFINE_MXC_GPIO_PORT_IRQ(SOC, n, _irq) \ 460#define DEFINE_MXC_GPIO_PORT_IRQ(SOC, n, _irq) \
429 { \ 461 { \