]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/mach-mx3/devices-imx31.h
ARM: mx3: dynamically allocate mxc-ehci devices
[karo-tx-linux.git] / arch / arm / mach-mx3 / devices-imx31.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/mx31.h>
10 #include <mach/devices-common.h>
11
12 extern const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data __initconst;
13 #define imx31_add_fsl_usb2_udc(pdata)   \
14         imx_add_fsl_usb2_udc(&imx31_fsl_usb2_udc_data, pdata)
15
16 extern const struct imx_imx_i2c_data imx31_imx_i2c_data[] __initconst;
17 #define imx31_add_imx_i2c(id, pdata)    \
18         imx_add_imx_i2c(&imx31_imx_i2c_data[id], pdata)
19 #define imx31_add_imx_i2c0(pdata)       imx31_add_imx_i2c(0, pdata)
20 #define imx31_add_imx_i2c1(pdata)       imx31_add_imx_i2c(1, pdata)
21 #define imx31_add_imx_i2c2(pdata)       imx31_add_imx_i2c(2, pdata)
22
23 extern const struct imx_imx_ssi_data imx31_imx_ssi_data[] __initconst;
24 #define imx31_add_imx_ssi(id, pdata)    \
25         imx_add_imx_ssi(&imx31_imx_ssi_data[id], pdata)
26
27 extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[] __initconst;
28 #define imx31_add_imx_uart(id, pdata)   \
29         imx_add_imx_uart_1irq(&imx31_imx_uart_data[id], pdata)
30 #define imx31_add_imx_uart0(pdata)      imx31_add_imx_uart(0, pdata)
31 #define imx31_add_imx_uart1(pdata)      imx31_add_imx_uart(1, pdata)
32 #define imx31_add_imx_uart2(pdata)      imx31_add_imx_uart(2, pdata)
33 #define imx31_add_imx_uart3(pdata)      imx31_add_imx_uart(3, pdata)
34 #define imx31_add_imx_uart4(pdata)      imx31_add_imx_uart(4, pdata)
35
36 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_otg_data __initconst;
37 #define imx31_add_mxc_ehci_otg(pdata)   \
38         imx_add_mxc_ehci(&imx31_mxc_ehci_otg_data, pdata)
39 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_hs_data[] __initconst;
40 #define imx31_add_mxc_ehci_hs(id, pdata)        \
41         imx_add_mxc_ehci(&imx31_mxc_ehci_hs_data[id - 1], pdata)
42
43 extern const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst;
44 #define imx31_add_mxc_mmc(id, pdata)    \
45         imx_add_mxc_mmc(&imx31_mxc_mmc_data[id], pdata)
46
47 extern const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst;
48 #define imx31_add_mxc_nand(pdata)       \
49         imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
50
51 extern const struct imx_mxc_w1_data imx31_mxc_w1_data __initconst;
52 #define imx31_add_mxc_w1(pdata) \
53         imx_add_mxc_w1(&imx31_mxc_w1_data)
54
55 extern const struct imx_spi_imx_data imx31_cspi_data[] __initconst;
56 #define imx31_add_cspi(id, pdata)       \
57         imx_add_spi_imx(&imx31_cspi_data[id], pdata)
58 #define imx31_add_spi_imx0(pdata)       imx31_add_cspi(0, pdata)
59 #define imx31_add_spi_imx1(pdata)       imx31_add_cspi(1, pdata)
60 #define imx31_add_spi_imx2(pdata)       imx31_add_cspi(2, pdata)