Commit a480167b authored by Viresh Kumar's avatar Viresh Kumar Committed by Jeff Garzik

pata_arasan_cf: Adding support for arasan compact flash host controller

The Arasan CompactFlash Device Controller has three basic modes of
operation: PC card ATA using I/O mode, PC card ATA using memory mode, PC card
ATA using true IDE modes.

Currently driver supports only True IDE mode.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 64b97594
......@@ -557,6 +557,13 @@ S: Maintained
F: drivers/net/appletalk/
F: net/appletalk/
ARASAN COMPACT FLASH PATA CONTROLLER
M: Viresh Kumar <viresh.kumar@st.com>
L: linux-ide@vger.kernel.org
S: Maintained
F: include/linux/pata_arasan_cf_data.h
F: drivers/ata/pata_arasan_cf.c
ARC FRAMEBUFFER DRIVER
M: Jaya Kumar <jayalk@intworks.biz>
S: Maintained
......
......@@ -311,6 +311,12 @@ config PATA_AMD
If unsure, say N.
config PATA_ARASAN_CF
tristate "ARASAN CompactFlash PATA Controller Support"
select DMA_ENGINE
help
Say Y here to support the ARASAN CompactFlash PATA controller
config PATA_ARTOP
tristate "ARTOP 6210/6260 PATA support"
depends on PCI
......
......@@ -12,6 +12,7 @@ obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o
# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
obj-$(CONFIG_PATA_ARASAN_CF) += pata_arasan_cf.o
obj-$(CONFIG_PATA_OCTEON_CF) += pata_octeon_cf.o
obj-$(CONFIG_SATA_QSTOR) += sata_qstor.o
obj-$(CONFIG_SATA_SX4) += sata_sx4.o
......
This diff is collapsed.
/*
* include/linux/pata_arasan_cf_data.h
*
* Arasan Compact Flash host controller platform data header file
*
* Copyright (C) 2011 ST Microelectronics
* Viresh Kumar <viresh.kumar@st.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifndef _PATA_ARASAN_CF_DATA_H
#define _PATA_ARASAN_CF_DATA_H
#include <linux/platform_device.h>
struct arasan_cf_pdata {
u8 cf_if_clk;
#define CF_IF_CLK_100M (0x0)
#define CF_IF_CLK_75M (0x1)
#define CF_IF_CLK_66M (0x2)
#define CF_IF_CLK_50M (0x3)
#define CF_IF_CLK_40M (0x4)
#define CF_IF_CLK_33M (0x5)
#define CF_IF_CLK_25M (0x6)
#define CF_IF_CLK_125M (0x7)
#define CF_IF_CLK_150M (0x8)
#define CF_IF_CLK_166M (0x9)
#define CF_IF_CLK_200M (0xA)
/*
* Platform specific incapabilities of CF controller is handled via
* quirks
*/
u32 quirk;
#define CF_BROKEN_PIO (1)
#define CF_BROKEN_MWDMA (1 << 1)
#define CF_BROKEN_UDMA (1 << 2)
};
static inline void
set_arasan_cf_pdata(struct platform_device *pdev, struct arasan_cf_pdata *data)
{
pdev->dev.platform_data = data;
}
#endif /* _PATA_ARASAN_CF_DATA_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment