otulip.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* mostly stolen from FreeBSD if_de.c, if_devar.h */
  2. #define TULIP_CSR_READ(csr) (membase[csr*2])
  3. #define CSR_READ(csr) (membase[csr*2])
  4. #define TULIP_CSR_WRITE(csr, val) (membase[csr*2] = val)
  5. #define CSR_WRITE(csr, val) (membase[csr*2] = val)
  6. #define csr_0 0
  7. #define csr_1 1
  8. #define csr_2 2
  9. #define csr_3 3
  10. #define csr_4 4
  11. #define csr_5 5
  12. #define csr_6 6
  13. #define csr_7 7
  14. #define csr_8 8
  15. #define csr_9 9
  16. #define csr_10 10
  17. #define csr_11 11
  18. #define csr_12 12
  19. #define csr_13 13
  20. #define csr_14 14
  21. #define csr_15 15
  22. #define csr_busmode csr_0
  23. #define csr_txpoll csr_1
  24. #define csr_rxpoll csr_2
  25. #define csr_rxlist csr_3
  26. #define csr_txlist csr_4
  27. #define csr_status csr_5
  28. #define csr_command csr_6
  29. #define csr_intr csr_7
  30. #define csr_missed_frames csr_8
  31. #define csr_enetrom csr_9 /* 21040 */
  32. #define csr_reserved csr_10 /* 21040 */
  33. #define csr_full_duplex csr_11 /* 21040 */
  34. #define csr_bootrom csr_10 /* 21041/21140A/?? */
  35. #define csr_gp csr_12 /* 21140* */
  36. #define csr_watchdog csr_15 /* 21140* */
  37. #define csr_gp_timer csr_11 /* 21041/21140* */
  38. #define csr_srom_mii csr_9 /* 21041/21140* */
  39. #define csr_sia_status csr_12 /* 2104x */
  40. #define csr_sia_connectivity csr_13 /* 2104x */
  41. #define csr_sia_tx_rx csr_14 /* 2104x */
  42. #define csr_sia_general csr_15 /* 2104x */
  43. #define SROMSEL 0x0800
  44. #define SROMCS 0x0001
  45. #define SROMCLKON 0x0002
  46. #define SROMCLKOFF 0x0002
  47. #define SROMRD 0x4000
  48. #define SROMWR 0x2000
  49. #define SROM_BITWIDTH 6
  50. #define SROMCMD_RD 6
  51. #define SROMCSON 0x0001
  52. #define SROMDOUT 0x0004
  53. #define SROMDIN 0x0008
  54. struct txdesc {
  55. unsigned long status; /* owner, status */
  56. unsigned long buf1sz:11, /* size of buffer 1 */
  57. buf2sz:11, /* size of buffer 2 */
  58. control:10; /* control bits */
  59. const unsigned char *buf1addr; /* buffer 1 address */
  60. const unsigned char *buf2addr; /* buffer 2 address */
  61. };
  62. struct rxdesc {
  63. unsigned long status; /* owner, status */
  64. unsigned long buf1sz:11, /* size of buffer 1 */
  65. buf2sz:11, /* size of buffer 2 */
  66. control:10; /* control bits */
  67. unsigned char *buf1addr; /* buffer 1 address */
  68. unsigned char *buf2addr; /* buffer 2 address */
  69. };