spi.h 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * SPI Masks
  3. */
  4. #ifndef __BFIN_PERIPHERAL_SPI__
  5. #define __BFIN_PERIPHERAL_SPI__
  6. /* SPI_CTL Masks */
  7. #define TIMOD 0x0003 /* Transfer Initiate Mode */
  8. #define RDBR_CORE 0x0000 /* RDBR Read Initiates, IRQ When RDBR Full */
  9. #define TDBR_CORE 0x0001 /* TDBR Write Initiates, IRQ When TDBR Empty */
  10. #define RDBR_DMA 0x0002 /* DMA Read, DMA Until FIFO Empty */
  11. #define TDBR_DMA 0x0003 /* DMA Write, DMA Until FIFO Full */
  12. #define SZ 0x0004 /* Send Zero (When TDBR Empty, Send Zero/Last*) */
  13. #define GM 0x0008 /* Get More (When RDBR Full, Overwrite/Discard*) */
  14. #define PSSE 0x0010 /* Slave-Select Input Enable */
  15. #define EMISO 0x0020 /* Enable MISO As Output */
  16. #define SIZE 0x0100 /* Size of Words (16/8* Bits) */
  17. #define LSBF 0x0200 /* LSB First */
  18. #define CPHA 0x0400 /* Clock Phase */
  19. #define CPOL 0x0800 /* Clock Polarity */
  20. #define MSTR 0x1000 /* Master/Slave* */
  21. #define WOM 0x2000 /* Write Open Drain Master */
  22. #define SPE 0x4000 /* SPI Enable */
  23. /* SPI_FLG Masks */
  24. #define FLS1 0x0002 /* Enables (=1) SPI_FLOUT1 as flag output for SPI Slave-select */
  25. #define FLS2 0x0004 /* Enables (=1) SPI_FLOUT2 as flag output for SPI Slave-select */
  26. #define FLS3 0x0008 /* Enables (=1) SPI_FLOUT3 as flag output for SPI Slave-select */
  27. #define FLS4 0x0010 /* Enables (=1) SPI_FLOUT4 as flag output for SPI Slave-select */
  28. #define FLS5 0x0020 /* Enables (=1) SPI_FLOUT5 as flag output for SPI Slave-select */
  29. #define FLS6 0x0040 /* Enables (=1) SPI_FLOUT6 as flag output for SPI Slave-select */
  30. #define FLS7 0x0080 /* Enables (=1) SPI_FLOUT7 as flag output for SPI Slave-select */
  31. #define FLG1 0x0200 /* Activates (=0) SPI_FLOUT1 as flag output for SPI Slave-select */
  32. #define FLG2 0x0400 /* Activates (=0) SPI_FLOUT2 as flag output for SPI Slave-select */
  33. #define FLG3 0x0800 /* Activates (=0) SPI_FLOUT3 as flag output for SPI Slave-select */
  34. #define FLG4 0x1000 /* Activates (=0) SPI_FLOUT4 as flag output for SPI Slave-select */
  35. #define FLG5 0x2000 /* Activates (=0) SPI_FLOUT5 as flag output for SPI Slave-select */
  36. #define FLG6 0x4000 /* Activates (=0) SPI_FLOUT6 as flag output for SPI Slave-select */
  37. #define FLG7 0x8000 /* Activates (=0) SPI_FLOUT7 as flag output for SPI Slave-select */
  38. /* SPI_FLG Bit Positions */
  39. #define FLS1_P 0x0001 /* Enables (=1) SPI_FLOUT1 as flag output for SPI Slave-select */
  40. #define FLS2_P 0x0002 /* Enables (=1) SPI_FLOUT2 as flag output for SPI Slave-select */
  41. #define FLS3_P 0x0003 /* Enables (=1) SPI_FLOUT3 as flag output for SPI Slave-select */
  42. #define FLS4_P 0x0004 /* Enables (=1) SPI_FLOUT4 as flag output for SPI Slave-select */
  43. #define FLS5_P 0x0005 /* Enables (=1) SPI_FLOUT5 as flag output for SPI Slave-select */
  44. #define FLS6_P 0x0006 /* Enables (=1) SPI_FLOUT6 as flag output for SPI Slave-select */
  45. #define FLS7_P 0x0007 /* Enables (=1) SPI_FLOUT7 as flag output for SPI Slave-select */
  46. #define FLG1_P 0x0009 /* Activates (=0) SPI_FLOUT1 as flag output for SPI Slave-select */
  47. #define FLG2_P 0x000A /* Activates (=0) SPI_FLOUT2 as flag output for SPI Slave-select */
  48. #define FLG3_P 0x000B /* Activates (=0) SPI_FLOUT3 as flag output for SPI Slave-select */
  49. #define FLG4_P 0x000C /* Activates (=0) SPI_FLOUT4 as flag output for SPI Slave-select */
  50. #define FLG5_P 0x000D /* Activates (=0) SPI_FLOUT5 as flag output for SPI Slave-select */
  51. #define FLG6_P 0x000E /* Activates (=0) SPI_FLOUT6 as flag output for SPI Slave-select */
  52. #define FLG7_P 0x000F /* Activates (=0) SPI_FLOUT7 as flag output for SPI Slave-select */
  53. /* SPI_STAT Masks */
  54. #define SPIF 0x0001 /* SPI Finished (Single-Word Transfer Complete) */
  55. #define MODF 0x0002 /* Mode Fault Error (Another Device Tried To Become Master) */
  56. #define TXE 0x0004 /* Transmission Error (Data Sent With No New Data In TDBR) */
  57. #define TXS 0x0008 /* SPI_TDBR Data Buffer Status (Full/Empty*) */
  58. #define RBSY 0x0010 /* Receive Error (Data Received With RDBR Full) */
  59. #define RXS 0x0020 /* SPI_RDBR Data Buffer Status (Full/Empty*) */
  60. #define TXCOL 0x0040 /* Transmit Collision Error (Corrupt Data May Have Been Sent) */
  61. #endif