cmdq_reg.h 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef __CMDQ_REG_H__
  2. #define __CMDQ_REG_H__
  3. #include <mt-plat/sync_write.h>
  4. #include "cmdq_core.h"
  5. #include "cmdq_device.h"
  6. #define CMDQ_CORE_WARM_RESET (GCE_BASE_VA + 0x000)
  7. #define CMDQ_CURR_IRQ_STATUS (GCE_BASE_VA + 0x010)
  8. #define CMDQ_SECURE_IRQ_STATUS (GCE_BASE_VA + 0x014)
  9. #define CMDQ_CURR_LOADED_THR (GCE_BASE_VA + 0x018)
  10. #define CMDQ_THR_SLOT_CYCLES (GCE_BASE_VA + 0x030)
  11. #define CMDQ_THR_EXEC_CYCLES (GCE_BASE_VA + 0x034)
  12. #define CMDQ_THR_TIMEOUT_TIMER (GCE_BASE_VA + 0x038)
  13. #define CMDQ_BUS_CONTROL_TYPE (GCE_BASE_VA + 0x040)
  14. #define CMDQ_CURR_INST_ABORT (GCE_BASE_VA + 0x020)
  15. #define CMDQ_CURR_REG_ABORT (GCE_BASE_VA + 0x050)
  16. #define CMDQ_SECURITY_STA(id) (GCE_BASE_VA + (0x030 * id) + 0x024)
  17. #define CMDQ_SECURITY_SET(id) (GCE_BASE_VA + (0x030 * id) + 0x028)
  18. #define CMDQ_SECURITY_CLR(id) (GCE_BASE_VA + (0x030 * id) + 0x02C)
  19. #define CMDQ_SYNC_TOKEN_ID (GCE_BASE_VA + 0x060)
  20. #define CMDQ_SYNC_TOKEN_VAL (GCE_BASE_VA + 0x064)
  21. #define CMDQ_SYNC_TOKEN_UPD (GCE_BASE_VA + 0x068)
  22. #define CMDQ_GPR_R32(id) (GCE_BASE_VA + (0x004 * id) + 0x80)
  23. #define CMDQ_GPR_R32_PA(id) (GCE_BASE_PA + (0x004 * id) + 0x80)
  24. #define CMDQ_THR_WARM_RESET(id) (GCE_BASE_VA + (0x080 * id) + 0x100)
  25. #define CMDQ_THR_ENABLE_TASK(id) (GCE_BASE_VA + (0x080 * id) + 0x104)
  26. #define CMDQ_THR_SUSPEND_TASK(id) (GCE_BASE_VA + (0x080 * id) + 0x108)
  27. #define CMDQ_THR_CURR_STATUS(id) (GCE_BASE_VA + (0x080 * id) + 0x10C)
  28. #define CMDQ_THR_IRQ_STATUS(id) (GCE_BASE_VA + (0x080 * id) + 0x110)
  29. #define CMDQ_THR_IRQ_ENABLE(id) (GCE_BASE_VA + (0x080 * id) + 0x114)
  30. #define CMDQ_THR_SECURITY(id) (GCE_BASE_VA + (0x080 * id) + 0x118)
  31. #define CMDQ_THR_CURR_ADDR(id) (GCE_BASE_VA + (0x080 * id) + 0x120)
  32. #define CMDQ_THR_END_ADDR(id) (GCE_BASE_VA + (0x080 * id) + 0x124)
  33. #define CMDQ_THR_EXEC_CNT(id) (GCE_BASE_VA + (0x080 * id) + 0x128)
  34. #define CMDQ_THR_WAIT_TOKEN(id) (GCE_BASE_VA + (0x080 * id) + 0x130)
  35. #define CMDQ_THR_CFG(id) (GCE_BASE_VA + (0x080 * id) + 0x140)
  36. #define CMDQ_THR_PREFETCH(id) (GCE_BASE_VA + (0x080 * id) + 0x144)
  37. #define CMDQ_THR_INST_CYCLES(id) (GCE_BASE_VA + (0x080 * id) + 0x150)
  38. #define CMDQ_THR_INST_THRESX(id) (GCE_BASE_VA + (0x080 * id) + 0x154)
  39. #define CMDQ_THR_STATUS(id) (GCE_BASE_VA + (0x080 * id) + 0x18C)
  40. #define CMDQ_THR_EXEC_CNT_PA(id) (GCE_BASE_PA + (0x080 * id) + 0x128)
  41. #define CMDQ_TEST_MMSYS_DUMMY_OFFSET (0x890)
  42. #define CMDQ_TEST_MMSYS_DUMMY_PA (0x14000000 + CMDQ_TEST_MMSYS_DUMMY_OFFSET)
  43. #define CMDQ_TEST_MMSYS_DUMMY_VA (cmdq_dev_get_module_base_VA_MMSYS_CONFIG() + CMDQ_TEST_MMSYS_DUMMY_OFFSET)
  44. #define CMDQ_APXGPT2_COUNT (0x10008028) /* each count is 76ns */
  45. #define CMDQ_REG_GET64_GPR_PX(id) cmdq_core_get_GPR64(id)
  46. #define CMDQ_REG_SET64_GPR_PX(id, value) cmdq_core_set_GPR64(id, value)
  47. #if 0
  48. #define CMDQ_REG_GET32(addr) ((*((volatile uint32_t *)(addr))) & 0xFFFFFFFF)
  49. #define CMDQ_REG_GET16(addr) ((*((volatile uint32_t *)(addr))) & 0x0000FFFF)
  50. #define CMDQ_REG_SET32(addr, val) mt65xx_reg_sync_writel(val, (addr) & 0xFFFFFFFF)
  51. #define CMDQ_REG_SET32(addr, val) mt65xx_reg_sync_writel(val, (unsigned long)(addr))
  52. #endif
  53. #define CMDQ_REG_SET32(addr, val) mt_reg_sync_writel(val, (addr))
  54. #if 1
  55. #define CMDQ_REG_GET32(addr) ((*((volatile uint32_t *)((unsigned long)addr))) & 0xFFFFFFFF)
  56. #define CMDQ_REG_GET16(addr) ((*((volatile uint32_t *)((unsigned long)addr))) & 0x0000FFFF)
  57. #else
  58. #define CMDQ_REG_GET32(addr) (readl((void *)addr) & 0xFFFFFFFF)
  59. #define CMDQ_REG_GET16(addr) (readl((void *)addr) & 0x0000FFFF)
  60. #endif
  61. #endif /* __CMDQ_REG_H__ */