1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * include/linux/pata_arasan_cf_data.h 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Arasan Compact Flash host controller platform data header file 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2011 ST Microelectronics 7*4882a593Smuzhiyun * Viresh Kumar <vireshk@kernel.org> 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public 10*4882a593Smuzhiyun * License version 2. This program is licensed "as is" without any 11*4882a593Smuzhiyun * warranty of any kind, whether express or implied. 12*4882a593Smuzhiyun */ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #ifndef _PATA_ARASAN_CF_DATA_H 15*4882a593Smuzhiyun #define _PATA_ARASAN_CF_DATA_H 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #include <linux/platform_device.h> 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun struct arasan_cf_pdata { 20*4882a593Smuzhiyun u8 cf_if_clk; 21*4882a593Smuzhiyun #define CF_IF_CLK_100M (0x0) 22*4882a593Smuzhiyun #define CF_IF_CLK_75M (0x1) 23*4882a593Smuzhiyun #define CF_IF_CLK_66M (0x2) 24*4882a593Smuzhiyun #define CF_IF_CLK_50M (0x3) 25*4882a593Smuzhiyun #define CF_IF_CLK_40M (0x4) 26*4882a593Smuzhiyun #define CF_IF_CLK_33M (0x5) 27*4882a593Smuzhiyun #define CF_IF_CLK_25M (0x6) 28*4882a593Smuzhiyun #define CF_IF_CLK_125M (0x7) 29*4882a593Smuzhiyun #define CF_IF_CLK_150M (0x8) 30*4882a593Smuzhiyun #define CF_IF_CLK_166M (0x9) 31*4882a593Smuzhiyun #define CF_IF_CLK_200M (0xA) 32*4882a593Smuzhiyun /* 33*4882a593Smuzhiyun * Platform specific incapabilities of CF controller is handled via 34*4882a593Smuzhiyun * quirks 35*4882a593Smuzhiyun */ 36*4882a593Smuzhiyun u32 quirk; 37*4882a593Smuzhiyun #define CF_BROKEN_PIO (1) 38*4882a593Smuzhiyun #define CF_BROKEN_MWDMA (1 << 1) 39*4882a593Smuzhiyun #define CF_BROKEN_UDMA (1 << 2) 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun static inline void set_arasan_cf_pdata(struct platform_device * pdev,struct arasan_cf_pdata * data)43*4882a593Smuzhiyunset_arasan_cf_pdata(struct platform_device *pdev, struct arasan_cf_pdata *data) 44*4882a593Smuzhiyun { 45*4882a593Smuzhiyun pdev->dev.platform_data = data; 46*4882a593Smuzhiyun } 47*4882a593Smuzhiyun #endif /* _PATA_ARASAN_CF_DATA_H */ 48