/arch/mips/include/asm/sibyte/sb1250_syncser.h

http://github.com/mirrors/linux · C Header · 133 lines · 71 code · 27 blank · 35 comment · 0 complexity · 2344f6a1bd62cb2140925c92226281ab MD5 · raw file

  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /* *********************************************************************
  3. * SB1250 Board Support Package
  4. *
  5. * Synchronous Serial Constants File: sb1250_syncser.h
  6. *
  7. * This module contains constants and macros useful for
  8. * manipulating the SB1250's Synchronous Serial
  9. *
  10. * SB1250 specification level: User's manual 1/02/02
  11. *
  12. *********************************************************************
  13. *
  14. * Copyright 2000,2001,2002,2003
  15. * Broadcom Corporation. All rights reserved.
  16. *
  17. ********************************************************************* */
  18. #ifndef _SB1250_SYNCSER_H
  19. #define _SB1250_SYNCSER_H
  20. #include <asm/sibyte/sb1250_defs.h>
  21. /*
  22. * Serial Mode Configuration Register
  23. */
  24. #define M_SYNCSER_CRC_MODE _SB_MAKEMASK1(0)
  25. #define M_SYNCSER_MSB_FIRST _SB_MAKEMASK1(1)
  26. #define S_SYNCSER_FLAG_NUM 2
  27. #define M_SYNCSER_FLAG_NUM _SB_MAKEMASK(4, S_SYNCSER_FLAG_NUM)
  28. #define V_SYNCSER_FLAG_NUM _SB_MAKEVALUE(x, S_SYNCSER_FLAG_NUM)
  29. #define M_SYNCSER_FLAG_EN _SB_MAKEMASK1(6)
  30. #define M_SYNCSER_HDLC_EN _SB_MAKEMASK1(7)
  31. #define M_SYNCSER_LOOP_MODE _SB_MAKEMASK1(8)
  32. #define M_SYNCSER_LOOPBACK _SB_MAKEMASK1(9)
  33. /*
  34. * Serial Clock Source and Line Interface Mode Register
  35. */
  36. #define M_SYNCSER_RXCLK_INV _SB_MAKEMASK1(0)
  37. #define M_SYNCSER_RXCLK_EXT _SB_MAKEMASK1(1)
  38. #define S_SYNCSER_RXSYNC_DLY 2
  39. #define M_SYNCSER_RXSYNC_DLY _SB_MAKEMASK(2, S_SYNCSER_RXSYNC_DLY)
  40. #define V_SYNCSER_RXSYNC_DLY(x) _SB_MAKEVALUE(x, S_SYNCSER_RXSYNC_DLY)
  41. #define M_SYNCSER_RXSYNC_LOW _SB_MAKEMASK1(4)
  42. #define M_SYNCSER_RXSTRB_LOW _SB_MAKEMASK1(5)
  43. #define M_SYNCSER_RXSYNC_EDGE _SB_MAKEMASK1(6)
  44. #define M_SYNCSER_RXSYNC_INT _SB_MAKEMASK1(7)
  45. #define M_SYNCSER_TXCLK_INV _SB_MAKEMASK1(8)
  46. #define M_SYNCSER_TXCLK_EXT _SB_MAKEMASK1(9)
  47. #define S_SYNCSER_TXSYNC_DLY 10
  48. #define M_SYNCSER_TXSYNC_DLY _SB_MAKEMASK(2, S_SYNCSER_TXSYNC_DLY)
  49. #define V_SYNCSER_TXSYNC_DLY(x) _SB_MAKEVALUE(x, S_SYNCSER_TXSYNC_DLY)
  50. #define M_SYNCSER_TXSYNC_LOW _SB_MAKEMASK1(12)
  51. #define M_SYNCSER_TXSTRB_LOW _SB_MAKEMASK1(13)
  52. #define M_SYNCSER_TXSYNC_EDGE _SB_MAKEMASK1(14)
  53. #define M_SYNCSER_TXSYNC_INT _SB_MAKEMASK1(15)
  54. /*
  55. * Serial Command Register
  56. */
  57. #define M_SYNCSER_CMD_RX_EN _SB_MAKEMASK1(0)
  58. #define M_SYNCSER_CMD_TX_EN _SB_MAKEMASK1(1)
  59. #define M_SYNCSER_CMD_RX_RESET _SB_MAKEMASK1(2)
  60. #define M_SYNCSER_CMD_TX_RESET _SB_MAKEMASK1(3)
  61. #define M_SYNCSER_CMD_TX_PAUSE _SB_MAKEMASK1(5)
  62. /*
  63. * Serial DMA Enable Register
  64. */
  65. #define M_SYNCSER_DMA_RX_EN _SB_MAKEMASK1(0)
  66. #define M_SYNCSER_DMA_TX_EN _SB_MAKEMASK1(4)
  67. /*
  68. * Serial Status Register
  69. */
  70. #define M_SYNCSER_RX_CRCERR _SB_MAKEMASK1(0)
  71. #define M_SYNCSER_RX_ABORT _SB_MAKEMASK1(1)
  72. #define M_SYNCSER_RX_OCTET _SB_MAKEMASK1(2)
  73. #define M_SYNCSER_RX_LONGFRM _SB_MAKEMASK1(3)
  74. #define M_SYNCSER_RX_SHORTFRM _SB_MAKEMASK1(4)
  75. #define M_SYNCSER_RX_OVERRUN _SB_MAKEMASK1(5)
  76. #define M_SYNCSER_RX_SYNC_ERR _SB_MAKEMASK1(6)
  77. #define M_SYNCSER_TX_CRCERR _SB_MAKEMASK1(8)
  78. #define M_SYNCSER_TX_UNDERRUN _SB_MAKEMASK1(9)
  79. #define M_SYNCSER_TX_SYNC_ERR _SB_MAKEMASK1(10)
  80. #define M_SYNCSER_TX_PAUSE_COMPLETE _SB_MAKEMASK1(11)
  81. #define M_SYNCSER_RX_EOP_COUNT _SB_MAKEMASK1(16)
  82. #define M_SYNCSER_RX_EOP_TIMER _SB_MAKEMASK1(17)
  83. #define M_SYNCSER_RX_EOP_SEEN _SB_MAKEMASK1(18)
  84. #define M_SYNCSER_RX_HWM _SB_MAKEMASK1(19)
  85. #define M_SYNCSER_RX_LWM _SB_MAKEMASK1(20)
  86. #define M_SYNCSER_RX_DSCR _SB_MAKEMASK1(21)
  87. #define M_SYNCSER_RX_DERR _SB_MAKEMASK1(22)
  88. #define M_SYNCSER_TX_EOP_COUNT _SB_MAKEMASK1(24)
  89. #define M_SYNCSER_TX_EOP_TIMER _SB_MAKEMASK1(25)
  90. #define M_SYNCSER_TX_EOP_SEEN _SB_MAKEMASK1(26)
  91. #define M_SYNCSER_TX_HWM _SB_MAKEMASK1(27)
  92. #define M_SYNCSER_TX_LWM _SB_MAKEMASK1(28)
  93. #define M_SYNCSER_TX_DSCR _SB_MAKEMASK1(29)
  94. #define M_SYNCSER_TX_DERR _SB_MAKEMASK1(30)
  95. #define M_SYNCSER_TX_DZERO _SB_MAKEMASK1(31)
  96. /*
  97. * Sequencer Table Entry format
  98. */
  99. #define M_SYNCSER_SEQ_LAST _SB_MAKEMASK1(0)
  100. #define M_SYNCSER_SEQ_BYTE _SB_MAKEMASK1(1)
  101. #define S_SYNCSER_SEQ_COUNT 2
  102. #define M_SYNCSER_SEQ_COUNT _SB_MAKEMASK(4, S_SYNCSER_SEQ_COUNT)
  103. #define V_SYNCSER_SEQ_COUNT(x) _SB_MAKEVALUE(x, S_SYNCSER_SEQ_COUNT)
  104. #define M_SYNCSER_SEQ_ENABLE _SB_MAKEMASK1(6)
  105. #define M_SYNCSER_SEQ_STROBE _SB_MAKEMASK1(7)
  106. #endif