linux/drivers/ata/pata_imx.c

/*
 * Freescale iMX PATA driver
 *
 * Copyright (C) 2011 Arnaud Patard <[email protected]>
 *
 * Based on pata_platform - Copyright (C) 2006 - 2007  Paul Mundt
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * TODO:
 * - dmaengine support
 */

#include <linux/ata.h>
#include <linux/clk.h>
#include <linux/libata.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>

#define DRV_NAME

#define PATA_IMX_ATA_TIME_OFF
#define PATA_IMX_ATA_TIME_ON
#define PATA_IMX_ATA_TIME_1
#define PATA_IMX_ATA_TIME_2W
#define PATA_IMX_ATA_TIME_2R
#define PATA_IMX_ATA_TIME_AX
#define PATA_IMX_ATA_TIME_PIO_RDX
#define PATA_IMX_ATA_TIME_4
#define PATA_IMX_ATA_TIME_9

#define PATA_IMX_ATA_CONTROL
#define PATA_IMX_ATA_CTRL_FIFO_RST_B
#define PATA_IMX_ATA_CTRL_ATA_RST_B
#define PATA_IMX_ATA_CTRL_IORDY_EN
#define PATA_IMX_ATA_INT_EN
#define PATA_IMX_ATA_INTR_ATA_INTRQ2
#define PATA_IMX_DRIVE_DATA
#define PATA_IMX_DRIVE_CONTROL

static u32 pio_t4[] =;
static u32 pio_t9[] =;
static u32 pio_tA[] =;

struct pata_imx_priv {};

static void pata_imx_set_timing(struct ata_device *adev,
				struct pata_imx_priv *priv)
{}

static void pata_imx_set_piomode(struct ata_port *ap, struct ata_device *adev)
{}

static const struct scsi_host_template pata_imx_sht =;

static struct ata_port_operations pata_imx_port_ops =;

static void pata_imx_setup_port(struct ata_ioports *ioaddr)
{}

static int pata_imx_probe(struct platform_device *pdev)
{}

static void pata_imx_remove(struct platform_device *pdev)
{}

#ifdef CONFIG_PM_SLEEP
static int pata_imx_suspend(struct device *dev)
{}

static int pata_imx_resume(struct device *dev)
{}
#endif

static SIMPLE_DEV_PM_OPS(pata_imx_pm_ops, pata_imx_suspend, pata_imx_resume);

static const struct of_device_id imx_pata_dt_ids[] =;
MODULE_DEVICE_TABLE(of, imx_pata_dt_ids);

static struct platform_driver pata_imx_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_ALIAS();