mt_spi.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef __MT_SPI_H__
  2. #define __MT_SPI_H__
  3. #include <linux/types.h>
  4. #include <linux/io.h>
  5. /*******************************************************************************
  6. * define struct for spi driver
  7. ********************************************************************************/
  8. enum spi_sample_sel {
  9. POSEDGE,
  10. NEGEDGE
  11. };
  12. enum spi_cs_pol {
  13. ACTIVE_LOW,
  14. ACTIVE_HIGH
  15. };
  16. enum spi_cpol {
  17. SPI_CPOL_0,
  18. SPI_CPOL_1
  19. };
  20. enum spi_cpha {
  21. SPI_CPHA_0,
  22. SPI_CPHA_1
  23. };
  24. enum spi_mlsb {
  25. SPI_LSB,
  26. SPI_MSB
  27. };
  28. enum spi_endian {
  29. SPI_LENDIAN,
  30. SPI_BENDIAN
  31. };
  32. enum spi_transfer_mode {
  33. FIFO_TRANSFER,
  34. DMA_TRANSFER,
  35. OTHER1,
  36. OTHER2,
  37. };
  38. enum spi_pause_mode {
  39. PAUSE_MODE_DISABLE,
  40. PAUSE_MODE_ENABLE
  41. };
  42. enum spi_finish_intr {
  43. FINISH_INTR_DIS,
  44. FINISH_INTR_EN,
  45. };
  46. enum spi_deassert_mode {
  47. DEASSERT_DISABLE,
  48. DEASSERT_ENABLE
  49. };
  50. enum spi_ulthigh {
  51. ULTRA_HIGH_DISABLE,
  52. ULTRA_HIGH_ENABLE
  53. };
  54. enum spi_tckdly {
  55. TICK_DLY0,
  56. TICK_DLY1,
  57. TICK_DLY2,
  58. TICK_DLY3
  59. };
  60. struct mt_chip_conf {
  61. u32 setuptime;
  62. u32 holdtime;
  63. u32 high_time;
  64. u32 low_time;
  65. u32 cs_idletime;
  66. u32 ulthgh_thrsh;
  67. enum spi_sample_sel sample_sel;
  68. enum spi_cs_pol cs_pol;
  69. enum spi_cpol cpol;
  70. enum spi_cpha cpha;
  71. enum spi_mlsb tx_mlsb;
  72. enum spi_mlsb rx_mlsb;
  73. enum spi_endian tx_endian;
  74. enum spi_endian rx_endian;
  75. enum spi_transfer_mode com_mod;
  76. enum spi_pause_mode pause;
  77. enum spi_finish_intr finish_intr;
  78. enum spi_deassert_mode deassert;
  79. enum spi_ulthigh ulthigh;
  80. enum spi_tckdly tckdly;
  81. };
  82. #endif