lan743x_ethtool.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /* Copyright (C) 2018 Microchip Technology Inc. */
  3. #ifndef _LAN743X_ETHTOOL_H
  4. #define _LAN743X_ETHTOOL_H
  5. #include "linux/ethtool.h"
  6. #define LAN743X_ETH_REG_VERSION 1
  7. enum {
  8. ETH_PRIV_FLAGS,
  9. ETH_ID_REV,
  10. ETH_FPGA_REV,
  11. ETH_STRAP_READ,
  12. ETH_INT_STS,
  13. ETH_HW_CFG,
  14. ETH_PMT_CTL,
  15. ETH_E2P_CMD,
  16. ETH_E2P_DATA,
  17. ETH_MAC_CR,
  18. ETH_MAC_RX,
  19. ETH_MAC_TX,
  20. ETH_FLOW,
  21. ETH_MII_ACC,
  22. ETH_MII_DATA,
  23. ETH_EEE_TX_LPI_REQ_DLY,
  24. ETH_WUCSR,
  25. ETH_WK_SRC,
  26. /* Add new registers above */
  27. MAX_LAN743X_ETH_COMMON_REGS
  28. };
  29. enum {
  30. /* SGMII Register */
  31. ETH_SR_VSMMD_DEV_ID1,
  32. ETH_SR_VSMMD_DEV_ID2,
  33. ETH_SR_VSMMD_PCS_ID1,
  34. ETH_SR_VSMMD_PCS_ID2,
  35. ETH_SR_VSMMD_STS,
  36. ETH_SR_VSMMD_CTRL,
  37. ETH_SR_MII_CTRL,
  38. ETH_SR_MII_STS,
  39. ETH_SR_MII_DEV_ID1,
  40. ETH_SR_MII_DEV_ID2,
  41. ETH_SR_MII_AN_ADV,
  42. ETH_SR_MII_LP_BABL,
  43. ETH_SR_MII_EXPN,
  44. ETH_SR_MII_EXT_STS,
  45. ETH_SR_MII_TIME_SYNC_ABL,
  46. ETH_SR_MII_TIME_SYNC_TX_MAX_DLY_LWR,
  47. ETH_SR_MII_TIME_SYNC_TX_MAX_DLY_UPR,
  48. ETH_SR_MII_TIME_SYNC_TX_MIN_DLY_LWR,
  49. ETH_SR_MII_TIME_SYNC_TX_MIN_DLY_UPR,
  50. ETH_SR_MII_TIME_SYNC_RX_MAX_DLY_LWR,
  51. ETH_SR_MII_TIME_SYNC_RX_MAX_DLY_UPR,
  52. ETH_SR_MII_TIME_SYNC_RX_MIN_DLY_LWR,
  53. ETH_SR_MII_TIME_SYNC_RX_MIN_DLY_UPR,
  54. ETH_VR_MII_DIG_CTRL1,
  55. ETH_VR_MII_AN_CTRL,
  56. ETH_VR_MII_AN_INTR_STS,
  57. ETH_VR_MII_TC,
  58. ETH_VR_MII_DBG_CTRL,
  59. ETH_VR_MII_EEE_MCTRL0,
  60. ETH_VR_MII_EEE_TXTIMER,
  61. ETH_VR_MII_EEE_RXTIMER,
  62. ETH_VR_MII_LINK_TIMER_CTRL,
  63. ETH_VR_MII_EEE_MCTRL1,
  64. ETH_VR_MII_DIG_STS,
  65. ETH_VR_MII_ICG_ERRCNT1,
  66. ETH_VR_MII_GPIO,
  67. ETH_VR_MII_EEE_LPI_STATUS,
  68. ETH_VR_MII_EEE_WKERR,
  69. ETH_VR_MII_MISC_STS,
  70. ETH_VR_MII_RX_LSTS,
  71. ETH_VR_MII_GEN2_GEN4_TX_BSTCTRL0,
  72. ETH_VR_MII_GEN2_GEN4_TX_LVLCTRL0,
  73. ETH_VR_MII_GEN2_GEN4_TXGENCTRL0,
  74. ETH_VR_MII_GEN2_GEN4_TXGENCTRL1,
  75. ETH_VR_MII_GEN4_TXGENCTRL2,
  76. ETH_VR_MII_GEN2_GEN4_TX_STS,
  77. ETH_VR_MII_GEN2_GEN4_RXGENCTRL0,
  78. ETH_VR_MII_GEN2_GEN4_RXGENCTRL1,
  79. ETH_VR_MII_GEN4_RXEQ_CTRL,
  80. ETH_VR_MII_GEN4_RXLOS_CTRL0,
  81. ETH_VR_MII_GEN2_GEN4_MPLL_CTRL0,
  82. ETH_VR_MII_GEN2_GEN4_MPLL_CTRL1,
  83. ETH_VR_MII_GEN2_GEN4_MPLL_STS,
  84. ETH_VR_MII_GEN2_GEN4_LVL_CTRL,
  85. ETH_VR_MII_GEN4_MISC_CTRL2,
  86. ETH_VR_MII_GEN2_GEN4_MISC_CTRL0,
  87. ETH_VR_MII_GEN2_GEN4_MISC_CTRL1,
  88. ETH_VR_MII_SNPS_CR_CTRL,
  89. ETH_VR_MII_SNPS_CR_ADDR,
  90. ETH_VR_MII_SNPS_CR_DATA,
  91. ETH_VR_MII_DIG_CTRL2,
  92. ETH_VR_MII_DIG_ERRCNT,
  93. /* Add new registers above */
  94. MAX_LAN743X_ETH_SGMII_REGS
  95. };
  96. extern const struct ethtool_ops lan743x_ethtool_ops;
  97. #endif /* _LAN743X_ETHTOOL_H */