hf-interface.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef HF_INTERFACE_H
  2. #define HF_INTERFACE_H
  3. /* internal registers */
  4. #define HF_REG_BASE 0x00
  5. #define HF_REG_DMA 0x04
  6. #define HF_REG_PACKET_LENGTH 0x0C
  7. #define HF_REG_NUM_PACKETS 0x10
  8. #define HF_REG_INT_REG_VERSION 0x18
  9. #define HF_REG_PERF_COUNTER_4ns 0x1C
  10. #define HF_REG_PERF_COUNTER_FEEDBACK_1 0x20
  11. #define HF_REG_PERF_COUNTER_FEEDBACK_2 0x24
  12. #define HF_REG_PERF_COUNTER 0x28
  13. #define HF_REG_MULTI_2_EMPTY_COUNTER 0x30
  14. #define HF_REG_MULTI_2_FEEDBACK1 0x34
  15. #define HF_REG_MULTI_2_FEEDBACK2 0x38
  16. #define HF_REG_RESULT_LATENCY_MASTER 0x3C
  17. #define HF_REG_NUM_DESC_INSIDE 0x40
  18. #define HF_REG_DESCRIPTOR_ADDRESS 0x50
  19. #define HF_REG_UPDATE_ADDRESS 0x58
  20. #define HF_REG_UPDATE_THRESHOLD 0x60
  21. #define HF_REG_TIMER_THRESHOLD 0x64
  22. #define HF_REG_DESCRIPTOR_AMD_SIGNAL 0x70
  23. #define HF_REG_CONF_DMA_TX_ENGINE 0x100
  24. #define HF_REG_LATENCY_NUM_MEAS 0x104
  25. #define HF_REG_LATENCY_REPEAT_MASK 0x108
  26. #define HF_REG_LATENCY_TIMEOUT 0x10C
  27. #define HF_REG_DESC_LATENCY_DATA 0x110
  28. #define HF_REG_DESC_LATENCY_RESULTS 0x118
  29. /* internal register masks and values */
  30. #define HF_BASE_RESET 0x00000001
  31. #define HF_BASE_VERSION 0x0000FF00
  32. #define HF_BASE_DATAPATH_WIDTH 0x000F0000
  33. #define HF_BASE_FPGA_FAMILY 0xFF000000
  34. #define HF_DMA_START 0x1
  35. #define HF_DMA_STOP 0x0
  36. /* user registers */
  37. #define HF_REG_DCG 0x9000
  38. #define HF_REG_DCG_FIXED_PATTERN 0x9004
  39. #define HF_REG_DCG_FIXED_PATTERN_1ST 0x9008
  40. #define HF_REG_DCG_UPPER_LIMIT 0x900C
  41. #define HF_REG_VERSION 0x9030
  42. #define HF_REG_CONTROL 0x9040
  43. #define HF_REG_INTERCONNECT 0x9048
  44. #define HF_REG_DDR_START_ADDR 0x9050
  45. #define HF_REG_DDR_UPPER_ADDR 0x9054
  46. #define HF_REG_DDR_RD_ADDR 0x9070
  47. #define HF_REG_DDR_WR_ADDR 0x9074
  48. #define HF_REG_DFG_NUM_ROWS 0x9168
  49. #define HF_REG_DFG_NUM_FRAMES 0x9170
  50. #define HF_REG_DEBUG_RC_RESET 0x92e4
  51. #define HF_REG_DEBUG_REQUESTER_RESET 0x9344
  52. #define HF_REG_DEBUG_COMPLETER_RESET 0x93A4
  53. /* user register masks and values */
  54. #define HF_DCG_STOP 0x00000000
  55. #define HF_DCG_START 0x00000001
  56. #define HF_DCG_RESET 0x00000010
  57. #define HF_DCG_ENABLE_FIXED_PATTERN 0x00000100
  58. #define HF_CONTROL_RESET 0x00000004
  59. #define HF_CONTROL_SOFT_RESET 0x00000008
  60. #define HF_CONTROL_ENABLE_READ 0x00000400
  61. #define HF_CONTROL_ENABLE_MULTI_READ 0x00000800
  62. #define HF_CONTROL_GLOBAL_COUNTER_RESET 0x00008000
  63. #define HF_CONTROL_SOURCE_MASK 0x000F0000
  64. #define HF_CONTROL_SOURCE_DCG 0x00000000
  65. #define HF_CONTROL_SOURCE_RX_FIFO 0x00010000
  66. #define HF_CONTROL_SOURCE_DFG 0x00020000
  67. #define HF_CONTROL_SOURCE_DCG_NO_DDR 0x00030000
  68. #define HF_INTERCONNECT_SLAVE_DMA 0x001
  69. #define HF_INTERCONNECT_MASTER_DMA 0x002
  70. #define HF_INTERCONNECT_DDR_TO_DMA 0x060
  71. #define HF_INTERCONNECT_DDR_FROM_64 0x200
  72. #define HF_INTERCONNECT_DDR_FROM_CNT 0x300
  73. #define HF_INTERCONNECT_DDR_FROM_RX_MASTER 0x500
  74. #endif