regs-spi.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * PKUnity Serial Peripheral Interface (SPI) Registers
  4. */
  5. /*
  6. * Control reg. 0 SPI_CR0
  7. */
  8. #define SPI_CR0 (PKUNITY_SPI_BASE + 0x0000)
  9. /*
  10. * Control reg. 1 SPI_CR1
  11. */
  12. #define SPI_CR1 (PKUNITY_SPI_BASE + 0x0004)
  13. /*
  14. * Enable reg SPI_SSIENR
  15. */
  16. #define SPI_SSIENR (PKUNITY_SPI_BASE + 0x0008)
  17. /*
  18. * Status reg SPI_SR
  19. */
  20. #define SPI_SR (PKUNITY_SPI_BASE + 0x0028)
  21. /*
  22. * Interrupt Mask reg SPI_IMR
  23. */
  24. #define SPI_IMR (PKUNITY_SPI_BASE + 0x002C)
  25. /*
  26. * Interrupt Status reg SPI_ISR
  27. */
  28. #define SPI_ISR (PKUNITY_SPI_BASE + 0x0030)
  29. /*
  30. * Enable SPI Controller SPI_SSIENR_EN
  31. */
  32. #define SPI_SSIENR_EN FIELD(1, 1, 0)
  33. /*
  34. * SPI Busy SPI_SR_BUSY
  35. */
  36. #define SPI_SR_BUSY FIELD(1, 1, 0)
  37. /*
  38. * Transmit FIFO Not Full SPI_SR_TFNF
  39. */
  40. #define SPI_SR_TFNF FIELD(1, 1, 1)
  41. /*
  42. * Transmit FIFO Empty SPI_SR_TFE
  43. */
  44. #define SPI_SR_TFE FIELD(1, 1, 2)
  45. /*
  46. * Receive FIFO Not Empty SPI_SR_RFNE
  47. */
  48. #define SPI_SR_RFNE FIELD(1, 1, 3)
  49. /*
  50. * Receive FIFO Full SPI_SR_RFF
  51. */
  52. #define SPI_SR_RFF FIELD(1, 1, 4)
  53. /*
  54. * Trans. FIFO Empty Interrupt Status SPI_ISR_TXEIS
  55. */
  56. #define SPI_ISR_TXEIS FIELD(1, 1, 0)
  57. /*
  58. * Trans. FIFO Overflow Interrupt Status SPI_ISR_TXOIS
  59. */
  60. #define SPI_ISR_TXOIS FIELD(1, 1, 1)
  61. /*
  62. * Receiv. FIFO Underflow Interrupt Status SPI_ISR_RXUIS
  63. */
  64. #define SPI_ISR_RXUIS FIELD(1, 1, 2)
  65. /*
  66. * Receiv. FIFO Overflow Interrupt Status SPI_ISR_RXOIS
  67. */
  68. #define SPI_ISR_RXOIS FIELD(1, 1, 3)
  69. /*
  70. * Receiv. FIFO Full Interrupt Status SPI_ISR_RXFIS
  71. */
  72. #define SPI_ISR_RXFIS FIELD(1, 1, 4)
  73. #define SPI_ISR_MSTIS FIELD(1, 1, 5)
  74. /*
  75. * Trans. FIFO Empty Interrupt Mask SPI_IMR_TXEIM
  76. */
  77. #define SPI_IMR_TXEIM FIELD(1, 1, 0)
  78. /*
  79. * Trans. FIFO Overflow Interrupt Mask SPI_IMR_TXOIM
  80. */
  81. #define SPI_IMR_TXOIM FIELD(1, 1, 1)
  82. /*
  83. * Receiv. FIFO Underflow Interrupt Mask SPI_IMR_RXUIM
  84. */
  85. #define SPI_IMR_RXUIM FIELD(1, 1, 2)
  86. /*
  87. * Receiv. FIFO Overflow Interrupt Mask SPI_IMR_RXOIM
  88. */
  89. #define SPI_IMR_RXOIM FIELD(1, 1, 3)
  90. /*
  91. * Receiv. FIFO Full Interrupt Mask SPI_IMR_RXFIM
  92. */
  93. #define SPI_IMR_RXFIM FIELD(1, 1, 4)
  94. #define SPI_IMR_MSTIM FIELD(1, 1, 5)