sde_rotator_r3_hwio.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _SDE_ROTATOR_R3_HWIO_H
  6. #define _SDE_ROTATOR_R3_HWIO_H
  7. #include <linux/bitops.h>
  8. /* MMSS_MDSS:
  9. * OFFSET=0x000000
  10. */
  11. #define MMSS_MDSS_HW_INTR_STATUS 0x10
  12. #define MMSS_MDSS_HW_INTR_STATUS_ROT BIT(2)
  13. /* SDE_ROT_ROTTOP:
  14. * OFFSET=0x0A8800
  15. */
  16. #define SDE_ROT_ROTTOP_OFFSET 0xA8800
  17. #define ROTTOP_HW_VERSION (SDE_ROT_ROTTOP_OFFSET+0x00)
  18. #define ROTTOP_CLK_CTRL (SDE_ROT_ROTTOP_OFFSET+0x10)
  19. #define ROTTOP_CLK_STATUS (SDE_ROT_ROTTOP_OFFSET+0x14)
  20. #define ROTTOP_ROT_NEWROI_PRIOR_TO_START (SDE_ROT_ROTTOP_OFFSET+0x18)
  21. #define ROTTOP_SW_RESET (SDE_ROT_ROTTOP_OFFSET+0x20)
  22. #define ROTTOP_SW_RESET_CTRL (SDE_ROT_ROTTOP_OFFSET+0x24)
  23. #define ROTTOP_SW_RESET_OVERRIDE (SDE_ROT_ROTTOP_OFFSET+0x28)
  24. #define ROTTOP_INTR_EN (SDE_ROT_ROTTOP_OFFSET+0x30)
  25. #define ROTTOP_INTR_STATUS (SDE_ROT_ROTTOP_OFFSET+0x34)
  26. #define ROTTOP_INTR_CLEAR (SDE_ROT_ROTTOP_OFFSET+0x38)
  27. #define ROTTOP_START_CTRL (SDE_ROT_ROTTOP_OFFSET+0x40)
  28. #define ROTTOP_STATUS (SDE_ROT_ROTTOP_OFFSET+0x44)
  29. #define ROTTOP_OP_MODE (SDE_ROT_ROTTOP_OFFSET+0x48)
  30. #define ROTTOP_DNSC (SDE_ROT_ROTTOP_OFFSET+0x4C)
  31. #define ROTTOP_DEBUGBUS_CTRL (SDE_ROT_ROTTOP_OFFSET+0x50)
  32. #define ROTTOP_DEBUGBUS_STATUS (SDE_ROT_ROTTOP_OFFSET+0x54)
  33. #define ROTTOP_ROT_UBWC_DEC_VERSION (SDE_ROT_ROTTOP_OFFSET+0x58)
  34. #define ROTTOP_ROT_UBWC_ENC_VERSION (SDE_ROT_ROTTOP_OFFSET+0x5C)
  35. #define ROTTOP_ROT_CNTR_CTRL (SDE_ROT_ROTTOP_OFFSET+0x60)
  36. #define ROTTOP_ROT_CNTR_0 (SDE_ROT_ROTTOP_OFFSET+0x64)
  37. #define ROTTOP_ROT_CNTR_1 (SDE_ROT_ROTTOP_OFFSET+0x68)
  38. #define ROTTOP_ROT_SCRATCH_0 (SDE_ROT_ROTTOP_OFFSET+0x70)
  39. #define ROTTOP_ROT_SCRATCH_1 (SDE_ROT_ROTTOP_OFFSET+0x74)
  40. #define ROTTOP_ROT_SCRATCH_2 (SDE_ROT_ROTTOP_OFFSET+0x78)
  41. #define ROTTOP_ROT_SCRATCH_3 (SDE_ROT_ROTTOP_OFFSET+0x7C)
  42. #define ROTTOP_START_CTRL_TRIG_SEL_SW 0
  43. #define ROTTOP_START_CTRL_TRIG_SEL_DONE 1
  44. #define ROTTOP_START_CTRL_TRIG_SEL_REGDMA 2
  45. #define ROTTOP_START_CTRL_TRIG_SEL_MDP 3
  46. #define ROTTOP_OP_MODE_ROT_OUT_MASK (0x3 << 4)
  47. /* SDE_ROT_SSPP:
  48. * OFFSET=0x0A8900
  49. */
  50. #define SDE_ROT_SSPP_OFFSET 0xA8900
  51. #define ROT_SSPP_SRC_SIZE (SDE_ROT_SSPP_OFFSET+0x00)
  52. #define ROT_SSPP_SRC_IMG_SIZE (SDE_ROT_SSPP_OFFSET+0x04)
  53. #define ROT_SSPP_SRC_XY (SDE_ROT_SSPP_OFFSET+0x08)
  54. #define ROT_SSPP_OUT_SIZE (SDE_ROT_SSPP_OFFSET+0x0C)
  55. #define ROT_SSPP_OUT_XY (SDE_ROT_SSPP_OFFSET+0x10)
  56. #define ROT_SSPP_SRC0_ADDR (SDE_ROT_SSPP_OFFSET+0x14)
  57. #define ROT_SSPP_SRC1_ADDR (SDE_ROT_SSPP_OFFSET+0x18)
  58. #define ROT_SSPP_SRC2_ADDR (SDE_ROT_SSPP_OFFSET+0x1C)
  59. #define ROT_SSPP_SRC3_ADDR (SDE_ROT_SSPP_OFFSET+0x20)
  60. #define ROT_SSPP_SRC_YSTRIDE0 (SDE_ROT_SSPP_OFFSET+0x24)
  61. #define ROT_SSPP_SRC_YSTRIDE1 (SDE_ROT_SSPP_OFFSET+0x28)
  62. #define ROT_SSPP_TILE_FRAME_SIZE (SDE_ROT_SSPP_OFFSET+0x2C)
  63. #define ROT_SSPP_SRC_FORMAT (SDE_ROT_SSPP_OFFSET+0x30)
  64. #define ROT_SSPP_SRC_UNPACK_PATTERN (SDE_ROT_SSPP_OFFSET+0x34)
  65. #define ROT_SSPP_SRC_OP_MODE (SDE_ROT_SSPP_OFFSET+0x38)
  66. #define ROT_SSPP_SRC_CONSTANT_COLOR (SDE_ROT_SSPP_OFFSET+0x3C)
  67. #define ROT_SSPP_UBWC_STATIC_CTRL (SDE_ROT_SSPP_OFFSET+0x44)
  68. #define ROT_SSPP_FETCH_CONFIG (SDE_ROT_SSPP_OFFSET+0x48)
  69. #define ROT_SSPP_VC1_RANGE (SDE_ROT_SSPP_OFFSET+0x4C)
  70. #define ROT_SSPP_REQPRIORITY_FIFO_WATERMARK_0 (SDE_ROT_SSPP_OFFSET+0x50)
  71. #define ROT_SSPP_REQPRIORITY_FIFO_WATERMARK_1 (SDE_ROT_SSPP_OFFSET+0x54)
  72. #define ROT_SSPP_REQPRIORITY_FIFO_WATERMARK_2 (SDE_ROT_SSPP_OFFSET+0x58)
  73. #define ROT_SSPP_DANGER_LUT (SDE_ROT_SSPP_OFFSET+0x60)
  74. #define ROT_SSPP_SAFE_LUT (SDE_ROT_SSPP_OFFSET+0x64)
  75. #define ROT_SSPP_CREQ_LUT (SDE_ROT_SSPP_OFFSET+0x68)
  76. #define ROT_SSPP_QOS_CTRL (SDE_ROT_SSPP_OFFSET+0x6C)
  77. #define ROT_SSPP_SRC_ADDR_SW_STATUS (SDE_ROT_SSPP_OFFSET+0x70)
  78. #define ROT_SSPP_CREQ_LUT_0 (SDE_ROT_SSPP_OFFSET+0x74)
  79. #define ROT_SSPP_CREQ_LUT_1 (SDE_ROT_SSPP_OFFSET+0x78)
  80. #define ROT_SSPP_CURRENT_SRC0_ADDR (SDE_ROT_SSPP_OFFSET+0xA4)
  81. #define ROT_SSPP_CURRENT_SRC1_ADDR (SDE_ROT_SSPP_OFFSET+0xA8)
  82. #define ROT_SSPP_CURRENT_SRC2_ADDR (SDE_ROT_SSPP_OFFSET+0xAC)
  83. #define ROT_SSPP_CURRENT_SRC3_ADDR (SDE_ROT_SSPP_OFFSET+0xB0)
  84. #define ROT_SSPP_DECIMATION_CONFIG (SDE_ROT_SSPP_OFFSET+0xB4)
  85. #define ROT_SSPP_FETCH_SMP_WR_PLANE0 (SDE_ROT_SSPP_OFFSET+0xD0)
  86. #define ROT_SSPP_FETCH_SMP_WR_PLANE1 (SDE_ROT_SSPP_OFFSET+0xD4)
  87. #define ROT_SSPP_FETCH_SMP_WR_PLANE2 (SDE_ROT_SSPP_OFFSET+0xD8)
  88. #define ROT_SSPP_SMP_UNPACK_RD_PLANE0 (SDE_ROT_SSPP_OFFSET+0xE0)
  89. #define ROT_SSPP_SMP_UNPACK_RD_PLANE1 (SDE_ROT_SSPP_OFFSET+0xE4)
  90. #define ROT_SSPP_SMP_UNPACK_RD_PLANE2 (SDE_ROT_SSPP_OFFSET+0xE8)
  91. #define ROT_SSPP_FILL_LEVELS (SDE_ROT_SSPP_OFFSET+0xF0)
  92. #define ROT_SSPP_STATUS (SDE_ROT_SSPP_OFFSET+0xF4)
  93. #define ROT_SSPP_UNPACK_LINE_COUNT (SDE_ROT_SSPP_OFFSET+0xF8)
  94. #define ROT_SSPP_UNPACK_BLK_COUNT (SDE_ROT_SSPP_OFFSET+0xFC)
  95. #define ROT_SSPP_SW_PIX_EXT_C0_LR (SDE_ROT_SSPP_OFFSET+0x100)
  96. #define ROT_SSPP_SW_PIX_EXT_C0_TB (SDE_ROT_SSPP_OFFSET+0x104)
  97. #define ROT_SSPP_SW_PIX_EXT_C0_REQ_PIXELS (SDE_ROT_SSPP_OFFSET+0x108)
  98. #define ROT_SSPP_SW_PIX_EXT_C1C2_LR (SDE_ROT_SSPP_OFFSET+0x110)
  99. #define ROT_SSPP_SW_PIX_EXT_C1C2_TB (SDE_ROT_SSPP_OFFSET+0x114)
  100. #define ROT_SSPP_SW_PIX_EXT_C1C2_REQ_PIXELS (SDE_ROT_SSPP_OFFSET+0x118)
  101. #define ROT_SSPP_SW_PIX_EXT_C3_LR (SDE_ROT_SSPP_OFFSET+0x120)
  102. #define ROT_SSPP_SW_PIX_EXT_C3_TB (SDE_ROT_SSPP_OFFSET+0x124)
  103. #define ROT_SSPP_SW_PIX_EXT_C3_REQ_PIXELS (SDE_ROT_SSPP_OFFSET+0x128)
  104. #define ROT_SSPP_TRAFFIC_SHAPER (SDE_ROT_SSPP_OFFSET+0x130)
  105. #define ROT_SSPP_CDP_CNTL (SDE_ROT_SSPP_OFFSET+0x134)
  106. #define ROT_SSPP_UBWC_ERROR_STATUS (SDE_ROT_SSPP_OFFSET+0x138)
  107. #define ROT_SSPP_SW_CROP_W_C0C3 (SDE_ROT_SSPP_OFFSET+0x140)
  108. #define ROT_SSPP_SW_CROP_W_C1C2 (SDE_ROT_SSPP_OFFSET+0x144)
  109. #define ROT_SSPP_SW_CROP_H_C0C3 (SDE_ROT_SSPP_OFFSET+0x148)
  110. #define ROT_SSPP_SW_CROP_H_C1C2 (SDE_ROT_SSPP_OFFSET+0x14C)
  111. #define ROT_SSPP_TRAFFIC_SHAPER_PREFILL (SDE_ROT_SSPP_OFFSET+0x150)
  112. #define ROT_SSPP_TRAFFIC_SHAPER_REC1_PREFILL (SDE_ROT_SSPP_OFFSET+0x154)
  113. #define ROT_SSPP_OUT_SIZE_REC1 (SDE_ROT_SSPP_OFFSET+0x160)
  114. #define ROT_SSPP_OUT_XY_REC1 (SDE_ROT_SSPP_OFFSET+0x164)
  115. #define ROT_SSPP_SRC_XY_REC1 (SDE_ROT_SSPP_OFFSET+0x168)
  116. #define ROT_SSPP_SRC_SIZE_REC1 (SDE_ROT_SSPP_OFFSET+0x16C)
  117. #define ROT_SSPP_MULTI_REC_OP_MODE (SDE_ROT_SSPP_OFFSET+0x170)
  118. #define ROT_SSPP_SRC_FORMAT_REC1 (SDE_ROT_SSPP_OFFSET+0x174)
  119. #define ROT_SSPP_SRC_UNPACK_PATTERN_REC1 (SDE_ROT_SSPP_OFFSET+0x178)
  120. #define ROT_SSPP_SRC_OP_MODE_REC1 (SDE_ROT_SSPP_OFFSET+0x17C)
  121. #define ROT_SSPP_SRC_CONSTANT_COLOR_REC1 (SDE_ROT_SSPP_OFFSET+0x180)
  122. #define ROT_SSPP_TPG_CONTROL (SDE_ROT_SSPP_OFFSET+0x190)
  123. #define ROT_SSPP_TPG_CONFIG (SDE_ROT_SSPP_OFFSET+0x194)
  124. #define ROT_SSPP_TPG_COMPONENT_LIMITS (SDE_ROT_SSPP_OFFSET+0x198)
  125. #define ROT_SSPP_TPG_RECTANGLE (SDE_ROT_SSPP_OFFSET+0x19C)
  126. #define ROT_SSPP_TPG_BLACK_WHITE_PATTERN_FRAMES (SDE_ROT_SSPP_OFFSET+0x1A0)
  127. #define ROT_SSPP_TPG_RGB_MAPPING (SDE_ROT_SSPP_OFFSET+0x1A4)
  128. #define ROT_SSPP_TPG_PATTERN_GEN_INIT_VAL (SDE_ROT_SSPP_OFFSET+0x1A8)
  129. #define SDE_ROT_SSPP_FETCH_CONFIG_RESET_VALUE 0x00087
  130. #define SDE_ROT_SSPP_FETCH_BLOCKSIZE_128 (0 << 16)
  131. #define SDE_ROT_SSPP_FETCH_BLOCKSIZE_96 (2 << 16)
  132. #define SDE_ROT_SSPP_FETCH_BLOCKSIZE_192_EXT ((0 << 16) | (1 << 15))
  133. #define SDE_ROT_SSPP_FETCH_BLOCKSIZE_144_EXT ((2 << 16) | (1 << 15))
  134. /* SDE_ROT_WB:
  135. * OFFSET=0x0A8B00
  136. */
  137. #define SDE_ROT_WB_OFFSET 0xA8B00
  138. #define ROT_WB_DST_FORMAT (SDE_ROT_WB_OFFSET+0x000)
  139. #define ROT_WB_DST_OP_MODE (SDE_ROT_WB_OFFSET+0x004)
  140. #define ROT_WB_DST_PACK_PATTERN (SDE_ROT_WB_OFFSET+0x008)
  141. #define ROT_WB_DST0_ADDR (SDE_ROT_WB_OFFSET+0x00C)
  142. #define ROT_WB_DST1_ADDR (SDE_ROT_WB_OFFSET+0x010)
  143. #define ROT_WB_DST2_ADDR (SDE_ROT_WB_OFFSET+0x014)
  144. #define ROT_WB_DST3_ADDR (SDE_ROT_WB_OFFSET+0x018)
  145. #define ROT_WB_DST_YSTRIDE0 (SDE_ROT_WB_OFFSET+0x01C)
  146. #define ROT_WB_DST_YSTRIDE1 (SDE_ROT_WB_OFFSET+0x020)
  147. #define ROT_WB_DST_DITHER_BITDEPTH (SDE_ROT_WB_OFFSET+0x024)
  148. #define ROT_WB_DITHER_MATRIX_ROW0 (SDE_ROT_WB_OFFSET+0x030)
  149. #define ROT_WB_DITHER_MATRIX_ROW1 (SDE_ROT_WB_OFFSET+0x034)
  150. #define ROT_WB_DITHER_MATRIX_ROW2 (SDE_ROT_WB_OFFSET+0x038)
  151. #define ROT_WB_DITHER_MATRIX_ROW3 (SDE_ROT_WB_OFFSET+0x03C)
  152. #define ROT_WB_TRAFFIC_SHAPER_WR_CLIENT (SDE_ROT_WB_OFFSET+0x040)
  153. #define ROT_WB_DST_WRITE_CONFIG (SDE_ROT_WB_OFFSET+0x048)
  154. #define ROT_WB_ROTATOR_PIPE_DOWNSCALER (SDE_ROT_WB_OFFSET+0x054)
  155. #define ROT_WB_OUT_SIZE (SDE_ROT_WB_OFFSET+0x074)
  156. #define ROT_WB_DST_ALPHA_X_VALUE (SDE_ROT_WB_OFFSET+0x078)
  157. #define ROT_WB_HW_VERSION (SDE_ROT_WB_OFFSET+0x080)
  158. #define ROT_WB_DANGER_LUT (SDE_ROT_WB_OFFSET+0x084)
  159. #define ROT_WB_SAFE_LUT (SDE_ROT_WB_OFFSET+0x088)
  160. #define ROT_WB_CREQ_LUT (SDE_ROT_WB_OFFSET+0x08C)
  161. #define ROT_WB_QOS_CTRL (SDE_ROT_WB_OFFSET+0x090)
  162. #define ROT_WB_SYS_CACHE_MODE (SDE_ROT_WB_OFFSET+0x094)
  163. #define ROT_WB_CREQ_LUT_0 (SDE_ROT_WB_OFFSET+0x098)
  164. #define ROT_WB_CREQ_LUT_1 (SDE_ROT_WB_OFFSET+0x09C)
  165. #define ROT_WB_UBWC_STATIC_CTRL (SDE_ROT_WB_OFFSET+0x144)
  166. #define ROT_WB_SBUF_STATUS_PLANE0 (SDE_ROT_WB_OFFSET+0x148)
  167. #define ROT_WB_SBUF_STATUS_PLANE1 (SDE_ROT_WB_OFFSET+0x14C)
  168. #define ROT_WB_CSC_MATRIX_COEFF_0 (SDE_ROT_WB_OFFSET+0x260)
  169. #define ROT_WB_CSC_MATRIX_COEFF_1 (SDE_ROT_WB_OFFSET+0x264)
  170. #define ROT_WB_CSC_MATRIX_COEFF_2 (SDE_ROT_WB_OFFSET+0x268)
  171. #define ROT_WB_CSC_MATRIX_COEFF_3 (SDE_ROT_WB_OFFSET+0x26C)
  172. #define ROT_WB_CSC_MATRIX_COEFF_4 (SDE_ROT_WB_OFFSET+0x270)
  173. #define ROT_WB_CSC_COMP0_PRECLAMP (SDE_ROT_WB_OFFSET+0x274)
  174. #define ROT_WB_CSC_COMP1_PRECLAMP (SDE_ROT_WB_OFFSET+0x278)
  175. #define ROT_WB_CSC_COMP2_PRECLAMP (SDE_ROT_WB_OFFSET+0x27C)
  176. #define ROT_WB_CSC_COMP0_POSTCLAMP (SDE_ROT_WB_OFFSET+0x280)
  177. #define ROT_WB_CSC_COMP1_POSTCLAMP (SDE_ROT_WB_OFFSET+0x284)
  178. #define ROT_WB_CSC_COMP2_POSTCLAMP (SDE_ROT_WB_OFFSET+0x288)
  179. #define ROT_WB_CSC_COMP0_PREBIAS (SDE_ROT_WB_OFFSET+0x28C)
  180. #define ROT_WB_CSC_COMP1_PREBIAS (SDE_ROT_WB_OFFSET+0x290)
  181. #define ROT_WB_CSC_COMP2_PREBIAS (SDE_ROT_WB_OFFSET+0x294)
  182. #define ROT_WB_CSC_COMP0_POSTBIAS (SDE_ROT_WB_OFFSET+0x298)
  183. #define ROT_WB_CSC_COMP1_POSTBIAS (SDE_ROT_WB_OFFSET+0x29C)
  184. #define ROT_WB_CSC_COMP2_POSTBIAS (SDE_ROT_WB_OFFSET+0x2A0)
  185. #define ROT_WB_DST_ADDR_SW_STATUS (SDE_ROT_WB_OFFSET+0x2B0)
  186. #define ROT_WB_CDP_CNTL (SDE_ROT_WB_OFFSET+0x2B4)
  187. #define ROT_WB_STATUS (SDE_ROT_WB_OFFSET+0x2B8)
  188. #define ROT_WB_UBWC_ERROR_STATUS (SDE_ROT_WB_OFFSET+0x2BC)
  189. #define ROT_WB_OUT_IMG_SIZE (SDE_ROT_WB_OFFSET+0x2C0)
  190. #define ROT_WB_OUT_XY (SDE_ROT_WB_OFFSET+0x2C4)
  191. /* SDE_ROT_REGDMA_RAM:
  192. * OFFSET=0x0A8E00
  193. */
  194. #define SDE_ROT_REGDMA_RAM_OFFSET 0xA8E00
  195. #define REGDMA_RAM_REGDMA_CMD_RAM (SDE_ROT_REGDMA_RAM_OFFSET+0x00)
  196. /* SDE_ROT_REGDMA_CSR:
  197. * OFFSET=0x0AAE00
  198. */
  199. #define SDE_ROT_REGDMA_OFFSET 0xAAE00
  200. #define REGDMA_CSR_REGDMA_VERSION (SDE_ROT_REGDMA_OFFSET+0x00)
  201. #define REGDMA_CSR_REGDMA_OP_MODE (SDE_ROT_REGDMA_OFFSET+0x04)
  202. #define REGDMA_CSR_REGDMA_QUEUE_0_SUBMIT (SDE_ROT_REGDMA_OFFSET+0x10)
  203. #define REGDMA_CSR_REGDMA_QUEUE_0_STATUS (SDE_ROT_REGDMA_OFFSET+0x14)
  204. #define REGDMA_CSR_REGDMA_QUEUE_1_SUBMIT (SDE_ROT_REGDMA_OFFSET+0x18)
  205. #define REGDMA_CSR_REGDMA_QUEUE_1_STATUS (SDE_ROT_REGDMA_OFFSET+0x1C)
  206. #define REGDMA_CSR_REGDMA_BLOCK_LO_0 (SDE_ROT_REGDMA_OFFSET+0x20)
  207. #define REGDMA_CSR_REGDMA_BLOCK_HI_0 (SDE_ROT_REGDMA_OFFSET+0x24)
  208. #define REGDMA_CSR_REGDMA_BLOCK_LO_1 (SDE_ROT_REGDMA_OFFSET+0x28)
  209. #define REGDMA_CSR_REGDMA_BLOCK_HI_1 (SDE_ROT_REGDMA_OFFSET+0x2C)
  210. #define REGDMA_CSR_REGDMA_BLOCK_LO_2 (SDE_ROT_REGDMA_OFFSET+0x30)
  211. #define REGDMA_CSR_REGDMA_BLOCK_HI_2 (SDE_ROT_REGDMA_OFFSET+0x34)
  212. #define REGDMA_CSR_REGDMA_BLOCK_LO_3 (SDE_ROT_REGDMA_OFFSET+0x38)
  213. #define REGDMA_CSR_REGDMA_BLOCK_HI_3 (SDE_ROT_REGDMA_OFFSET+0x3C)
  214. #define REGDMA_CSR_REGDMA_WD_TIMER_CTL (SDE_ROT_REGDMA_OFFSET+0x40)
  215. #define REGDMA_CSR_REGDMA_WD_TIMER_CTL2 (SDE_ROT_REGDMA_OFFSET+0x44)
  216. #define REGDMA_CSR_REGDMA_WD_TIMER_LOAD_VALUE (SDE_ROT_REGDMA_OFFSET+0x48)
  217. #define REGDMA_CSR_REGDMA_WD_TIMER_STATUS_VALUE (SDE_ROT_REGDMA_OFFSET+0x4C)
  218. #define REGDMA_CSR_REGDMA_INT_STATUS (SDE_ROT_REGDMA_OFFSET+0x50)
  219. #define REGDMA_CSR_REGDMA_INT_EN (SDE_ROT_REGDMA_OFFSET+0x54)
  220. #define REGDMA_CSR_REGDMA_INT_CLEAR (SDE_ROT_REGDMA_OFFSET+0x58)
  221. #define REGDMA_CSR_REGDMA_BLOCK_STATUS (SDE_ROT_REGDMA_OFFSET+0x5C)
  222. #define REGDMA_CSR_REGDMA_INVALID_CMD_RAM_OFFSET (SDE_ROT_REGDMA_OFFSET+0x60)
  223. #define REGDMA_CSR_REGDMA_FSM_STATE (SDE_ROT_REGDMA_OFFSET+0x64)
  224. #define REGDMA_CSR_REGDMA_DEBUG_SEL (SDE_ROT_REGDMA_OFFSET+0x68)
  225. /* SDE_ROT_QDSS:
  226. * OFFSET=0x0AAF00
  227. */
  228. #define ROT_QDSS_CONFIG 0x00
  229. #define ROT_QDSS_ATB_DATA_ENABLE0 0x04
  230. #define ROT_QDSS_ATB_DATA_ENABLE1 0x08
  231. #define ROT_QDSS_ATB_DATA_ENABLE2 0x0C
  232. #define ROT_QDSS_ATB_DATA_ENABLE3 0x10
  233. #define ROT_QDSS_CLK_CTRL 0x14
  234. #define ROT_QDSS_CLK_STATUS 0x18
  235. #define ROT_QDSS_PULSE_TRIGGER 0x20
  236. /*
  237. * SDE_ROT_VBIF_NRT:
  238. */
  239. #define SDE_ROT_VBIF_NRT_OFFSET 0
  240. /* REGDMA OP Code */
  241. #define REGDMA_OP_NOP (0 << 28)
  242. #define REGDMA_OP_REGWRITE (1 << 28)
  243. #define REGDMA_OP_REGMODIFY (2 << 28)
  244. #define REGDMA_OP_BLKWRITE_SINGLE (3 << 28)
  245. #define REGDMA_OP_BLKWRITE_INC (4 << 28)
  246. #define REGDMA_OP_MASK 0xF0000000
  247. /* REGDMA ADDR offset Mask */
  248. #define REGDMA_ADDR_OFFSET_MASK 0xFFFFF
  249. /* REGDMA command trigger select */
  250. #define REGDMA_CMD_TRIG_SEL_SW_START (0 << 27)
  251. #define REGDMA_CMD_TRIG_SEL_MDP_FLUSH (1 << 27)
  252. /* General defines */
  253. #define ROT_DONE_MASK 0x1
  254. #define ROT_DONE_CLEAR 0x1
  255. #define ROT_BUSY_BIT BIT(0)
  256. #define ROT_ERROR_BIT BIT(8)
  257. #define ROT_STATUS_MASK (ROT_BUSY_BIT | ROT_ERROR_BIT)
  258. #define REGDMA_BUSY BIT(0)
  259. #define REGDMA_EN 0x1
  260. #define REGDMA_SECURE_EN BIT(8)
  261. #define REGDMA_HALT BIT(16)
  262. #define REGDMA_WATCHDOG_INT BIT(19)
  263. #define REGDMA_INVALID_DESCRIPTOR BIT(18)
  264. #define REGDMA_INCOMPLETE_CMD BIT(17)
  265. #define REGDMA_INVALID_CMD BIT(16)
  266. #define REGDMA_QUEUE1_INT2 BIT(10)
  267. #define REGDMA_QUEUE1_INT1 BIT(9)
  268. #define REGDMA_QUEUE1_INT0 BIT(8)
  269. #define REGDMA_QUEUE0_INT2 BIT(2)
  270. #define REGDMA_QUEUE0_INT1 BIT(1)
  271. #define REGDMA_QUEUE0_INT0 BIT(0)
  272. #define REGDMA_INT_MASK 0x000F0707
  273. #define REGDMA_INT_HIGH_MASK 0x00000007
  274. #define REGDMA_INT_LOW_MASK 0x00000700
  275. #define REGDMA_INT_ERR_MASK 0x000F0000
  276. #define REGDMA_TIMESTAMP_REG ROT_SSPP_TPG_PATTERN_GEN_INIT_VAL
  277. #define REGDMA_RESET_STATUS_REG ROT_SSPP_TPG_RGB_MAPPING
  278. #define REGDMA_INT_0_MASK 0x101
  279. #define REGDMA_INT_1_MASK 0x202
  280. #define REGDMA_INT_2_MASK 0x404
  281. #endif /*_SDE_ROTATOR_R3_HWIO_H */