unimac.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. #ifndef __UNIMAC_H
  3. #define __UNIMAC_H
  4. #define UMAC_HD_BKP_CTRL 0x004
  5. #define HD_FC_EN (1 << 0)
  6. #define HD_FC_BKOFF_OK (1 << 1)
  7. #define IPG_CONFIG_RX_SHIFT 2
  8. #define IPG_CONFIG_RX_MASK 0x1F
  9. #define UMAC_CMD 0x008
  10. #define CMD_TX_EN (1 << 0)
  11. #define CMD_RX_EN (1 << 1)
  12. #define CMD_SPEED_10 0
  13. #define CMD_SPEED_100 1
  14. #define CMD_SPEED_1000 2
  15. #define CMD_SPEED_2500 3
  16. #define CMD_SPEED_SHIFT 2
  17. #define CMD_SPEED_MASK 3
  18. #define CMD_PROMISC (1 << 4)
  19. #define CMD_PAD_EN (1 << 5)
  20. #define CMD_CRC_FWD (1 << 6)
  21. #define CMD_PAUSE_FWD (1 << 7)
  22. #define CMD_RX_PAUSE_IGNORE (1 << 8)
  23. #define CMD_TX_ADDR_INS (1 << 9)
  24. #define CMD_HD_EN (1 << 10)
  25. #define CMD_SW_RESET_OLD (1 << 11)
  26. #define CMD_SW_RESET (1 << 13)
  27. #define CMD_LCL_LOOP_EN (1 << 15)
  28. #define CMD_AUTO_CONFIG (1 << 22)
  29. #define CMD_CNTL_FRM_EN (1 << 23)
  30. #define CMD_NO_LEN_CHK (1 << 24)
  31. #define CMD_RMT_LOOP_EN (1 << 25)
  32. #define CMD_RX_ERR_DISC (1 << 26)
  33. #define CMD_PRBL_EN (1 << 27)
  34. #define CMD_TX_PAUSE_IGNORE (1 << 28)
  35. #define CMD_TX_RX_EN (1 << 29)
  36. #define CMD_RUNT_FILTER_DIS (1 << 30)
  37. #define UMAC_MAC0 0x00c
  38. #define UMAC_MAC1 0x010
  39. #define UMAC_MAX_FRAME_LEN 0x014
  40. #define UMAC_PAUSE_QUANTA 0x018
  41. #define UMAC_MODE 0x044
  42. #define MODE_LINK_STATUS (1 << 5)
  43. #define UMAC_FRM_TAG0 0x048 /* outer tag */
  44. #define UMAC_FRM_TAG1 0x04c /* inner tag */
  45. #define UMAC_TX_IPG_LEN 0x05c
  46. #define UMAC_EEE_CTRL 0x064
  47. #define EN_LPI_RX_PAUSE (1 << 0)
  48. #define EN_LPI_TX_PFC (1 << 1)
  49. #define EN_LPI_TX_PAUSE (1 << 2)
  50. #define EEE_EN (1 << 3)
  51. #define RX_FIFO_CHECK (1 << 4)
  52. #define EEE_TX_CLK_DIS (1 << 5)
  53. #define DIS_EEE_10M (1 << 6)
  54. #define LP_IDLE_PREDICTION_MODE (1 << 7)
  55. #define UMAC_EEE_LPI_TIMER 0x068
  56. #define UMAC_EEE_WAKE_TIMER 0x06C
  57. #define UMAC_EEE_REF_COUNT 0x070
  58. #define EEE_REFERENCE_COUNT_MASK 0xffff
  59. #define UMAC_RX_IPG_INV 0x078
  60. #define UMAC_MACSEC_PROG_TX_CRC 0x310
  61. #define UMAC_MACSEC_CTRL 0x314
  62. #define UMAC_PAUSE_CTRL 0x330
  63. #define UMAC_TX_FLUSH 0x334
  64. #define UMAC_RX_FIFO_STATUS 0x338
  65. #define UMAC_TX_FIFO_STATUS 0x33c
  66. #endif