diff options
-rw-r--r-- | arch/arm/mach-mxs/clock-mx23.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-mxs/devices-mx23.h | 5 | ||||
-rw-r--r-- | arch/arm/mach-mxs/devices/platform-auart.c | 22 |
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 @@ | |||
14 | extern const struct amba_device mx23_duart_device __initconst; | 14 | extern 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 | |||
18 | extern 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 | ||
25 | const 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 |
24 | const struct mxs_auart_data mx28_auart_data[] __initconst = { | 34 | const 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), |