GNU Linux-libre 6.9.2-gnu
[releases.git] / include / linux / pata_arasan_cf_data.h
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 */