ARM: imx: dynamically allocate imx-ssi devices
[linux-2.6-block.git] / arch / arm / mach-imx / devices-imx27.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/mx27.h>
10 #include <mach/devices-common.h>
11
12 #define imx27_add_i2c_imx0(pdata)       \
13         imx_add_imx_i2c(0, MX27_I2C1_BASE_ADDR, SZ_4K, MX27_INT_I2C1, pdata)
14 #define imx27_add_i2c_imx1(pdata)       \
15         imx_add_imx_i2c(1, MX27_I2C2_BASE_ADDR, SZ_4K, MX27_INT_I2C2, pdata)
16
17 extern const struct imx_imx_ssi_data imx27_imx_ssi_data[] __initconst;
18 #define imx27_add_imx_ssi(id, pdata)    \
19         imx_add_imx_ssi(&imx27_imx_ssi_data[id], pdata)
20
21 extern const struct imx_imx_uart_1irq_data imx27_imx_uart_data[] __initconst;
22 #define imx27_add_imx_uart(id, pdata)   \
23         imx_add_imx_uart_1irq(&imx27_imx_uart_data[id], pdata)
24 #define imx27_add_imx_uart0(pdata)      imx27_add_imx_uart(0, pdata)
25 #define imx27_add_imx_uart1(pdata)      imx27_add_imx_uart(1, pdata)
26 #define imx27_add_imx_uart2(pdata)      imx27_add_imx_uart(2, pdata)
27 #define imx27_add_imx_uart3(pdata)      imx27_add_imx_uart(3, pdata)
28 #define imx27_add_imx_uart4(pdata)      imx27_add_imx_uart(4, pdata)
29 #define imx27_add_imx_uart5(pdata)      imx27_add_imx_uart(5, pdata)
30
31 #define imx27_add_mxc_nand(pdata)       \
32         imx_add_mxc_nand_v1(MX27_NFC_BASE_ADDR, MX27_INT_NANDFC, pdata)
33
34 extern const struct imx_spi_imx_data imx27_cspi_data[] __initconst;
35 #define imx27_add_cspi(id, pdata)       \
36         imx_add_spi_imx(&imx27_cspi_data[id], pdata)
37 #define imx27_add_spi_imx0(pdata)       imx27_add_cspi(0, pdata)
38 #define imx27_add_spi_imx1(pdata)       imx27_add_cspi(1, pdata)
39 #define imx27_add_spi_imx2(pdata)       imx27_add_cspi(2, pdata)