]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/mach-mx6/devices-imx6q.h
ENGR00154436-1 - MACH-MX6: MXC HDMI updates to support full feature set
[karo-tx-linux.git] / arch / arm / mach-mx6 / devices-imx6q.h
1 /*
2  * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18
19 #include <mach/mx6.h>
20 #include <mach/devices-common.h>
21
22 extern const struct imx_imx_uart_1irq_data imx6q_imx_uart_data[] __initconst;
23 #define imx6q_add_imx_uart(id, pdata)   \
24         imx_add_imx_uart_1irq(&imx6q_imx_uart_data[id], pdata)
25
26 extern const struct imx_snvs_rtc_data imx6q_imx_snvs_rtc_data __initconst;
27 #define imx6q_add_imx_snvs_rtc()        \
28         imx_add_snvs_rtc(&imx6q_imx_snvs_rtc_data)
29
30 extern const struct imx_anatop_thermal_imx_data
31 imx6q_anatop_thermal_imx_data __initconst;
32 #define imx6q_add_anatop_thermal_imx(id, pdata) \
33         imx_add_anatop_thermal_imx(&imx6q_anatop_thermal_imx_data, pdata)
34
35 extern const struct imx_dma_data imx6q_dma_data __initconst;
36 #define imx6q_add_dma() imx_add_dma(&imx6q_dma_data);
37
38 #define imx6q_add_gpmi(platform_data)   imx_add_gpmi(platform_data);
39
40 extern const struct imx_fec_data imx6q_fec_data __initconst;
41 #define imx6q_add_fec(pdata)    \
42         imx_add_fec(&imx6q_fec_data, pdata)
43
44 extern const struct imx_sdhci_esdhc_imx_data
45 imx6q_sdhci_usdhc_imx_data[] __initconst;
46 #define imx6q_add_sdhci_usdhc_imx(id, pdata)    \
47         imx_add_sdhci_esdhc_imx(&imx6q_sdhci_usdhc_imx_data[id], pdata)
48
49 extern const struct imx_spi_imx_data imx6q_ecspi_data[] __initconst;
50 #define imx6q_add_ecspi(id, pdata)      \
51         imx_add_spi_imx(&imx6q_ecspi_data[id], pdata)
52
53 extern const struct imx_imx_i2c_data imx6q_imx_i2c_data[] __initconst;
54 #define imx6q_add_imx_i2c(id, pdata)    \
55         imx_add_imx_i2c(&imx6q_imx_i2c_data[id], pdata)
56
57 extern const struct imx_fsl_usb2_udc_data imx6q_fsl_usb2_udc_data __initconst;
58 #define imx6q_add_fsl_usb2_udc(pdata)   \
59         imx_add_fsl_usb2_udc(&imx6q_fsl_usb2_udc_data, pdata)
60
61 extern const struct imx_mxc_ehci_data imx6q_mxc_ehci_otg_data __initconst;
62 #define imx6q_add_fsl_ehci_otg(pdata)   \
63         imx_add_fsl_ehci(&imx6q_mxc_ehci_otg_data, pdata)
64
65 extern const struct imx_mxc_ehci_data imx6q_mxc_ehci_hs_data[] __initconst;
66 #define imx6q_add_fsl_ehci_hs(id, pdata)        \
67         imx_add_fsl_ehci(&imx6q_mxc_ehci_hs_data[id - 1], pdata)
68
69 extern const struct imx_fsl_usb2_otg_data imx6q_fsl_usb2_otg_data __initconst;
70 #define imx6q_add_fsl_usb2_otg(pdata)   \
71         imx_add_fsl_usb2_otg(&imx6q_fsl_usb2_otg_data, pdata)
72
73 extern const struct imx_fsl_usb2_wakeup_data imx6q_fsl_otg_wakeup_data __initconst;
74 #define imx6q_add_fsl_usb2_otg_wakeup(pdata)    \
75         imx_add_fsl_usb2_wakeup(&imx6q_fsl_otg_wakeup_data, pdata)
76
77 extern const struct imx_fsl_usb2_wakeup_data imx6q_fsl_hs_wakeup_data[] __initconst;
78 #define imx6q_add_fsl_usb2_hs_wakeup(id, pdata) \
79         imx_add_fsl_usb2_wakeup(&imx6q_fsl_hs_wakeup_data[id - 1], pdata)
80
81 extern const struct imx_imx_esai_data imx6q_imx_esai_data[] __initconst;
82 #define imx6q_add_imx_esai(id, pdata) \
83         imx_add_imx_esai(&imx6q_imx_esai_data[id], pdata)
84
85 extern const struct imx_viv_gpu_data imx6_gpu_data __initconst;
86
87 extern const struct imx_ahci_data imx6q_ahci_data __initconst;
88 #define imx6q_add_ahci(id, pdata)   \
89         imx_add_ahci(&imx6q_ahci_data, pdata)
90
91 extern const struct imx_ipuv3_data imx6q_ipuv3_data[] __initconst;
92 #define imx6q_add_ipuv3(id, pdata)      imx_add_ipuv3(id, &imx6q_ipuv3_data[id], pdata)
93 #define imx6q_add_ipuv3fb(id, pdata)    imx_add_ipuv3_fb(id, pdata)
94
95 #define imx6q_add_lcdif(pdata)  \
96         platform_device_register_resndata(NULL, "mxc_lcdif",\
97                         0, NULL, 0, pdata, sizeof(*pdata));
98
99 extern const struct imx_ldb_data imx6q_ldb_data __initconst;
100 #define imx6q_add_ldb(pdata) \
101         imx_add_ldb(&imx6q_ldb_data, pdata);
102
103 #define imx6q_add_v4l2_output(id)       \
104         platform_device_register_resndata(NULL, "mxc_v4l2_output",\
105                         id, NULL, 0, NULL, 0);
106
107 #define imx6q_add_v4l2_capture(id)      \
108         platform_device_register_resndata(NULL, "mxc_v4l2_capture",\
109                         id, NULL, 0, NULL, 0);
110
111 extern const struct imx_mxc_hdmi_data imx6q_mxc_hdmi_data __initconst;
112 #define imx6q_add_mxc_hdmi(pdata)       \
113         imx_add_mxc_hdmi(&imx6q_mxc_hdmi_data, pdata)
114
115 extern const struct imx_mxc_hdmi_core_data imx6q_mxc_hdmi_core_data __initconst;
116 #define imx6q_add_mxc_hdmi_core()               \
117         imx_add_mxc_hdmi_core(&imx6q_mxc_hdmi_core_data)
118
119 extern const struct imx_vpu_data imx6q_vpu_data __initconst;
120 #define imx6q_add_vpu() imx_add_vpu(&imx6q_vpu_data)
121
122 extern const struct imx_otp_data imx6q_otp_data __initconst;
123 #define imx6q_add_otp() \
124         imx_add_otp(&imx6q_otp_data)
125
126 extern const struct imx_viim_data imx6q_viim_data __initconst;
127 #define imx6q_add_viim() \
128         imx_add_viim(&imx6q_viim_data)
129
130 extern const struct imx_imx2_wdt_data imx6q_imx2_wdt_data[] __initconst;
131 #define imx6q_add_imx2_wdt(id, pdata)   \
132         imx_add_imx2_wdt(&imx6q_imx2_wdt_data[id])
133
134 extern const struct imx_pm_imx_data imx6q_pm_imx_data __initconst;
135 #define imx6q_add_pm_imx(id, pdata)     \
136         imx_add_pm_imx(&imx6q_pm_imx_data, pdata)
137
138 extern const struct imx_imx_asrc_data imx6q_imx_asrc_data[] __initconst;
139 #define imx6q_add_asrc(pdata)   \
140         imx_add_imx_asrc(imx6q_imx_asrc_data, pdata)