Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / arm / mach-imx / devices-imx35.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_fec_data imx35_fec_data;
9 #define imx35_add_fec(pdata)    \
10         imx_add_fec(&imx35_fec_data, pdata)
11
12 extern const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data;
13 #define imx35_add_fsl_usb2_udc(pdata)   \
14         imx_add_fsl_usb2_udc(&imx35_fsl_usb2_udc_data, pdata)
15
16 extern const struct imx_flexcan_data imx35_flexcan_data[];
17 #define imx35_add_flexcan(id)   \
18         imx_add_flexcan(&imx35_flexcan_data[id])
19 #define imx35_add_flexcan0()            imx35_add_flexcan(0)
20 #define imx35_add_flexcan1()            imx35_add_flexcan(1)
21
22 extern const struct imx_imx2_wdt_data imx35_imx2_wdt_data;
23 #define imx35_add_imx2_wdt()       \
24         imx_add_imx2_wdt(&imx35_imx2_wdt_data)
25
26 extern const struct imx_imx_i2c_data imx35_imx_i2c_data[];
27 #define imx35_add_imx_i2c(id, pdata)    \
28         imx_add_imx_i2c(&imx35_imx_i2c_data[id], pdata)
29 #define imx35_add_imx_i2c0(pdata)       imx35_add_imx_i2c(0, pdata)
30 #define imx35_add_imx_i2c1(pdata)       imx35_add_imx_i2c(1, pdata)
31 #define imx35_add_imx_i2c2(pdata)       imx35_add_imx_i2c(2, pdata)
32
33 extern const struct imx_imx_keypad_data imx35_imx_keypad_data;
34 #define imx35_add_imx_keypad(pdata)     \
35         imx_add_imx_keypad(&imx35_imx_keypad_data, pdata)
36
37 extern const struct imx_imx_ssi_data imx35_imx_ssi_data[];
38 #define imx35_add_imx_ssi(id, pdata)    \
39         imx_add_imx_ssi(&imx35_imx_ssi_data[id], pdata)
40
41 extern const struct imx_imx_uart_1irq_data imx35_imx_uart_data[];
42 #define imx35_add_imx_uart(id, pdata)   \
43         imx_add_imx_uart_1irq(&imx35_imx_uart_data[id], pdata)
44 #define imx35_add_imx_uart0(pdata)      imx35_add_imx_uart(0, pdata)
45 #define imx35_add_imx_uart1(pdata)      imx35_add_imx_uart(1, pdata)
46 #define imx35_add_imx_uart2(pdata)      imx35_add_imx_uart(2, pdata)
47
48 extern const struct imx_ipu_core_data imx35_ipu_core_data;
49 #define imx35_add_ipu_core()            \
50         imx_add_ipu_core(&imx35_ipu_core_data)
51 #define imx35_alloc_mx3_camera(pdata)   \
52         imx_alloc_mx3_camera(&imx35_ipu_core_data, pdata)
53 #define imx35_add_mx3_sdc_fb(pdata)     \
54         imx_add_mx3_sdc_fb(&imx35_ipu_core_data, pdata)
55
56 extern const struct imx_mxc_ehci_data imx35_mxc_ehci_otg_data;
57 #define imx35_add_mxc_ehci_otg(pdata)   \
58         imx_add_mxc_ehci(&imx35_mxc_ehci_otg_data, pdata)
59 extern const struct imx_mxc_ehci_data imx35_mxc_ehci_hs_data;
60 #define imx35_add_mxc_ehci_hs(pdata)    \
61         imx_add_mxc_ehci(&imx35_mxc_ehci_hs_data, pdata)
62
63 extern const struct imx_mxc_nand_data imx35_mxc_nand_data;
64 #define imx35_add_mxc_nand(pdata)       \
65         imx_add_mxc_nand(&imx35_mxc_nand_data, pdata)
66
67 extern const struct imx_mxc_rtc_data imx35_mxc_rtc_data;
68 #define imx35_add_mxc_rtc()     \
69         imx_add_mxc_rtc(&imx35_mxc_rtc_data)
70
71 extern const struct imx_mxc_w1_data imx35_mxc_w1_data;
72 #define imx35_add_mxc_w1()      \
73         imx_add_mxc_w1(&imx35_mxc_w1_data)
74
75 extern const struct imx_sdhci_esdhc_imx_data imx35_sdhci_esdhc_imx_data[];
76 #define imx35_add_sdhci_esdhc_imx(id, pdata)    \
77         imx_add_sdhci_esdhc_imx(&imx35_sdhci_esdhc_imx_data[id], pdata)
78
79 extern const struct imx_spi_imx_data imx35_cspi_data[];
80 #define imx35_add_cspi(id, pdata)       \
81         imx_add_spi_imx(&imx35_cspi_data[id], pdata)
82 #define imx35_add_spi_imx0(pdata)       imx35_add_cspi(0, pdata)
83 #define imx35_add_spi_imx1(pdata)       imx35_add_cspi(1, pdata)
84
85 extern const struct imx_pata_imx_data imx35_pata_imx_data;
86 #define imx35_add_pata_imx() \
87         imx_add_pata_imx(&imx35_pata_imx_data)