2 * Copyright (C) 2009-2010 Pengutronix
3 * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
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.
9 #include <linux/kernel.h>
10 #include <linux/platform_device.h>
11 #include <linux/init.h>
13 struct platform_device
*imx_add_platform_device(const char *name
, int id
,
14 const struct resource
*res
, unsigned int num_resources
,
15 const void *data
, size_t size_data
);
17 #include <linux/can/platform/flexcan.h>
18 struct platform_device
*__init
imx_add_flexcan(int id
,
19 resource_size_t iobase
, resource_size_t iosize
,
21 const struct flexcan_platform_data
*pdata
);
24 struct imx_imx_i2c_data
{
26 resource_size_t iobase
;
27 resource_size_t iosize
;
30 struct platform_device
*__init
imx_add_imx_i2c(
31 const struct imx_imx_i2c_data
*data
,
32 const struct imxi2c_platform_data
*pdata
);
35 struct imx_imx_ssi_data
{
37 resource_size_t iobase
;
38 resource_size_t iosize
;
40 resource_size_t dmatx0
;
41 resource_size_t dmarx0
;
42 resource_size_t dmatx1
;
43 resource_size_t dmarx1
;
45 struct platform_device
*__init
imx_add_imx_ssi(
46 const struct imx_imx_ssi_data
*data
,
47 const struct imx_ssi_platform_data
*pdata
);
49 #include <mach/imx-uart.h>
50 struct imx_imx_uart_3irq_data
{
52 resource_size_t iobase
;
53 resource_size_t iosize
;
54 resource_size_t irqrx
;
55 resource_size_t irqtx
;
56 resource_size_t irqrts
;
58 struct platform_device
*__init
imx_add_imx_uart_3irq(
59 const struct imx_imx_uart_3irq_data
*data
,
60 const struct imxuart_platform_data
*pdata
);
62 struct imx_imx_uart_1irq_data
{
64 resource_size_t iobase
;
65 resource_size_t iosize
;
68 struct platform_device
*__init
imx_add_imx_uart_1irq(
69 const struct imx_imx_uart_1irq_data
*data
,
70 const struct imxuart_platform_data
*pdata
);
72 #include <mach/mxc_nand.h>
73 struct imx_mxc_nand_data
{
74 resource_size_t iobase
;
75 resource_size_t iosize
;
78 struct platform_device
*__init
imx_add_mxc_nand(
79 const struct imx_mxc_nand_data
*data
,
80 const struct mxc_nand_platform_data
*pdata
);
83 struct imx_spi_imx_data
{
86 resource_size_t iobase
;
87 resource_size_t iosize
;
90 struct platform_device
*__init
imx_add_spi_imx(
91 const struct imx_spi_imx_data
*data
,
92 const struct spi_imx_master
*pdata
);