blob: e8d1611bbc8e325f29bf897cea68ffcc9c253aa8 [file] [log] [blame]
Uwe Kleine-Königa2ceeef2010-06-16 12:23:11 +02001/*
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 */
Shawn Guoe0557c02012-09-13 15:51:15 +08009#include "devices/devices-common.h"
Uwe Kleine-Königa2ceeef2010-06-16 12:23:11 +020010
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080011extern const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data;
Uwe Kleine-König9e1dde32010-11-12 16:40:06 +010012#define imx31_add_fsl_usb2_udc(pdata) \
13 imx_add_fsl_usb2_udc(&imx31_fsl_usb2_udc_data, pdata)
14
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080015extern const struct imx_imx2_wdt_data imx31_imx2_wdt_data;
Benoît Thébaudeaubec31a82012-07-04 16:35:54 +020016#define imx31_add_imx2_wdt() \
Uwe Kleine-König742269e2010-11-15 15:28:45 +010017 imx_add_imx2_wdt(&imx31_imx2_wdt_data)
18
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080019extern const struct imx_imx_i2c_data imx31_imx_i2c_data[];
Uwe Kleine-König64de5ec2010-09-21 12:13:34 +020020#define imx31_add_imx_i2c(id, pdata) \
21 imx_add_imx_i2c(&imx31_imx_i2c_data[id], pdata)
22#define imx31_add_imx_i2c0(pdata) imx31_add_imx_i2c(0, pdata)
23#define imx31_add_imx_i2c1(pdata) imx31_add_imx_i2c(1, pdata)
24#define imx31_add_imx_i2c2(pdata) imx31_add_imx_i2c(2, pdata)
Uwe Kleine-König4a9b8b02010-06-16 18:03:05 +020025
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080026extern const struct imx_imx_keypad_data imx31_imx_keypad_data;
Uwe Kleine-Königd690b4c2010-11-16 21:27:33 +010027#define imx31_add_imx_keypad(pdata) \
28 imx_add_imx_keypad(&imx31_imx_keypad_data, pdata)
29
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080030extern const struct imx_imx_ssi_data imx31_imx_ssi_data[];
Uwe Kleine-König4697bb92010-08-25 17:37:45 +020031#define imx31_add_imx_ssi(id, pdata) \
32 imx_add_imx_ssi(&imx31_imx_ssi_data[id], pdata)
33
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080034extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[];
Uwe Kleine-König5162de02010-08-10 22:57:24 +020035#define imx31_add_imx_uart(id, pdata) \
36 imx_add_imx_uart_1irq(&imx31_imx_uart_data[id], pdata)
37#define imx31_add_imx_uart0(pdata) imx31_add_imx_uart(0, pdata)
38#define imx31_add_imx_uart1(pdata) imx31_add_imx_uart(1, pdata)
39#define imx31_add_imx_uart2(pdata) imx31_add_imx_uart(2, pdata)
40#define imx31_add_imx_uart3(pdata) imx31_add_imx_uart(3, pdata)
41#define imx31_add_imx_uart4(pdata) imx31_add_imx_uart(4, pdata)
Uwe Kleine-König16cf5c42010-06-23 11:46:16 +020042
Uwe Kleine-Königafa77ef2011-03-03 21:32:02 +010043extern const struct imx_ipu_core_data imx31_ipu_core_data;
Shawn Guo88289c82012-06-13 14:07:31 +080044#define imx31_add_ipu_core() \
45 imx_add_ipu_core(&imx31_ipu_core_data)
Uwe Kleine-Königafa77ef2011-03-03 21:32:02 +010046#define imx31_alloc_mx3_camera(pdata) \
47 imx_alloc_mx3_camera(&imx31_ipu_core_data, pdata)
48#define imx31_add_mx3_sdc_fb(pdata) \
49 imx_add_mx3_sdc_fb(&imx31_ipu_core_data, pdata)
50
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080051extern const struct imx_mxc_ehci_data imx31_mxc_ehci_otg_data;
Uwe Kleine-König2d58de22010-11-15 11:57:49 +010052#define imx31_add_mxc_ehci_otg(pdata) \
53 imx_add_mxc_ehci(&imx31_mxc_ehci_otg_data, pdata)
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080054extern const struct imx_mxc_ehci_data imx31_mxc_ehci_hs_data[];
Uwe Kleine-König2d58de22010-11-15 11:57:49 +010055#define imx31_add_mxc_ehci_hs(id, pdata) \
56 imx_add_mxc_ehci(&imx31_mxc_ehci_hs_data[id - 1], pdata)
57
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080058extern const struct imx_mxc_mmc_data imx31_mxc_mmc_data[];
Uwe Kleine-König6a697e32010-11-12 11:10:55 +010059#define imx31_add_mxc_mmc(id, pdata) \
60 imx_add_mxc_mmc(&imx31_mxc_mmc_data[id], pdata)
61
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080062extern const struct imx_mxc_nand_data imx31_mxc_nand_data;
Uwe Kleine-Königa2ceeef2010-06-16 12:23:11 +020063#define imx31_add_mxc_nand(pdata) \
Uwe Kleine-König00b57bf2010-08-23 11:25:52 +020064 imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
Uwe Kleine-König06606ff2010-06-22 10:09:14 +020065
Uwe Kleine-König83422672011-03-01 11:04:34 +010066extern const struct imx_mxc_rtc_data imx31_mxc_rtc_data;
Benoît Thébaudeaubec31a82012-07-04 16:35:54 +020067#define imx31_add_mxc_rtc() \
Uwe Kleine-König83422672011-03-01 11:04:34 +010068 imx_add_mxc_rtc(&imx31_mxc_rtc_data)
69
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080070extern const struct imx_mxc_w1_data imx31_mxc_w1_data;
Benoît Thébaudeaubec31a82012-07-04 16:35:54 +020071#define imx31_add_mxc_w1() \
Uwe Kleine-Königae71a562010-10-29 10:56:07 +020072 imx_add_mxc_w1(&imx31_mxc_w1_data)
73
Richard Zhaoaf12e3a2011-03-31 18:16:23 +080074extern const struct imx_spi_imx_data imx31_cspi_data[];
Uwe Kleine-König35bab052010-09-09 21:02:02 +020075#define imx31_add_cspi(id, pdata) \
76 imx_add_spi_imx(&imx31_cspi_data[id], pdata)
77#define imx31_add_spi_imx0(pdata) imx31_add_cspi(0, pdata)
78#define imx31_add_spi_imx1(pdata) imx31_add_cspi(1, pdata)
79#define imx31_add_spi_imx2(pdata) imx31_add_cspi(2, pdata)
Fabio Estevamd5534ba2011-08-24 12:04:14 -030080
81extern const struct imx_pata_imx_data imx31_pata_imx_data;
82#define imx31_add_pata_imx() \
83 imx_add_pata_imx(&imx31_pata_imx_data)