i.mx25: add esdhc support
[linux-2.6-block.git] / arch / arm / mach-mx25 / devices-imx25.h
1 /*
2  * Copyright (C) 2010 Pengutronix
3  * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 2 as published by the
7  * Free Software Foundation.
8  */
9 #include <mach/mx25.h>
10 #include <mach/devices-common.h>
11
12 #define imx25_add_flexcan0(pdata)       \
13         imx_add_flexcan(0, MX25_CAN1_BASE_ADDR, SZ_16K, MX25_INT_CAN1, pdata)
14 #define imx25_add_flexcan1(pdata)       \
15         imx_add_flexcan(1, MX25_CAN2_BASE_ADDR, SZ_16K, MX25_INT_CAN2, pdata)
16
17 extern const struct imx_imx_i2c_data imx25_imx_i2c_data[] __initconst;
18 #define imx25_add_imx_i2c(id, pdata)    \
19         imx_add_imx_i2c(&imx25_imx_i2c_data[id], pdata)
20 #define imx25_add_imx_i2c0(pdata)       imx25_add_imx_i2c(0, pdata)
21 #define imx25_add_imx_i2c1(pdata)       imx25_add_imx_i2c(1, pdata)
22 #define imx25_add_imx_i2c2(pdata)       imx25_add_imx_i2c(2, pdata)
23
24 extern const struct imx_imx_ssi_data imx25_imx_ssi_data[] __initconst;
25 #define imx25_add_imx_ssi(id, pdata)    \
26         imx_add_imx_ssi(&imx25_imx_ssi_data[id], pdata)
27
28 extern const struct imx_imx_uart_1irq_data imx25_imx_uart_data[] __initconst;
29 #define imx25_add_imx_uart(id, pdata)   \
30         imx_add_imx_uart_1irq(&imx25_imx_uart_data[id], pdata)
31 #define imx25_add_imx_uart0(pdata)      imx25_add_imx_uart(0, pdata)
32 #define imx25_add_imx_uart1(pdata)      imx25_add_imx_uart(1, pdata)
33 #define imx25_add_imx_uart2(pdata)      imx25_add_imx_uart(2, pdata)
34 #define imx25_add_imx_uart3(pdata)      imx25_add_imx_uart(3, pdata)
35 #define imx25_add_imx_uart4(pdata)      imx25_add_imx_uart(4, pdata)
36
37 extern const struct imx_mxc_nand_data imx25_mxc_nand_data __initconst;
38 #define imx25_add_mxc_nand(pdata)       \
39         imx_add_mxc_nand(&imx25_mxc_nand_data, pdata)
40
41 extern const struct imx_spi_imx_data imx25_spi_imx_data[] __initconst;
42 #define imx25_add_spi_imx(id, pdata)    \
43         imx_add_spi_imx(&imx25_spi_imx_data[id], pdata)
44 #define imx25_add_spi_imx0(pdata)       imx25_add_spi_imx(0, pdata)
45 #define imx25_add_spi_imx1(pdata)       imx25_add_spi_imx(1, pdata)
46 #define imx25_add_spi_imx2(pdata)       imx25_add_spi_imx(2, pdata)
47
48 #define imx25_add_esdhc0(pdata) \
49         imx_add_esdhc(0, MX25_ESDHC1_BASE_ADDR, SZ_16K, MX25_INT_MMC_SDHC1, pdata)
50 #define imx25_add_esdhc1(pdata) \
51         imx_add_esdhc(1, MX25_ESDHC2_BASE_ADDR, SZ_16K, MX25_INT_MMC_SDHC2, pdata)