Commit | Line | Data |
---|---|---|
dc38ad40 SG |
1 | /* |
2 | * Copyright (C) 2010 Pengutronix | |
3 | * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> | |
4 | * | |
5 | * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved. | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify it under | |
8 | * the terms of the GNU General Public License version 2 as published by the | |
9 | * Free Software Foundation. | |
10 | */ | |
11 | #include <mach/mx28.h> | |
12 | #include <mach/devices-common.h> | |
ce4409b5 | 13 | #include <linux/mxsfb.h> |
5002484b | 14 | #include <linux/amba/bus.h> |
dc38ad40 | 15 | |
5002484b LW |
16 | static inline int mx28_add_duart(void) |
17 | { | |
18 | struct amba_device *d; | |
19 | ||
20 | d = amba_ahb_device_add(NULL, "duart", MX28_DUART_BASE_ADDR, SZ_8K, | |
21 | MX28_INT_DUART, 0, 0, 0); | |
22 | return IS_ERR(d) ? PTR_ERR(d) : 0; | |
23 | } | |
b9a2ada8 | 24 | |
cf3567aa SH |
25 | extern const struct mxs_auart_data mx28_auart_data[] __initconst; |
26 | #define mx28_add_auart(id) mxs_add_auart(&mx28_auart_data[id]) | |
27 | #define mx28_add_auart0() mx28_add_auart(0) | |
28 | #define mx28_add_auart1() mx28_add_auart(1) | |
29 | #define mx28_add_auart2() mx28_add_auart(2) | |
30 | #define mx28_add_auart3() mx28_add_auart(3) | |
31 | #define mx28_add_auart4() mx28_add_auart(4) | |
32 | ||
b9a2ada8 SG |
33 | extern const struct mxs_fec_data mx28_fec_data[] __initconst; |
34 | #define mx28_add_fec(id, pdata) \ | |
35 | mxs_add_fec(&mx28_fec_data[id], pdata) | |
22cbba1b MKB |
36 | |
37 | extern const struct mxs_flexcan_data mx28_flexcan_data[] __initconst; | |
38 | #define mx28_add_flexcan(id, pdata) \ | |
39 | mxs_add_flexcan(&mx28_flexcan_data[id], pdata) | |
40 | #define mx28_add_flexcan0(pdata) mx28_add_flexcan(0, pdata) | |
41 | #define mx28_add_flexcan1(pdata) mx28_add_flexcan(1, pdata) | |
2301dfa7 | 42 | |
60c15358 HS |
43 | extern const struct mxs_gpmi_nand_data mx28_gpmi_nand_data __initconst; |
44 | #define mx28_add_gpmi_nand(pdata) \ | |
45 | mxs_add_gpmi_nand(pdata, &mx28_gpmi_nand_data) | |
46 | ||
01d8cf03 | 47 | extern const struct mxs_mxs_i2c_data mx28_mxs_i2c_data[] __initconst; |
30feed37 WS |
48 | #define mx28_add_mxs_i2c(id) mxs_add_mxs_i2c(&mx28_mxs_i2c_data[id]) |
49 | ||
47babe69 SG |
50 | extern const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst; |
51 | #define mx28_add_mxs_mmc(id, pdata) \ | |
52 | mxs_add_mxs_mmc(&mx28_mxs_mmc_data[id], pdata) | |
53 | ||
2301dfa7 | 54 | #define mx28_add_mxs_pwm(id) mxs_add_mxs_pwm(MX28_PWM_BASE_ADDR, id) |
2e8fd696 SH |
55 | |
56 | struct platform_device *__init mx28_add_mxsfb( | |
57 | const struct mxsfb_platform_data *pdata); | |
c8ebcac8 DA |
58 | |
59 | extern const struct mxs_saif_data mx28_saif_data[] __initconst; | |
4c0174c5 DA |
60 | #define mx28_add_saif(id, pdata) \ |
61 | mxs_add_saif(&mx28_saif_data[id], pdata) | |
a4de0424 WS |
62 | |
63 | struct platform_device *__init mx28_add_rtc_stmp3xxx(void); |