aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pata_arasan_cf_data.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2011-02-22 05:16:07 -0500
committerJeff Garzik <jgarzik@pobox.com>2011-03-14 02:52:46 -0400
commita480167b23ef9b35ec0299bb3e1b11b4ed6b3508 (patch)
treea445375d94ce680339b88365e0b2d1c3945492d9 /include/linux/pata_arasan_cf_data.h
parent64b97594251bb909d74d64012a2b9e5cc32bb11d (diff)
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: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include/linux/pata_arasan_cf_data.h')
-rw-r--r--include/linux/pata_arasan_cf_data.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/linux/pata_arasan_cf_data.h b/include/linux/pata_arasan_cf_data.h
new file mode 100644
index 000000000000..d979fe688796
--- /dev/null
+++ b/include/linux/pata_arasan_cf_data.h
@@ -0,0 +1,47 @@
1/*
2 * include/linux/pata_arasan_cf_data.h
3 *
4 * Arasan Compact Flash host controller platform data header file
5 *
6 * Copyright (C) 2011 ST Microelectronics
7 * Viresh Kumar <viresh.kumar@st.com>
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */
13
14#ifndef _PATA_ARASAN_CF_DATA_H
15#define _PATA_ARASAN_CF_DATA_H
16
17#include <linux/platform_device.h>
18
19struct arasan_cf_pdata {
20 u8 cf_if_clk;
21 #define CF_IF_CLK_100M (0x0)
22 #define CF_IF_CLK_75M (0x1)
23 #define CF_IF_CLK_66M (0x2)
24 #define CF_IF_CLK_50M (0x3)
25 #define CF_IF_CLK_40M (0x4)
26 #define CF_IF_CLK_33M (0x5)
27 #define CF_IF_CLK_25M (0x6)
28 #define CF_IF_CLK_125M (0x7)
29 #define CF_IF_CLK_150M (0x8)
30 #define CF_IF_CLK_166M (0x9)
31 #define CF_IF_CLK_200M (0xA)
32 /*
33 * Platform specific incapabilities of CF controller is handled via
34 * quirks
35 */
36 u32 quirk;
37 #define CF_BROKEN_PIO (1)
38 #define CF_BROKEN_MWDMA (1 << 1)
39 #define CF_BROKEN_UDMA (1 << 2)
40};
41
42static inline void
43set_arasan_cf_pdata(struct platform_device *pdev, struct arasan_cf_pdata *data)
44{
45 pdev->dev.platform_data = data;
46}
47#endif /* _PATA_ARASAN_CF_DATA_H */