1/*
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 */
9#include "../hardware.h"
10#include "devices-common.h"
11
12#define imx_mx2_emmaprp_data_entry_single(soc)				\
13	{								\
14		.iobase = soc ## _EMMAPRP_BASE_ADDR,			\
15		.iosize = SZ_256,					\
16		.irq = soc ## _INT_EMMAPRP,				\
17	}
18
19#ifdef CONFIG_SOC_IMX27
20const struct imx_mx2_emma_data imx27_mx2_emmaprp_data __initconst =
21	imx_mx2_emmaprp_data_entry_single(MX27);
22#endif /* ifdef CONFIG_SOC_IMX27 */
23
24struct platform_device *__init imx_add_mx2_emmaprp(
25		const struct imx_mx2_emma_data *data)
26{
27	struct resource res[] = {
28		{
29			.start = data->iobase,
30			.end = data->iobase + data->iosize - 1,
31			.flags = IORESOURCE_MEM,
32		}, {
33			.start = data->irq,
34			.end = data->irq,
35			.flags = IORESOURCE_IRQ,
36		},
37	};
38	return imx_add_platform_device_dmamask("m2m-emmaprp", 0,
39			res, 2, NULL, 0, DMA_BIT_MASK(32));
40}
41