mtk_dp_reg.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (c) 2019-2022 MediaTek Inc.
  4. * Copyright (c) 2022 BayLibre
  5. */
  6. #ifndef _MTK_DP_REG_H_
  7. #define _MTK_DP_REG_H_
  8. #define SEC_OFFSET 0x4000
  9. #define MTK_DP_HPD_DISCONNECT BIT(1)
  10. #define MTK_DP_HPD_CONNECT BIT(2)
  11. #define MTK_DP_HPD_INTERRUPT BIT(3)
  12. /* offset: 0x0 */
  13. #define DP_PHY_GLB_BIAS_GEN_00 0x0
  14. #define RG_XTP_GLB_BIAS_INTR_CTRL GENMASK(20, 16)
  15. #define DP_PHY_GLB_DPAUX_TX 0x8
  16. #define RG_CKM_PT0_CKTX_IMPSEL GENMASK(23, 20)
  17. #define MTK_DP_0034 0x34
  18. #define DA_XTP_GLB_CKDET_EN_FORCE_VAL BIT(15)
  19. #define DA_XTP_GLB_CKDET_EN_FORCE_EN BIT(14)
  20. #define DA_CKM_INTCKTX_EN_FORCE_VAL BIT(13)
  21. #define DA_CKM_INTCKTX_EN_FORCE_EN BIT(12)
  22. #define DA_CKM_CKTX0_EN_FORCE_VAL BIT(11)
  23. #define DA_CKM_CKTX0_EN_FORCE_EN BIT(10)
  24. #define DA_CKM_XTAL_CK_FORCE_VAL BIT(9)
  25. #define DA_CKM_XTAL_CK_FORCE_EN BIT(8)
  26. #define DA_CKM_BIAS_LPF_EN_FORCE_VAL BIT(7)
  27. #define DA_CKM_BIAS_LPF_EN_FORCE_EN BIT(6)
  28. #define DA_CKM_BIAS_EN_FORCE_VAL BIT(5)
  29. #define DA_CKM_BIAS_EN_FORCE_EN BIT(4)
  30. #define DA_XTP_GLB_AVD10_ON_FORCE_VAL BIT(3)
  31. #define DA_XTP_GLB_AVD10_ON_FORCE BIT(2)
  32. #define DA_XTP_GLB_LDO_EN_FORCE_VAL BIT(1)
  33. #define DA_XTP_GLB_LDO_EN_FORCE_EN BIT(0)
  34. #define DP_PHY_LANE_TX_0 0x104
  35. #define RG_XTP_LN0_TX_IMPSEL_PMOS GENMASK(15, 12)
  36. #define RG_XTP_LN0_TX_IMPSEL_NMOS GENMASK(19, 16)
  37. #define DP_PHY_LANE_TX_1 0x204
  38. #define RG_XTP_LN1_TX_IMPSEL_PMOS GENMASK(15, 12)
  39. #define RG_XTP_LN1_TX_IMPSEL_NMOS GENMASK(19, 16)
  40. #define DP_PHY_LANE_TX_2 0x304
  41. #define RG_XTP_LN2_TX_IMPSEL_PMOS GENMASK(15, 12)
  42. #define RG_XTP_LN2_TX_IMPSEL_NMOS GENMASK(19, 16)
  43. #define DP_PHY_LANE_TX_3 0x404
  44. #define RG_XTP_LN3_TX_IMPSEL_PMOS GENMASK(15, 12)
  45. #define RG_XTP_LN3_TX_IMPSEL_NMOS GENMASK(19, 16)
  46. #define MTK_DP_1040 0x1040
  47. #define RG_DPAUX_RX_VALID_DEGLITCH_EN BIT(2)
  48. #define RG_XTP_GLB_CKDET_EN BIT(1)
  49. #define RG_DPAUX_RX_EN BIT(0)
  50. /* offset: TOP_OFFSET (0x2000) */
  51. #define MTK_DP_TOP_PWR_STATE 0x2000
  52. #define DP_PWR_STATE_MASK GENMASK(1, 0)
  53. #define DP_PWR_STATE_BANDGAP BIT(0)
  54. #define DP_PWR_STATE_BANDGAP_TPLL BIT(1)
  55. #define DP_PWR_STATE_BANDGAP_TPLL_LANE GENMASK(1, 0)
  56. #define MTK_DP_TOP_SWING_EMP 0x2004
  57. #define DP_TX0_VOLT_SWING_MASK GENMASK(1, 0)
  58. #define DP_TX0_VOLT_SWING_SHIFT 0
  59. #define DP_TX0_PRE_EMPH_MASK GENMASK(3, 2)
  60. #define DP_TX0_PRE_EMPH_SHIFT 2
  61. #define DP_TX1_VOLT_SWING_MASK GENMASK(9, 8)
  62. #define DP_TX1_VOLT_SWING_SHIFT 8
  63. #define DP_TX1_PRE_EMPH_MASK GENMASK(11, 10)
  64. #define DP_TX2_VOLT_SWING_MASK GENMASK(17, 16)
  65. #define DP_TX2_PRE_EMPH_MASK GENMASK(19, 18)
  66. #define DP_TX3_VOLT_SWING_MASK GENMASK(25, 24)
  67. #define DP_TX3_PRE_EMPH_MASK GENMASK(27, 26)
  68. #define MTK_DP_TOP_RESET_AND_PROBE 0x2020
  69. #define SW_RST_B_PHYD BIT(4)
  70. #define MTK_DP_TOP_IRQ_MASK 0x202c
  71. #define IRQ_MASK_AUX_TOP_IRQ BIT(2)
  72. #define MTK_DP_TOP_MEM_PD 0x2038
  73. #define MEM_ISO_EN BIT(0)
  74. #define FUSE_SEL BIT(2)
  75. /* offset: ENC0_OFFSET (0x3000) */
  76. #define MTK_DP_ENC0_P0_3000 0x3000
  77. #define LANE_NUM_DP_ENC0_P0_MASK GENMASK(1, 0)
  78. #define VIDEO_MUTE_SW_DP_ENC0_P0 BIT(2)
  79. #define VIDEO_MUTE_SEL_DP_ENC0_P0 BIT(3)
  80. #define ENHANCED_FRAME_EN_DP_ENC0_P0 BIT(4)
  81. #define MTK_DP_ENC0_P0_3004 0x3004
  82. #define VIDEO_M_CODE_SEL_DP_ENC0_P0_MASK BIT(8)
  83. #define DP_TX_ENCODER_4P_RESET_SW_DP_ENC0_P0 BIT(9)
  84. #define MTK_DP_ENC0_P0_3010 0x3010
  85. #define HTOTAL_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  86. #define MTK_DP_ENC0_P0_3014 0x3014
  87. #define VTOTAL_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  88. #define MTK_DP_ENC0_P0_3018 0x3018
  89. #define HSTART_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  90. #define MTK_DP_ENC0_P0_301C 0x301c
  91. #define VSTART_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  92. #define MTK_DP_ENC0_P0_3020 0x3020
  93. #define HWIDTH_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  94. #define MTK_DP_ENC0_P0_3024 0x3024
  95. #define VHEIGHT_SW_DP_ENC0_P0_MASK GENMASK(15, 0)
  96. #define MTK_DP_ENC0_P0_3028 0x3028
  97. #define HSW_SW_DP_ENC0_P0_MASK GENMASK(14, 0)
  98. #define HSP_SW_DP_ENC0_P0_MASK BIT(15)
  99. #define MTK_DP_ENC0_P0_302C 0x302c
  100. #define VSW_SW_DP_ENC0_P0_MASK GENMASK(14, 0)
  101. #define VSP_SW_DP_ENC0_P0_MASK BIT(15)
  102. #define MTK_DP_ENC0_P0_3030 0x3030
  103. #define HTOTAL_SEL_DP_ENC0_P0 BIT(0)
  104. #define VTOTAL_SEL_DP_ENC0_P0 BIT(1)
  105. #define HSTART_SEL_DP_ENC0_P0 BIT(2)
  106. #define VSTART_SEL_DP_ENC0_P0 BIT(3)
  107. #define HWIDTH_SEL_DP_ENC0_P0 BIT(4)
  108. #define VHEIGHT_SEL_DP_ENC0_P0 BIT(5)
  109. #define HSP_SEL_DP_ENC0_P0 BIT(6)
  110. #define HSW_SEL_DP_ENC0_P0 BIT(7)
  111. #define VSP_SEL_DP_ENC0_P0 BIT(8)
  112. #define VSW_SEL_DP_ENC0_P0 BIT(9)
  113. #define VBID_AUDIO_MUTE_FLAG_SW_DP_ENC0_P0 BIT(11)
  114. #define VBID_AUDIO_MUTE_FLAG_SEL_DP_ENC0_P0 BIT(12)
  115. #define MTK_DP_ENC0_P0_3034 0x3034
  116. #define MTK_DP_ENC0_P0_3038 0x3038
  117. #define VIDEO_SOURCE_SEL_DP_ENC0_P0_MASK BIT(11)
  118. #define MTK_DP_ENC0_P0_303C 0x303c
  119. #define SRAM_START_READ_THRD_DP_ENC0_P0_MASK GENMASK(5, 0)
  120. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_MASK GENMASK(10, 8)
  121. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_16BIT (0 << 8)
  122. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_12BIT (1 << 8)
  123. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_10BIT (2 << 8)
  124. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_8BIT (3 << 8)
  125. #define VIDEO_COLOR_DEPTH_DP_ENC0_P0_6BIT (4 << 8)
  126. #define PIXEL_ENCODE_FORMAT_DP_ENC0_P0_MASK GENMASK(14, 12)
  127. #define PIXEL_ENCODE_FORMAT_DP_ENC0_P0_RGB (0 << 12)
  128. #define PIXEL_ENCODE_FORMAT_DP_ENC0_P0_YCBCR422 (1 << 12)
  129. #define PIXEL_ENCODE_FORMAT_DP_ENC0_P0_YCBCR420 (2 << 12)
  130. #define VIDEO_MN_GEN_EN_DP_ENC0_P0 BIT(15)
  131. #define MTK_DP_ENC0_P0_3040 0x3040
  132. #define SDP_DOWN_CNT_DP_ENC0_P0_VAL 0x20
  133. #define SDP_DOWN_CNT_INIT_DP_ENC0_P0_MASK GENMASK(11, 0)
  134. #define MTK_DP_ENC0_P0_304C 0x304c
  135. #define VBID_VIDEO_MUTE_DP_ENC0_P0_MASK BIT(2)
  136. #define SDP_VSYNC_RISING_MASK_DP_ENC0_P0_MASK BIT(8)
  137. #define MTK_DP_ENC0_P0_3064 0x3064
  138. #define HDE_NUM_LAST_DP_ENC0_P0_MASK GENMASK(15, 0)
  139. #define MTK_DP_ENC0_P0_3088 0x3088
  140. #define AU_EN_DP_ENC0_P0 BIT(6)
  141. #define AUDIO_8CH_EN_DP_ENC0_P0_MASK BIT(7)
  142. #define AUDIO_8CH_SEL_DP_ENC0_P0_MASK BIT(8)
  143. #define AUDIO_2CH_EN_DP_ENC0_P0_MASK BIT(14)
  144. #define AUDIO_2CH_SEL_DP_ENC0_P0_MASK BIT(15)
  145. #define MTK_DP_ENC0_P0_308C 0x308c
  146. #define CH_STATUS_0_DP_ENC0_P0_MASK GENMASK(15, 0)
  147. #define MTK_DP_ENC0_P0_3090 0x3090
  148. #define CH_STATUS_1_DP_ENC0_P0_MASK GENMASK(15, 0)
  149. #define MTK_DP_ENC0_P0_3094 0x3094
  150. #define CH_STATUS_2_DP_ENC0_P0_MASK GENMASK(7, 0)
  151. #define MTK_DP_ENC0_P0_30A4 0x30a4
  152. #define AU_TS_CFG_DP_ENC0_P0_MASK GENMASK(7, 0)
  153. #define MTK_DP_ENC0_P0_30A8 0x30a8
  154. #define MTK_DP_ENC0_P0_30BC 0x30bc
  155. #define ISRC_CONT_DP_ENC0_P0 BIT(0)
  156. #define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MASK GENMASK(10, 8)
  157. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_2 (1 << 8)
  158. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_4 (2 << 8)
  159. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_8 (3 << 8)
  160. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2 (5 << 8)
  161. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_4 (6 << 8)
  162. #define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_8 (7 << 8)
  163. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_2 (1 << 8)
  164. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_4 (2 << 8)
  165. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_8 (3 << 8)
  166. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2 (4 << 8)
  167. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_4 (5 << 8)
  168. #define MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_8 (7 << 8)
  169. #define MTK_DP_ENC0_P0_30D8 0x30d8
  170. #define MTK_DP_ENC0_P0_312C 0x312c
  171. #define ASP_HB2_DP_ENC0_P0_MASK GENMASK(7, 0)
  172. #define ASP_HB3_DP_ENC0_P0_MASK GENMASK(15, 8)
  173. #define MTK_DP_ENC0_P0_3154 0x3154
  174. #define PGEN_HTOTAL_DP_ENC0_P0_MASK GENMASK(13, 0)
  175. #define MTK_DP_ENC0_P0_3158 0x3158
  176. #define PGEN_HSYNC_RISING_DP_ENC0_P0_MASK GENMASK(13, 0)
  177. #define MTK_DP_ENC0_P0_315C 0x315c
  178. #define PGEN_HSYNC_PULSE_WIDTH_DP_ENC0_P0_MASK GENMASK(13, 0)
  179. #define MTK_DP_ENC0_P0_3160 0x3160
  180. #define PGEN_HFDE_START_DP_ENC0_P0_MASK GENMASK(13, 0)
  181. #define MTK_DP_ENC0_P0_3164 0x3164
  182. #define PGEN_HFDE_ACTIVE_WIDTH_DP_ENC0_P0_MASK GENMASK(13, 0)
  183. #define MTK_DP_ENC0_P0_3168 0x3168
  184. #define PGEN_VTOTAL_DP_ENC0_P0_MASK GENMASK(12, 0)
  185. #define MTK_DP_ENC0_P0_316C 0x316c
  186. #define PGEN_VSYNC_RISING_DP_ENC0_P0_MASK GENMASK(12, 0)
  187. #define MTK_DP_ENC0_P0_3170 0x3170
  188. #define PGEN_VSYNC_PULSE_WIDTH_DP_ENC0_P0_MASK GENMASK(12, 0)
  189. #define MTK_DP_ENC0_P0_3174 0x3174
  190. #define PGEN_VFDE_START_DP_ENC0_P0_MASK GENMASK(12, 0)
  191. #define MTK_DP_ENC0_P0_3178 0x3178
  192. #define PGEN_VFDE_ACTIVE_WIDTH_DP_ENC0_P0_MASK GENMASK(12, 0)
  193. #define MTK_DP_ENC0_P0_31B0 0x31b0
  194. #define PGEN_PATTERN_SEL_VAL 4
  195. #define PGEN_PATTERN_SEL_MASK GENMASK(6, 4)
  196. #define MTK_DP_ENC0_P0_31EC 0x31ec
  197. #define AUDIO_CH_SRC_SEL_DP_ENC0_P0 BIT(4)
  198. #define ISRC1_HB3_DP_ENC0_P0_MASK GENMASK(15, 8)
  199. /* offset: ENC1_OFFSET (0x3200) */
  200. #define MTK_DP_ENC1_P0_3200 0x3200
  201. #define MTK_DP_ENC1_P0_3280 0x3280
  202. #define SDP_PACKET_TYPE_DP_ENC1_P0_MASK GENMASK(4, 0)
  203. #define SDP_PACKET_W_DP_ENC1_P0 BIT(5)
  204. #define SDP_PACKET_W_DP_ENC1_P0_MASK BIT(5)
  205. #define MTK_DP_ENC1_P0_3300 0x3300
  206. #define VIDEO_AFIFO_RDY_SEL_DP_ENC1_P0_VAL 2
  207. #define VIDEO_AFIFO_RDY_SEL_DP_ENC1_P0_MASK GENMASK(9, 8)
  208. #define MTK_DP_ENC1_P0_3304 0x3304
  209. #define AU_PRTY_REGEN_DP_ENC1_P0_MASK BIT(8)
  210. #define AU_CH_STS_REGEN_DP_ENC1_P0_MASK BIT(9)
  211. #define AUDIO_SAMPLE_PRSENT_REGEN_DP_ENC1_P0_MASK BIT(12)
  212. #define MTK_DP_ENC1_P0_3324 0x3324
  213. #define AUDIO_SOURCE_MUX_DP_ENC1_P0_MASK GENMASK(9, 8)
  214. #define AUDIO_SOURCE_MUX_DP_ENC1_P0_DPRX 0
  215. #define MTK_DP_ENC1_P0_3364 0x3364
  216. #define SDP_DOWN_CNT_IN_HBLANK_DP_ENC1_P0_VAL 0x20
  217. #define SDP_DOWN_CNT_INIT_IN_HBLANK_DP_ENC1_P0_MASK GENMASK(11, 0)
  218. #define FIFO_READ_START_POINT_DP_ENC1_P0_VAL 4
  219. #define FIFO_READ_START_POINT_DP_ENC1_P0_MASK GENMASK(15, 12)
  220. #define MTK_DP_ENC1_P0_3368 0x3368
  221. #define VIDEO_SRAM_FIFO_CNT_RESET_SEL_DP_ENC1_P0 BIT(0)
  222. #define VIDEO_STABLE_CNT_THRD_DP_ENC1_P0 BIT(4)
  223. #define SDP_DP13_EN_DP_ENC1_P0 BIT(8)
  224. #define BS2BS_MODE_DP_ENC1_P0 BIT(12)
  225. #define BS2BS_MODE_DP_ENC1_P0_MASK GENMASK(13, 12)
  226. #define BS2BS_MODE_DP_ENC1_P0_VAL 1
  227. #define DP_ENC1_P0_3368_VAL (VIDEO_SRAM_FIFO_CNT_RESET_SEL_DP_ENC1_P0 | \
  228. VIDEO_STABLE_CNT_THRD_DP_ENC1_P0 | \
  229. SDP_DP13_EN_DP_ENC1_P0 | \
  230. BS2BS_MODE_DP_ENC1_P0)
  231. #define MTK_DP_ENC1_P0_3374 0x3374
  232. #define SDP_ASP_INSERT_IN_HBLANK_DP_ENC1_P0_MASK BIT(12)
  233. #define SDP_DOWN_ASP_CNT_INIT_DP_ENC1_P0_MASK GENMASK(11, 0)
  234. #define MTK_DP_ENC1_P0_33F4 0x33f4
  235. #define DP_ENC_DUMMY_RW_1_AUDIO_RST_EN BIT(0)
  236. #define DP_ENC_DUMMY_RW_1 BIT(9)
  237. /* offset: TRANS_OFFSET (0x3400) */
  238. #define MTK_DP_TRANS_P0_3400 0x3400
  239. #define PATTERN1_EN_DP_TRANS_P0_MASK BIT(12)
  240. #define PATTERN2_EN_DP_TRANS_P0_MASK BIT(13)
  241. #define PATTERN3_EN_DP_TRANS_P0_MASK BIT(14)
  242. #define PATTERN4_EN_DP_TRANS_P0_MASK BIT(15)
  243. #define MTK_DP_TRANS_P0_3404 0x3404
  244. #define DP_SCR_EN_DP_TRANS_P0_MASK BIT(0)
  245. #define MTK_DP_TRANS_P0_340C 0x340c
  246. #define DP_TX_TRANSMITTER_4P_RESET_SW_DP_TRANS_P0 BIT(13)
  247. #define MTK_DP_TRANS_P0_3410 0x3410
  248. #define HPD_DEB_THD_DP_TRANS_P0_MASK GENMASK(3, 0)
  249. #define HPD_INT_THD_DP_TRANS_P0_MASK GENMASK(7, 4)
  250. #define HPD_INT_THD_DP_TRANS_P0_LOWER_500US (2 << 4)
  251. #define HPD_INT_THD_DP_TRANS_P0_UPPER_1100US (2 << 6)
  252. #define HPD_DISC_THD_DP_TRANS_P0_MASK GENMASK(11, 8)
  253. #define HPD_CONN_THD_DP_TRANS_P0_MASK GENMASK(15, 12)
  254. #define MTK_DP_TRANS_P0_3414 0x3414
  255. #define HPD_DB_DP_TRANS_P0_MASK BIT(2)
  256. #define MTK_DP_TRANS_P0_3418 0x3418
  257. #define IRQ_CLR_DP_TRANS_P0_MASK GENMASK(3, 0)
  258. #define IRQ_MASK_DP_TRANS_P0_MASK GENMASK(7, 4)
  259. #define IRQ_MASK_DP_TRANS_P0_DISC_IRQ (BIT(1) << 4)
  260. #define IRQ_MASK_DP_TRANS_P0_CONN_IRQ (BIT(2) << 4)
  261. #define IRQ_MASK_DP_TRANS_P0_INT_IRQ (BIT(3) << 4)
  262. #define IRQ_STATUS_DP_TRANS_P0_MASK GENMASK(15, 12)
  263. #define MTK_DP_TRANS_P0_342C 0x342c
  264. #define XTAL_FREQ_DP_TRANS_P0_DEFAULT (BIT(0) | BIT(3) | BIT(5) | BIT(6))
  265. #define XTAL_FREQ_DP_TRANS_P0_MASK GENMASK(7, 0)
  266. #define MTK_DP_TRANS_P0_3430 0x3430
  267. #define HPD_INT_THD_ECO_DP_TRANS_P0_MASK GENMASK(1, 0)
  268. #define HPD_INT_THD_ECO_DP_TRANS_P0_HIGH_BOUND_EXT BIT(1)
  269. #define MTK_DP_TRANS_P0_34A4 0x34a4
  270. #define LANE_NUM_DP_TRANS_P0_MASK GENMASK(3, 2)
  271. #define MTK_DP_TRANS_P0_3540 0x3540
  272. #define FEC_EN_DP_TRANS_P0_MASK BIT(0)
  273. #define FEC_CLOCK_EN_MODE_DP_TRANS_P0 BIT(3)
  274. #define MTK_DP_TRANS_P0_3580 0x3580
  275. #define POST_MISC_DATA_LANE0_OV_DP_TRANS_P0_MASK BIT(8)
  276. #define POST_MISC_DATA_LANE1_OV_DP_TRANS_P0_MASK BIT(9)
  277. #define POST_MISC_DATA_LANE2_OV_DP_TRANS_P0_MASK BIT(10)
  278. #define POST_MISC_DATA_LANE3_OV_DP_TRANS_P0_MASK BIT(11)
  279. #define MTK_DP_TRANS_P0_35C8 0x35c8
  280. #define SW_IRQ_CLR_DP_TRANS_P0_MASK GENMASK(15, 0)
  281. #define SW_IRQ_STATUS_DP_TRANS_P0_MASK GENMASK(15, 0)
  282. #define MTK_DP_TRANS_P0_35D0 0x35d0
  283. #define SW_IRQ_FINAL_STATUS_DP_TRANS_P0_MASK GENMASK(15, 0)
  284. #define MTK_DP_TRANS_P0_35F0 0x35f0
  285. #define DP_TRANS_DUMMY_RW_0 BIT(3)
  286. #define DP_TRANS_DUMMY_RW_0_MASK GENMASK(3, 2)
  287. /* offset: AUX_OFFSET (0x3600) */
  288. #define MTK_DP_AUX_P0_360C 0x360c
  289. #define AUX_TIMEOUT_THR_AUX_TX_P0_MASK GENMASK(12, 0)
  290. #define AUX_TIMEOUT_THR_AUX_TX_P0_VAL 0x1595
  291. #define MTK_DP_AUX_P0_3614 0x3614
  292. #define AUX_RX_UI_CNT_THR_AUX_TX_P0_MASK GENMASK(6, 0)
  293. #define AUX_RX_UI_CNT_THR_AUX_FOR_26M 13
  294. #define MTK_DP_AUX_P0_3618 0x3618
  295. #define AUX_RX_FIFO_FULL_AUX_TX_P0_MASK BIT(9)
  296. #define AUX_RX_FIFO_WRITE_POINTER_AUX_TX_P0_MASK GENMASK(3, 0)
  297. #define MTK_DP_AUX_P0_3620 0x3620
  298. #define AUX_RD_MODE_AUX_TX_P0_MASK BIT(9)
  299. #define AUX_RX_FIFO_READ_PULSE_TX_P0 BIT(8)
  300. #define AUX_RX_FIFO_READ_DATA_AUX_TX_P0_MASK GENMASK(7, 0)
  301. #define MTK_DP_AUX_P0_3624 0x3624
  302. #define AUX_RX_REPLY_COMMAND_AUX_TX_P0_MASK GENMASK(3, 0)
  303. #define MTK_DP_AUX_P0_3628 0x3628
  304. #define AUX_RX_PHY_STATE_AUX_TX_P0_MASK GENMASK(9, 0)
  305. #define AUX_RX_PHY_STATE_AUX_TX_P0_RX_IDLE BIT(0)
  306. #define MTK_DP_AUX_P0_362C 0x362c
  307. #define AUX_NO_LENGTH_AUX_TX_P0 BIT(0)
  308. #define AUX_TX_AUXTX_OV_EN_AUX_TX_P0_MASK BIT(1)
  309. #define AUX_RESERVED_RW_0_AUX_TX_P0_MASK GENMASK(15, 2)
  310. #define MTK_DP_AUX_P0_3630 0x3630
  311. #define AUX_TX_REQUEST_READY_AUX_TX_P0 BIT(3)
  312. #define MTK_DP_AUX_P0_3634 0x3634
  313. #define AUX_TX_OVER_SAMPLE_RATE_AUX_TX_P0_MASK GENMASK(15, 8)
  314. #define AUX_TX_OVER_SAMPLE_RATE_FOR_26M 25
  315. #define MTK_DP_AUX_P0_3640 0x3640
  316. #define AUX_RX_AUX_RECV_COMPLETE_IRQ_AUX_TX_P0 BIT(6)
  317. #define AUX_RX_EDID_RECV_COMPLETE_IRQ_AUX_TX_P0 BIT(5)
  318. #define AUX_RX_MCCS_RECV_COMPLETE_IRQ_AUX_TX_P0 BIT(4)
  319. #define AUX_RX_CMD_RECV_IRQ_AUX_TX_P0 BIT(3)
  320. #define AUX_RX_ADDR_RECV_IRQ_AUX_TX_P0 BIT(2)
  321. #define AUX_RX_DATA_RECV_IRQ_AUX_TX_P0 BIT(1)
  322. #define AUX_400US_TIMEOUT_IRQ_AUX_TX_P0 BIT(0)
  323. #define DP_AUX_P0_3640_VAL (AUX_400US_TIMEOUT_IRQ_AUX_TX_P0 | \
  324. AUX_RX_DATA_RECV_IRQ_AUX_TX_P0 | \
  325. AUX_RX_ADDR_RECV_IRQ_AUX_TX_P0 | \
  326. AUX_RX_CMD_RECV_IRQ_AUX_TX_P0 | \
  327. AUX_RX_MCCS_RECV_COMPLETE_IRQ_AUX_TX_P0 | \
  328. AUX_RX_EDID_RECV_COMPLETE_IRQ_AUX_TX_P0 | \
  329. AUX_RX_AUX_RECV_COMPLETE_IRQ_AUX_TX_P0)
  330. #define MTK_DP_AUX_P0_3644 0x3644
  331. #define MCU_REQUEST_COMMAND_AUX_TX_P0_MASK GENMASK(3, 0)
  332. #define MTK_DP_AUX_P0_3648 0x3648
  333. #define MCU_REQUEST_ADDRESS_LSB_AUX_TX_P0_MASK GENMASK(15, 0)
  334. #define MTK_DP_AUX_P0_364C 0x364c
  335. #define MCU_REQUEST_ADDRESS_MSB_AUX_TX_P0_MASK GENMASK(3, 0)
  336. #define MTK_DP_AUX_P0_3650 0x3650
  337. #define MCU_REQ_DATA_NUM_AUX_TX_P0_MASK GENMASK(15, 12)
  338. #define PHY_FIFO_RST_AUX_TX_P0_MASK BIT(9)
  339. #define MCU_ACK_TRAN_COMPLETE_AUX_TX_P0 BIT(8)
  340. #define MTK_DP_AUX_P0_3658 0x3658
  341. #define AUX_TX_OV_EN_AUX_TX_P0_MASK BIT(0)
  342. #define MTK_DP_AUX_P0_3690 0x3690
  343. #define RX_REPLY_COMPLETE_MODE_AUX_TX_P0 BIT(8)
  344. #define MTK_DP_AUX_P0_3704 0x3704
  345. #define AUX_TX_FIFO_WDATA_NEW_MODE_T_AUX_TX_P0_MASK BIT(1)
  346. #define AUX_TX_FIFO_NEW_MODE_EN_AUX_TX_P0 BIT(2)
  347. #define MTK_DP_AUX_P0_3708 0x3708
  348. #define MTK_DP_AUX_P0_37C8 0x37c8
  349. #define MTK_ATOP_EN_AUX_TX_P0 BIT(0)
  350. #endif /*_MTK_DP_REG_H_*/