Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a45adf1c authored by Arnaud Patard's avatar Arnaud Patard Committed by Sascha Hauer
Browse files

imx51: add pata device



Declare the pata device found on mx51

Signed-off-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 322a8b03
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -52,3 +52,7 @@ extern const struct imx_mxc_pwm_data imx51_mxc_pwm_data[];
extern const struct imx_imx_keypad_data imx51_imx_keypad_data;
#define imx51_add_imx_keypad(pdata)	\
	imx_add_imx_keypad(&imx51_imx_keypad_data, pdata)

extern const struct imx_pata_imx_data imx51_pata_imx_data;
#define imx51_add_pata_imx() \
	imx_add_pata_imx(&imx51_pata_imx_data)
+3 −0
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ config IMX_HAVE_PLATFORM_IMX_I2C
config IMX_HAVE_PLATFORM_IMX_KEYPAD
	bool

config IMX_HAVE_PLATFORM_PATA_IMX
	bool

config IMX_HAVE_PLATFORM_IMX_SSI
	bool

+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ obj-y += platform-imx-dma.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_FB) += platform-imx-fb.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o
+38 −0
Original line number Diff line number Diff line
/*
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 2 as published by the
 * Free Software Foundation.
 */
#include <mach/hardware.h>
#include <mach/devices-common.h>

#define imx_pata_imx_data_entry_single(soc)				\
	{								\
		.iobase = soc ## _ATA_BASE_ADDR,			\
		.irq = soc ## _MXC_INT_ATA,				\
	}

#ifdef CONFIG_SOC_IMX51
const struct imx_pata_imx_data imx51_pata_imx_data __initconst =
	imx_pata_imx_data_entry_single(MX51);
#endif /* ifdef CONFIG_SOC_IMX51 */

struct platform_device *__init imx_add_pata_imx(
		const struct imx_pata_imx_data *data)
{
	struct resource res[] = {
		{
			.start = data->iobase,
			.end = data->iobase + SZ_16K - 1,
			.flags = IORESOURCE_MEM,
		},
		{
			.start = data->irq,
			.end = data->irq,
			.flags = IORESOURCE_IRQ,
		},
	};
	return imx_add_platform_device("pata_imx", -1,
			res, ARRAY_SIZE(res), NULL, 0);
}
+7 −0
Original line number Diff line number Diff line
@@ -251,6 +251,13 @@ struct platform_device *__init imx_add_mxc_nand(
		const struct imx_mxc_nand_data *data,
		const struct mxc_nand_platform_data *pdata);

struct imx_pata_imx_data {
	resource_size_t iobase;
	resource_size_t irq;
};
struct platform_device *__init imx_add_pata_imx(
		const struct imx_pata_imx_data *data);

struct imx_mxc_pwm_data {
	int id;
	resource_size_t iobase;