diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-01-11 09:56:40 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-01-25 02:39:58 -0500 |
commit | cf3567aaad0304410e465a55313c8f0d25ef306d (patch) | |
tree | 03a13b3b00adb99515dca16bae67170308e79156 /arch/arm/mach-mxs/devices | |
parent | 47d37d6f94ccf32d302492f969209930b2411f9e (diff) |
ARM MXS: Add auart platform support for i.MX28
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mxs/devices')
-rw-r--r-- | arch/arm/mach-mxs/devices/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-mxs/devices/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-mxs/devices/platform-auart.c | 54 |
3 files changed, 58 insertions, 0 deletions
diff --git a/arch/arm/mach-mxs/devices/Kconfig b/arch/arm/mach-mxs/devices/Kconfig index cf7dc1ae575b..3001b754948a 100644 --- a/arch/arm/mach-mxs/devices/Kconfig +++ b/arch/arm/mach-mxs/devices/Kconfig | |||
@@ -2,5 +2,8 @@ config MXS_HAVE_AMBA_DUART | |||
2 | bool | 2 | bool |
3 | select ARM_AMBA | 3 | select ARM_AMBA |
4 | 4 | ||
5 | config MXS_HAVE_PLATFORM_AUART | ||
6 | bool | ||
7 | |||
5 | config MXS_HAVE_PLATFORM_FEC | 8 | config MXS_HAVE_PLATFORM_FEC |
6 | bool | 9 | bool |
diff --git a/arch/arm/mach-mxs/devices/Makefile b/arch/arm/mach-mxs/devices/Makefile index d0a09f6934b8..c814d054bad7 100644 --- a/arch/arm/mach-mxs/devices/Makefile +++ b/arch/arm/mach-mxs/devices/Makefile | |||
@@ -1,2 +1,3 @@ | |||
1 | obj-$(CONFIG_MXS_HAVE_AMBA_DUART) += amba-duart.o | 1 | obj-$(CONFIG_MXS_HAVE_AMBA_DUART) += amba-duart.o |
2 | obj-$(CONFIG_MXS_HAVE_PLATFORM_AUART) += platform-auart.o | ||
2 | obj-$(CONFIG_MXS_HAVE_PLATFORM_FEC) += platform-fec.o | 3 | obj-$(CONFIG_MXS_HAVE_PLATFORM_FEC) += platform-fec.o |
diff --git a/arch/arm/mach-mxs/devices/platform-auart.c b/arch/arm/mach-mxs/devices/platform-auart.c new file mode 100644 index 000000000000..f0dbf8a21456 --- /dev/null +++ b/arch/arm/mach-mxs/devices/platform-auart.c | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Pengutronix | ||
3 | * Sascha Hauer <s.hauer@pengutronix.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it under | ||
6 | * the terms of the GNU General Public License version 2 as published by the | ||
7 | * Free Software Foundation. | ||
8 | */ | ||
9 | #include <asm/sizes.h> | ||
10 | #include <mach/mx28.h> | ||
11 | #include <mach/devices-common.h> | ||
12 | |||
13 | #define mxs_auart_data_entry_single(soc, _id) \ | ||
14 | { \ | ||
15 | .id = _id, \ | ||
16 | .iobase = soc ## _AUART ## _id ## _BASE_ADDR, \ | ||
17 | .irq = soc ## _INT_AUART ## _id, \ | ||
18 | } | ||
19 | |||
20 | #define mxs_auart_data_entry(soc, _id) \ | ||
21 | [_id] = mxs_auart_data_entry_single(soc, _id) | ||
22 | |||
23 | #ifdef CONFIG_SOC_IMX28 | ||
24 | const struct mxs_auart_data mx28_auart_data[] __initconst = { | ||
25 | #define mx28_auart_data_entry(_id) \ | ||
26 | mxs_auart_data_entry(MX28, _id) | ||
27 | mx28_auart_data_entry(0), | ||
28 | mx28_auart_data_entry(1), | ||
29 | mx28_auart_data_entry(2), | ||
30 | mx28_auart_data_entry(3), | ||
31 | mx28_auart_data_entry(4), | ||
32 | }; | ||
33 | #endif | ||
34 | |||
35 | struct platform_device *__init mxs_add_auart( | ||
36 | const struct mxs_auart_data *data) | ||
37 | { | ||
38 | struct resource res[] = { | ||
39 | { | ||
40 | .start = data->iobase, | ||
41 | .end = data->iobase + SZ_8K - 1, | ||
42 | .flags = IORESOURCE_MEM, | ||
43 | }, { | ||
44 | .start = data->irq, | ||
45 | .end = data->irq, | ||
46 | .flags = IORESOURCE_IRQ, | ||
47 | }, | ||
48 | }; | ||
49 | |||
50 | return mxs_add_platform_device_dmamask("mxs-auart", data->id, | ||
51 | res, ARRAY_SIZE(res), NULL, 0, | ||
52 | DMA_BIT_MASK(32)); | ||
53 | } | ||
54 | |||