devices-mx28.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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>
  13. #include <mach/mxsfb.h>
  14. #include <linux/amba/bus.h>
  15. static inline int mx28_add_duart(void)
  16. {
  17. struct amba_device *d;
  18. d = amba_ahb_device_add(NULL, "duart", MX28_DUART_BASE_ADDR, SZ_8K,
  19. MX28_INT_DUART, 0, 0, 0);
  20. return IS_ERR(d) ? PTR_ERR(d) : 0;
  21. }
  22. extern const struct mxs_auart_data mx28_auart_data[] __initconst;
  23. #define mx28_add_auart(id) mxs_add_auart(&mx28_auart_data[id])
  24. #define mx28_add_auart0() mx28_add_auart(0)
  25. #define mx28_add_auart1() mx28_add_auart(1)
  26. #define mx28_add_auart2() mx28_add_auart(2)
  27. #define mx28_add_auart3() mx28_add_auart(3)
  28. #define mx28_add_auart4() mx28_add_auart(4)
  29. extern const struct mxs_fec_data mx28_fec_data[] __initconst;
  30. #define mx28_add_fec(id, pdata) \
  31. mxs_add_fec(&mx28_fec_data[id], pdata)
  32. extern const struct mxs_flexcan_data mx28_flexcan_data[] __initconst;
  33. #define mx28_add_flexcan(id, pdata) \
  34. mxs_add_flexcan(&mx28_flexcan_data[id], pdata)
  35. #define mx28_add_flexcan0(pdata) mx28_add_flexcan(0, pdata)
  36. #define mx28_add_flexcan1(pdata) mx28_add_flexcan(1, pdata)
  37. extern const struct mxs_gpmi_nand_data mx28_gpmi_nand_data __initconst;
  38. #define mx28_add_gpmi_nand(pdata) \
  39. mxs_add_gpmi_nand(pdata, &mx28_gpmi_nand_data)
  40. extern const struct mxs_mxs_i2c_data mx28_mxs_i2c_data[] __initconst;
  41. #define mx28_add_mxs_i2c(id) mxs_add_mxs_i2c(&mx28_mxs_i2c_data[id])
  42. extern const struct mxs_mxs_mmc_data mx28_mxs_mmc_data[] __initconst;
  43. #define mx28_add_mxs_mmc(id, pdata) \
  44. mxs_add_mxs_mmc(&mx28_mxs_mmc_data[id], pdata)
  45. #define mx28_add_mxs_pwm(id) mxs_add_mxs_pwm(MX28_PWM_BASE_ADDR, id)
  46. struct platform_device *__init mx28_add_mxsfb(
  47. const struct mxsfb_platform_data *pdata);
  48. extern const struct mxs_saif_data mx28_saif_data[] __initconst;
  49. #define mx28_add_saif(id, pdata) \
  50. mxs_add_saif(&mx28_saif_data[id], pdata)
  51. struct platform_device *__init mx28_add_rtc_stmp3xxx(void);