2 * Copyright (C) 2010 Pengutronix
3 * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
5 * Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved.
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.
11 #include <mach/mx28.h>
12 #include <mach/devices-common.h>
13 #include <linux/mxsfb.h>
14 #include <linux/amba/bus.h>
16 static inline int mx28_add_duart(void)
18 struct amba_device
*d
;
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;
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)
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)
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)
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)
47 extern const struct mxs_mxs_i2c_data mx28_mxs_i2c_data
[] __initconst
;
48 #define mx28_add_mxs_i2c(id) mxs_add_mxs_i2c(&mx28_mxs_i2c_data[id])
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)
54 #define mx28_add_mxs_pwm(id) mxs_add_mxs_pwm(MX28_PWM_BASE_ADDR, id)
56 struct platform_device
*__init
mx28_add_mxsfb(
57 const struct mxsfb_platform_data
*pdata
);
59 extern const struct mxs_saif_data mx28_saif_data
[] __initconst
;
60 #define mx28_add_saif(id, pdata) \
61 mxs_add_saif(&mx28_saif_data[id], pdata)
63 struct platform_device
*__init
mx28_add_rtc_stmp3xxx(void);