mrst_max3110.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef _MRST_MAX3110_H
  2. #define _MRST_MAX3110_H
  3. #define MAX3110_HIGH_CLK 0x1 /* 3.6864 MHZ */
  4. #define MAX3110_LOW_CLK 0x0 /* 1.8432 MHZ */
  5. /* status bits for all 4 MAX3110 operate modes */
  6. #define MAX3110_READ_DATA_AVAILABLE (1 << 15)
  7. #define MAX3110_WRITE_BUF_EMPTY (1 << 14)
  8. #define MAX3110_BREAK (1 << 10)
  9. #define WC_TAG (3 << 14)
  10. #define RC_TAG (1 << 14)
  11. #define WD_TAG (2 << 14)
  12. #define RD_TAG (0 << 14)
  13. /* bits def for write configuration */
  14. #define WC_FIFO_ENABLE_MASK (1 << 13)
  15. #define WC_FIFO_ENABLE (0 << 13)
  16. #define WC_SW_SHDI (1 << 12)
  17. #define WC_IRQ_MASK (0xF << 8)
  18. #define WC_TXE_IRQ_ENABLE (1 << 11) /* TX empty irq */
  19. #define WC_RXA_IRQ_ENABLE (1 << 10) /* RX available irq */
  20. #define WC_PAR_HIGH_IRQ_ENABLE (1 << 9)
  21. #define WC_REC_ACT_IRQ_ENABLE (1 << 8)
  22. #define WC_IRDA_ENABLE (1 << 7)
  23. #define WC_STOPBITS_MASK (1 << 6)
  24. #define WC_2_STOPBITS (1 << 6)
  25. #define WC_1_STOPBITS (0 << 6)
  26. #define WC_PARITY_ENABLE_MASK (1 << 5)
  27. #define WC_PARITY_ENABLE (1 << 5)
  28. #define WC_WORDLEN_MASK (1 << 4)
  29. #define WC_7BIT_WORD (1 << 4)
  30. #define WC_8BIT_WORD (0 << 4)
  31. #define WC_BAUD_DIV_MASK (0xF)
  32. #define WC_BAUD_DR1 (0x0)
  33. #define WC_BAUD_DR2 (0x1)
  34. #define WC_BAUD_DR4 (0x2)
  35. #define WC_BAUD_DR8 (0x3)
  36. #define WC_BAUD_DR16 (0x4)
  37. #define WC_BAUD_DR32 (0x5)
  38. #define WC_BAUD_DR64 (0x6)
  39. #define WC_BAUD_DR128 (0x7)
  40. #define WC_BAUD_DR3 (0x8)
  41. #define WC_BAUD_DR6 (0x9)
  42. #define WC_BAUD_DR12 (0xA)
  43. #define WC_BAUD_DR24 (0xB)
  44. #define WC_BAUD_DR48 (0xC)
  45. #define WC_BAUD_DR96 (0xD)
  46. #define WC_BAUD_DR192 (0xE)
  47. #define WC_BAUD_DR384 (0xF)
  48. #define M3110_RX_FIFO_DEPTH 8
  49. #endif