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;
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_imx2_wdt_data imx31_imx2_wdt_data;
17 #define imx31_add_imx2_wdt(pdata)       \
18 	imx_add_imx2_wdt(&imx31_imx2_wdt_data)
19 
20 extern const struct imx_imx_i2c_data imx31_imx_i2c_data[];
21 #define imx31_add_imx_i2c(id, pdata)	\
22 	imx_add_imx_i2c(&imx31_imx_i2c_data[id], pdata)
23 #define imx31_add_imx_i2c0(pdata)	imx31_add_imx_i2c(0, pdata)
24 #define imx31_add_imx_i2c1(pdata)	imx31_add_imx_i2c(1, pdata)
25 #define imx31_add_imx_i2c2(pdata)	imx31_add_imx_i2c(2, pdata)
26 
27 extern const struct imx_imx_keypad_data imx31_imx_keypad_data;
28 #define imx31_add_imx_keypad(pdata)	\
29 	imx_add_imx_keypad(&imx31_imx_keypad_data, pdata)
30 
31 extern const struct imx_imx_ssi_data imx31_imx_ssi_data[];
32 #define imx31_add_imx_ssi(id, pdata)    \
33 	imx_add_imx_ssi(&imx31_imx_ssi_data[id], pdata)
34 
35 extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[];
36 #define imx31_add_imx_uart(id, pdata)	\
37 	imx_add_imx_uart_1irq(&imx31_imx_uart_data[id], pdata)
38 #define imx31_add_imx_uart0(pdata)	imx31_add_imx_uart(0, pdata)
39 #define imx31_add_imx_uart1(pdata)	imx31_add_imx_uart(1, pdata)
40 #define imx31_add_imx_uart2(pdata)	imx31_add_imx_uart(2, pdata)
41 #define imx31_add_imx_uart3(pdata)	imx31_add_imx_uart(3, pdata)
42 #define imx31_add_imx_uart4(pdata)	imx31_add_imx_uart(4, pdata)
43 
44 extern const struct imx_ipu_core_data imx31_ipu_core_data;
45 #define imx31_add_ipu_core(pdata)	\
46 	imx_add_ipu_core(&imx31_ipu_core_data, pdata)
47 #define imx31_alloc_mx3_camera(pdata)	\
48 	imx_alloc_mx3_camera(&imx31_ipu_core_data, pdata)
49 #define imx31_add_mx3_sdc_fb(pdata)	\
50 	imx_add_mx3_sdc_fb(&imx31_ipu_core_data, pdata)
51 
52 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_otg_data;
53 #define imx31_add_mxc_ehci_otg(pdata)	\
54 	imx_add_mxc_ehci(&imx31_mxc_ehci_otg_data, pdata)
55 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_hs_data[];
56 #define imx31_add_mxc_ehci_hs(id, pdata)	\
57 	imx_add_mxc_ehci(&imx31_mxc_ehci_hs_data[id - 1], pdata)
58 
59 extern const struct imx_mxc_mmc_data imx31_mxc_mmc_data[];
60 #define imx31_add_mxc_mmc(id, pdata)	\
61 	imx_add_mxc_mmc(&imx31_mxc_mmc_data[id], pdata)
62 
63 extern const struct imx_mxc_nand_data imx31_mxc_nand_data;
64 #define imx31_add_mxc_nand(pdata)	\
65 	imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
66 
67 extern const struct imx_mxc_rtc_data imx31_mxc_rtc_data;
68 #define imx31_add_mxc_rtc(pdata)	\
69 	imx_add_mxc_rtc(&imx31_mxc_rtc_data)
70 
71 extern const struct imx_mxc_w1_data imx31_mxc_w1_data;
72 #define imx31_add_mxc_w1(pdata)	\
73 	imx_add_mxc_w1(&imx31_mxc_w1_data)
74 
75 extern const struct imx_spi_imx_data imx31_cspi_data[];
76 #define imx31_add_cspi(id, pdata)	\
77 	imx_add_spi_imx(&imx31_cspi_data[id], pdata)
78 #define imx31_add_spi_imx0(pdata)	imx31_add_cspi(0, pdata)
79 #define imx31_add_spi_imx1(pdata)	imx31_add_cspi(1, pdata)
80 #define imx31_add_spi_imx2(pdata)	imx31_add_cspi(2, pdata)
81 
82 extern const struct imx_pata_imx_data imx31_pata_imx_data;
83 #define imx31_add_pata_imx() \
84 	imx_add_pata_imx(&imx31_pata_imx_data)
85