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 <vireshk@kernel.org> |
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 | |
19 | struct 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 | |
42 | static inline void |
43 | set_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 */ |
48 | |