Merge tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[linux-2.6-microblaze.git] / arch / arm / mach-imx / devices-imx31.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2010 Pengutronix
4  * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
5  */
6 #include "devices/devices-common.h"
7
8 extern const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data;
9 #define imx31_add_fsl_usb2_udc(pdata)   \
10         imx_add_fsl_usb2_udc(&imx31_fsl_usb2_udc_data, pdata)
11
12 extern const struct imx_imx2_wdt_data imx31_imx2_wdt_data;
13 #define imx31_add_imx2_wdt()       \
14         imx_add_imx2_wdt(&imx31_imx2_wdt_data)
15
16 extern const struct imx_imx_i2c_data imx31_imx_i2c_data[];
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_keypad_data imx31_imx_keypad_data;
24 #define imx31_add_imx_keypad(pdata)     \
25         imx_add_imx_keypad(&imx31_imx_keypad_data, pdata)
26
27 extern const struct imx_imx_ssi_data imx31_imx_ssi_data[];
28 #define imx31_add_imx_ssi(id, pdata)    \
29         imx_add_imx_ssi(&imx31_imx_ssi_data[id], pdata)
30
31 extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[];
32 #define imx31_add_imx_uart(id, pdata)   \
33         imx_add_imx_uart_1irq(&imx31_imx_uart_data[id], pdata)
34 #define imx31_add_imx_uart0(pdata)      imx31_add_imx_uart(0, pdata)
35 #define imx31_add_imx_uart1(pdata)      imx31_add_imx_uart(1, pdata)
36 #define imx31_add_imx_uart2(pdata)      imx31_add_imx_uart(2, pdata)
37 #define imx31_add_imx_uart3(pdata)      imx31_add_imx_uart(3, pdata)
38 #define imx31_add_imx_uart4(pdata)      imx31_add_imx_uart(4, pdata)
39
40 extern const struct imx_ipu_core_data imx31_ipu_core_data;
41 #define imx31_add_ipu_core()            \
42         imx_add_ipu_core(&imx31_ipu_core_data)
43 #define imx31_alloc_mx3_camera(pdata)   \
44         imx_alloc_mx3_camera(&imx31_ipu_core_data, pdata)
45 #define imx31_add_mx3_sdc_fb(pdata)     \
46         imx_add_mx3_sdc_fb(&imx31_ipu_core_data, pdata)
47
48 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_otg_data;
49 #define imx31_add_mxc_ehci_otg(pdata)   \
50         imx_add_mxc_ehci(&imx31_mxc_ehci_otg_data, pdata)
51 extern const struct imx_mxc_ehci_data imx31_mxc_ehci_hs_data[];
52 #define imx31_add_mxc_ehci_hs(id, pdata)        \
53         imx_add_mxc_ehci(&imx31_mxc_ehci_hs_data[id - 1], pdata)
54
55 extern const struct imx_mxc_mmc_data imx31_mxc_mmc_data[];
56 #define imx31_add_mxc_mmc(id, pdata)    \
57         imx_add_mxc_mmc(&imx31_mxc_mmc_data[id], pdata)
58
59 extern const struct imx_mxc_nand_data imx31_mxc_nand_data;
60 #define imx31_add_mxc_nand(pdata)       \
61         imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
62
63 extern const struct imx_mxc_rtc_data imx31_mxc_rtc_data;
64 #define imx31_add_mxc_rtc()     \
65         imx_add_mxc_rtc(&imx31_mxc_rtc_data)
66
67 extern const struct imx_mxc_w1_data imx31_mxc_w1_data;
68 #define imx31_add_mxc_w1()      \
69         imx_add_mxc_w1(&imx31_mxc_w1_data)
70
71 extern const struct imx_spi_imx_data imx31_cspi_data[];
72 #define imx31_add_cspi(id, gtable) \
73         imx_add_spi_imx(&imx31_cspi_data[id], gtable)
74 #define imx31_add_spi_imx0(gtable)      imx31_add_cspi(0, gtable)
75 #define imx31_add_spi_imx1(gtable)      imx31_add_cspi(1, gtable)
76 #define imx31_add_spi_imx2(gtable)      imx31_add_cspi(2, gtable)
77
78 extern const struct imx_pata_imx_data imx31_pata_imx_data;
79 #define imx31_add_pata_imx() \
80         imx_add_pata_imx(&imx31_pata_imx_data)