aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mxs/clock-mx23.c1
-rw-r--r--arch/arm/mach-mxs/devices-mx23.h5
-rw-r--r--arch/arm/mach-mxs/devices/platform-auart.c22
3 files changed, 22 insertions, 6 deletions
diff --git a/arch/arm/mach-mxs/clock-mx23.c b/arch/arm/mach-mxs/clock-mx23.c
index ca72a05ed9c1..7c5dace92b91 100644
--- a/arch/arm/mach-mxs/clock-mx23.c
+++ b/arch/arm/mach-mxs/clock-mx23.c
@@ -442,6 +442,7 @@ static struct clk_lookup lookups[] = {
442 _REGISTER_CLOCK("duart", "apb_pclk", xbus_clk) 442 _REGISTER_CLOCK("duart", "apb_pclk", xbus_clk)
443 /* for amba-pl011 driver */ 443 /* for amba-pl011 driver */
444 _REGISTER_CLOCK("duart", NULL, uart_clk) 444 _REGISTER_CLOCK("duart", NULL, uart_clk)
445 _REGISTER_CLOCK("mxs-auart.0", NULL, uart_clk)
445 _REGISTER_CLOCK("rtc", NULL, rtc_clk) 446 _REGISTER_CLOCK("rtc", NULL, rtc_clk)
446 _REGISTER_CLOCK(NULL, "hclk", hbus_clk) 447 _REGISTER_CLOCK(NULL, "hclk", hbus_clk)
447 _REGISTER_CLOCK(NULL, "usb", usb_clk) 448 _REGISTER_CLOCK(NULL, "usb", usb_clk)
diff --git a/arch/arm/mach-mxs/devices-mx23.h b/arch/arm/mach-mxs/devices-mx23.h
index 1256788561d0..c4d4773d3e85 100644
--- a/arch/arm/mach-mxs/devices-mx23.h
+++ b/arch/arm/mach-mxs/devices-mx23.h
@@ -14,3 +14,8 @@
14extern const struct amba_device mx23_duart_device __initconst; 14extern const struct amba_device mx23_duart_device __initconst;
15#define mx23_add_duart() \ 15#define mx23_add_duart() \
16 mxs_add_duart(&mx23_duart_device) 16 mxs_add_duart(&mx23_duart_device)
17
18extern const struct mxs_auart_data mx23_auart_data[] __initconst;
19#define mx23_add_auart(id) mxs_add_auart(&mx23_auart_data[id])
20#define mx23_add_auart0() mx23_add_auart(0)
21#define mx23_add_auart1() mx23_add_auart(1)
diff --git a/arch/arm/mach-mxs/devices/platform-auart.c b/arch/arm/mach-mxs/devices/platform-auart.c
index f0dbf8a21456..796606cce0ce 100644
--- a/arch/arm/mach-mxs/devices/platform-auart.c
+++ b/arch/arm/mach-mxs/devices/platform-auart.c
@@ -7,23 +7,33 @@
7 * Free Software Foundation. 7 * Free Software Foundation.
8 */ 8 */
9#include <asm/sizes.h> 9#include <asm/sizes.h>
10#include <mach/mx23.h>
10#include <mach/mx28.h> 11#include <mach/mx28.h>
11#include <mach/devices-common.h> 12#include <mach/devices-common.h>
12 13
13#define mxs_auart_data_entry_single(soc, _id) \ 14#define mxs_auart_data_entry_single(soc, _id, hwid) \
14 { \ 15 { \
15 .id = _id, \ 16 .id = _id, \
16 .iobase = soc ## _AUART ## _id ## _BASE_ADDR, \ 17 .iobase = soc ## _AUART ## hwid ## _BASE_ADDR, \
17 .irq = soc ## _INT_AUART ## _id, \ 18 .irq = soc ## _INT_AUART ## hwid, \
18 } 19 }
19 20
20#define mxs_auart_data_entry(soc, _id) \ 21#define mxs_auart_data_entry(soc, _id, hwid) \
21 [_id] = mxs_auart_data_entry_single(soc, _id) 22 [_id] = mxs_auart_data_entry_single(soc, _id, hwid)
23
24#ifdef CONFIG_SOC_IMX23
25const struct mxs_auart_data mx23_auart_data[] __initconst = {
26#define mx23_auart_data_entry(_id, hwid) \
27 mxs_auart_data_entry(MX23, _id, hwid)
28 mx23_auart_data_entry(0, 1),
29 mx23_auart_data_entry(1, 2),
30};
31#endif
22 32
23#ifdef CONFIG_SOC_IMX28 33#ifdef CONFIG_SOC_IMX28
24const struct mxs_auart_data mx28_auart_data[] __initconst = { 34const struct mxs_auart_data mx28_auart_data[] __initconst = {
25#define mx28_auart_data_entry(_id) \ 35#define mx28_auart_data_entry(_id) \
26 mxs_auart_data_entry(MX28, _id) 36 mxs_auart_data_entry(MX28, _id, _id)
27 mx28_auart_data_entry(0), 37 mx28_auart_data_entry(0),
28 mx28_auart_data_entry(1), 38 mx28_auart_data_entry(1),
29 mx28_auart_data_entry(2), 39 mx28_auart_data_entry(2),