pata_arasan_cf_data.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. #ifndef _PATA_ARASAN_CF_DATA_H
  14. #define _PATA_ARASAN_CF_DATA_H
  15. #include <linux/platform_device.h>
  16. struct arasan_cf_pdata {
  17. u8 cf_if_clk;
  18. #define CF_IF_CLK_100M (0x0)
  19. #define CF_IF_CLK_75M (0x1)
  20. #define CF_IF_CLK_66M (0x2)
  21. #define CF_IF_CLK_50M (0x3)
  22. #define CF_IF_CLK_40M (0x4)
  23. #define CF_IF_CLK_33M (0x5)
  24. #define CF_IF_CLK_25M (0x6)
  25. #define CF_IF_CLK_125M (0x7)
  26. #define CF_IF_CLK_150M (0x8)
  27. #define CF_IF_CLK_166M (0x9)
  28. #define CF_IF_CLK_200M (0xA)
  29. /*
  30. * Platform specific incapabilities of CF controller is handled via
  31. * quirks
  32. */
  33. u32 quirk;
  34. #define CF_BROKEN_PIO (1)
  35. #define CF_BROKEN_MWDMA (1 << 1)
  36. #define CF_BROKEN_UDMA (1 << 2)
  37. };
  38. static inline void
  39. set_arasan_cf_pdata(struct platform_device *pdev, struct arasan_cf_pdata *data)
  40. {
  41. pdev->dev.platform_data = data;
  42. }
  43. #endif /* _PATA_ARASAN_CF_DATA_H */