Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
0004  */
0005 
0006 #ifndef _DP_REG_H_
0007 #define _DP_REG_H_
0008 
0009 /* DP_TX Registers */
0010 #define REG_DP_HW_VERSION           (0x00000000)
0011 
0012 #define REG_DP_SW_RESET             (0x00000010)
0013 #define DP_SW_RESET             (0x00000001)
0014 
0015 #define REG_DP_PHY_CTRL             (0x00000014)
0016 #define DP_PHY_CTRL_SW_RESET_PLL        (0x00000001)
0017 #define DP_PHY_CTRL_SW_RESET            (0x00000004)
0018 
0019 #define REG_DP_CLK_CTRL             (0x00000018)
0020 #define REG_DP_CLK_ACTIVE           (0x0000001C)
0021 #define REG_DP_INTR_STATUS          (0x00000020)
0022 #define REG_DP_INTR_STATUS2         (0x00000024)
0023 #define REG_DP_INTR_STATUS3         (0x00000028)
0024 
0025 #define REG_DP_DP_HPD_CTRL          (0x00000000)
0026 #define DP_DP_HPD_CTRL_HPD_EN           (0x00000001)
0027 
0028 #define REG_DP_DP_HPD_INT_STATUS        (0x00000004)
0029 
0030 #define REG_DP_DP_HPD_INT_ACK           (0x00000008)
0031 #define DP_DP_HPD_PLUG_INT_ACK          (0x00000001)
0032 #define DP_DP_IRQ_HPD_INT_ACK           (0x00000002)
0033 #define DP_DP_HPD_REPLUG_INT_ACK        (0x00000004)
0034 #define DP_DP_HPD_UNPLUG_INT_ACK        (0x00000008)
0035 #define DP_DP_HPD_STATE_STATUS_BITS_MASK    (0x0000000F)
0036 #define DP_DP_HPD_STATE_STATUS_BITS_SHIFT   (0x1C)
0037 
0038 #define REG_DP_DP_HPD_INT_MASK          (0x0000000C)
0039 #define DP_DP_HPD_PLUG_INT_MASK         (0x00000001)
0040 #define DP_DP_IRQ_HPD_INT_MASK          (0x00000002)
0041 #define DP_DP_HPD_REPLUG_INT_MASK       (0x00000004)
0042 #define DP_DP_HPD_UNPLUG_INT_MASK       (0x00000008)
0043 #define DP_DP_HPD_INT_MASK          (DP_DP_HPD_PLUG_INT_MASK | \
0044                         DP_DP_IRQ_HPD_INT_MASK | \
0045                         DP_DP_HPD_REPLUG_INT_MASK | \
0046                         DP_DP_HPD_UNPLUG_INT_MASK)
0047 #define DP_DP_HPD_STATE_STATUS_CONNECTED    (0x40000000)
0048 #define DP_DP_HPD_STATE_STATUS_PENDING      (0x20000000)
0049 #define DP_DP_HPD_STATE_STATUS_DISCONNECTED (0x00000000)
0050 #define DP_DP_HPD_STATE_STATUS_MASK     (0xE0000000)
0051 
0052 #define REG_DP_DP_HPD_REFTIMER          (0x00000018)
0053 #define DP_DP_HPD_REFTIMER_ENABLE       (1 << 16)
0054 
0055 #define REG_DP_DP_HPD_EVENT_TIME_0      (0x0000001C)
0056 #define REG_DP_DP_HPD_EVENT_TIME_1      (0x00000020)
0057 #define DP_DP_HPD_EVENT_TIME_0_VAL      (0x3E800FA)
0058 #define DP_DP_HPD_EVENT_TIME_1_VAL      (0x1F407D0)
0059 
0060 #define REG_DP_AUX_CTRL             (0x00000030)
0061 #define DP_AUX_CTRL_ENABLE          (0x00000001)
0062 #define DP_AUX_CTRL_RESET           (0x00000002)
0063 
0064 #define REG_DP_AUX_DATA             (0x00000034)
0065 #define DP_AUX_DATA_READ            (0x00000001)
0066 #define DP_AUX_DATA_WRITE           (0x00000000)
0067 #define DP_AUX_DATA_OFFSET          (0x00000008)
0068 #define DP_AUX_DATA_INDEX_OFFSET        (0x00000010)
0069 #define DP_AUX_DATA_MASK            (0x0000ff00)
0070 #define DP_AUX_DATA_INDEX_WRITE         (0x80000000)
0071 
0072 #define REG_DP_AUX_TRANS_CTRL           (0x00000038)
0073 #define DP_AUX_TRANS_CTRL_I2C           (0x00000100)
0074 #define DP_AUX_TRANS_CTRL_GO            (0x00000200)
0075 #define DP_AUX_TRANS_CTRL_NO_SEND_ADDR      (0x00000400)
0076 #define DP_AUX_TRANS_CTRL_NO_SEND_STOP      (0x00000800)
0077 
0078 #define REG_DP_TIMEOUT_COUNT            (0x0000003C)
0079 #define REG_DP_AUX_LIMITS           (0x00000040)
0080 #define REG_DP_AUX_STATUS           (0x00000044)
0081 
0082 #define DP_DPCD_CP_IRQ              (0x201)
0083 #define DP_DPCD_RXSTATUS            (0x69493)
0084 
0085 #define DP_INTERRUPT_TRANS_NUM          (0x000000A0)
0086 
0087 #define REG_DP_MAINLINK_CTRL            (0x00000000)
0088 #define DP_MAINLINK_CTRL_ENABLE         (0x00000001)
0089 #define DP_MAINLINK_CTRL_RESET          (0x00000002)
0090 #define DP_MAINLINK_CTRL_SW_BYPASS_SCRAMBLER    (0x00000010)
0091 #define DP_MAINLINK_FB_BOUNDARY_SEL     (0x02000000)
0092 
0093 #define REG_DP_STATE_CTRL           (0x00000004)
0094 #define DP_STATE_CTRL_LINK_TRAINING_PATTERN1    (0x00000001)
0095 #define DP_STATE_CTRL_LINK_TRAINING_PATTERN2    (0x00000002)
0096 #define DP_STATE_CTRL_LINK_TRAINING_PATTERN3    (0x00000004)
0097 #define DP_STATE_CTRL_LINK_TRAINING_PATTERN4    (0x00000008)
0098 #define DP_STATE_CTRL_LINK_SYMBOL_ERR_MEASURE   (0x00000010)
0099 #define DP_STATE_CTRL_LINK_PRBS7        (0x00000020)
0100 #define DP_STATE_CTRL_LINK_TEST_CUSTOM_PATTERN  (0x00000040)
0101 #define DP_STATE_CTRL_SEND_VIDEO        (0x00000080)
0102 #define DP_STATE_CTRL_PUSH_IDLE         (0x00000100)
0103 
0104 #define REG_DP_CONFIGURATION_CTRL       (0x00000008)
0105 #define DP_CONFIGURATION_CTRL_SYNC_ASYNC_CLK    (0x00000001)
0106 #define DP_CONFIGURATION_CTRL_STATIC_DYNAMIC_CN (0x00000002)
0107 #define DP_CONFIGURATION_CTRL_P_INTERLACED  (0x00000004)
0108 #define DP_CONFIGURATION_CTRL_INTERLACED_BTF    (0x00000008)
0109 #define DP_CONFIGURATION_CTRL_NUM_OF_LANES  (0x00000010)
0110 #define DP_CONFIGURATION_CTRL_ENHANCED_FRAMING  (0x00000040)
0111 #define DP_CONFIGURATION_CTRL_SEND_VSC      (0x00000080)
0112 #define DP_CONFIGURATION_CTRL_BPC       (0x00000100)
0113 #define DP_CONFIGURATION_CTRL_ASSR      (0x00000400)
0114 #define DP_CONFIGURATION_CTRL_RGB_YUV       (0x00000800)
0115 #define DP_CONFIGURATION_CTRL_LSCLK_DIV     (0x00002000)
0116 #define DP_CONFIGURATION_CTRL_NUM_OF_LANES_SHIFT    (0x04)
0117 #define DP_CONFIGURATION_CTRL_BPC_SHIFT     (0x08)
0118 #define DP_CONFIGURATION_CTRL_LSCLK_DIV_SHIFT   (0x0D)
0119 
0120 #define REG_DP_SOFTWARE_MVID            (0x00000010)
0121 #define REG_DP_SOFTWARE_NVID            (0x00000018)
0122 #define REG_DP_TOTAL_HOR_VER            (0x0000001C)
0123 #define REG_DP_START_HOR_VER_FROM_SYNC      (0x00000020)
0124 #define REG_DP_HSYNC_VSYNC_WIDTH_POLARITY   (0x00000024)
0125 #define REG_DP_ACTIVE_HOR_VER           (0x00000028)
0126 
0127 #define REG_DP_MISC1_MISC0          (0x0000002C)
0128 #define DP_MISC0_SYNCHRONOUS_CLK        (0x00000001)
0129 #define DP_MISC0_COLORIMETRY_CFG_SHIFT      (0x00000001)
0130 #define DP_MISC0_TEST_BITS_DEPTH_SHIFT      (0x00000005)
0131 
0132 #define REG_DP_VALID_BOUNDARY           (0x00000030)
0133 #define REG_DP_VALID_BOUNDARY_2         (0x00000034)
0134 
0135 #define REG_DP_LOGICAL2PHYSICAL_LANE_MAPPING    (0x00000038)
0136 #define LANE0_MAPPING_SHIFT         (0x00000000)
0137 #define LANE1_MAPPING_SHIFT         (0x00000002)
0138 #define LANE2_MAPPING_SHIFT         (0x00000004)
0139 #define LANE3_MAPPING_SHIFT         (0x00000006)
0140 
0141 #define REG_DP_MAINLINK_READY           (0x00000040)
0142 #define DP_MAINLINK_READY_FOR_VIDEO     (0x00000001)
0143 #define DP_MAINLINK_READY_LINK_TRAINING_SHIFT   (0x00000003)
0144 
0145 #define REG_DP_MAINLINK_LEVELS          (0x00000044)
0146 #define DP_MAINLINK_SAFE_TO_EXIT_LEVEL_2    (0x00000002)
0147 
0148 
0149 #define REG_DP_TU               (0x0000004C)
0150 
0151 #define REG_DP_HBR2_COMPLIANCE_SCRAMBLER_RESET  (0x00000054)
0152 #define DP_HBR2_ERM_PATTERN         (0x00010000)
0153 
0154 #define REG_DP_TEST_80BIT_CUSTOM_PATTERN_REG0   (0x000000C0)
0155 #define REG_DP_TEST_80BIT_CUSTOM_PATTERN_REG1   (0x000000C4)
0156 #define REG_DP_TEST_80BIT_CUSTOM_PATTERN_REG2   (0x000000C8)
0157 
0158 #define MMSS_DP_MISC1_MISC0         (0x0000002C)
0159 #define MMSS_DP_AUDIO_TIMING_GEN        (0x00000080)
0160 #define MMSS_DP_AUDIO_TIMING_RBR_32     (0x00000084)
0161 #define MMSS_DP_AUDIO_TIMING_HBR_32     (0x00000088)
0162 #define MMSS_DP_AUDIO_TIMING_RBR_44     (0x0000008C)
0163 #define MMSS_DP_AUDIO_TIMING_HBR_44     (0x00000090)
0164 #define MMSS_DP_AUDIO_TIMING_RBR_48     (0x00000094)
0165 #define MMSS_DP_AUDIO_TIMING_HBR_48     (0x00000098)
0166 
0167 #define MMSS_DP_PSR_CRC_RG          (0x00000154)
0168 #define MMSS_DP_PSR_CRC_B           (0x00000158)
0169 
0170 #define REG_DP_COMPRESSION_MODE_CTRL        (0x00000180)
0171 
0172 #define MMSS_DP_AUDIO_CFG           (0x00000200)
0173 #define MMSS_DP_AUDIO_STATUS            (0x00000204)
0174 #define MMSS_DP_AUDIO_PKT_CTRL          (0x00000208)
0175 #define MMSS_DP_AUDIO_PKT_CTRL2         (0x0000020C)
0176 #define MMSS_DP_AUDIO_ACR_CTRL          (0x00000210)
0177 #define MMSS_DP_AUDIO_CTRL_RESET        (0x00000214)
0178 
0179 #define MMSS_DP_SDP_CFG             (0x00000228)
0180 #define MMSS_DP_SDP_CFG2            (0x0000022C)
0181 #define MMSS_DP_AUDIO_TIMESTAMP_0       (0x00000230)
0182 #define MMSS_DP_AUDIO_TIMESTAMP_1       (0x00000234)
0183 
0184 #define MMSS_DP_AUDIO_STREAM_0          (0x00000240)
0185 #define MMSS_DP_AUDIO_STREAM_1          (0x00000244)
0186 
0187 #define MMSS_DP_EXTENSION_0         (0x00000250)
0188 #define MMSS_DP_EXTENSION_1         (0x00000254)
0189 #define MMSS_DP_EXTENSION_2         (0x00000258)
0190 #define MMSS_DP_EXTENSION_3         (0x0000025C)
0191 #define MMSS_DP_EXTENSION_4         (0x00000260)
0192 #define MMSS_DP_EXTENSION_5         (0x00000264)
0193 #define MMSS_DP_EXTENSION_6         (0x00000268)
0194 #define MMSS_DP_EXTENSION_7         (0x0000026C)
0195 #define MMSS_DP_EXTENSION_8         (0x00000270)
0196 #define MMSS_DP_EXTENSION_9         (0x00000274)
0197 #define MMSS_DP_AUDIO_COPYMANAGEMENT_0      (0x00000278)
0198 #define MMSS_DP_AUDIO_COPYMANAGEMENT_1      (0x0000027C)
0199 #define MMSS_DP_AUDIO_COPYMANAGEMENT_2      (0x00000280)
0200 #define MMSS_DP_AUDIO_COPYMANAGEMENT_3      (0x00000284)
0201 #define MMSS_DP_AUDIO_COPYMANAGEMENT_4      (0x00000288)
0202 #define MMSS_DP_AUDIO_COPYMANAGEMENT_5      (0x0000028C)
0203 #define MMSS_DP_AUDIO_ISRC_0            (0x00000290)
0204 #define MMSS_DP_AUDIO_ISRC_1            (0x00000294)
0205 #define MMSS_DP_AUDIO_ISRC_2            (0x00000298)
0206 #define MMSS_DP_AUDIO_ISRC_3            (0x0000029C)
0207 #define MMSS_DP_AUDIO_ISRC_4            (0x000002A0)
0208 #define MMSS_DP_AUDIO_ISRC_5            (0x000002A4)
0209 #define MMSS_DP_AUDIO_INFOFRAME_0       (0x000002A8)
0210 #define MMSS_DP_AUDIO_INFOFRAME_1       (0x000002AC)
0211 #define MMSS_DP_AUDIO_INFOFRAME_2       (0x000002B0)
0212 
0213 #define MMSS_DP_GENERIC0_0          (0x00000300)
0214 #define MMSS_DP_GENERIC0_1          (0x00000304)
0215 #define MMSS_DP_GENERIC0_2          (0x00000308)
0216 #define MMSS_DP_GENERIC0_3          (0x0000030C)
0217 #define MMSS_DP_GENERIC0_4          (0x00000310)
0218 #define MMSS_DP_GENERIC0_5          (0x00000314)
0219 #define MMSS_DP_GENERIC0_6          (0x00000318)
0220 #define MMSS_DP_GENERIC0_7          (0x0000031C)
0221 #define MMSS_DP_GENERIC0_8          (0x00000320)
0222 #define MMSS_DP_GENERIC0_9          (0x00000324)
0223 #define MMSS_DP_GENERIC1_0          (0x00000328)
0224 #define MMSS_DP_GENERIC1_1          (0x0000032C)
0225 #define MMSS_DP_GENERIC1_2          (0x00000330)
0226 #define MMSS_DP_GENERIC1_3          (0x00000334)
0227 #define MMSS_DP_GENERIC1_4          (0x00000338)
0228 #define MMSS_DP_GENERIC1_5          (0x0000033C)
0229 #define MMSS_DP_GENERIC1_6          (0x00000340)
0230 #define MMSS_DP_GENERIC1_7          (0x00000344)
0231 #define MMSS_DP_GENERIC1_8          (0x00000348)
0232 #define MMSS_DP_GENERIC1_9          (0x0000034C)
0233 
0234 #define MMSS_DP_VSCEXT_0            (0x000002D0)
0235 #define MMSS_DP_VSCEXT_1            (0x000002D4)
0236 #define MMSS_DP_VSCEXT_2            (0x000002D8)
0237 #define MMSS_DP_VSCEXT_3            (0x000002DC)
0238 #define MMSS_DP_VSCEXT_4            (0x000002E0)
0239 #define MMSS_DP_VSCEXT_5            (0x000002E4)
0240 #define MMSS_DP_VSCEXT_6            (0x000002E8)
0241 #define MMSS_DP_VSCEXT_7            (0x000002EC)
0242 #define MMSS_DP_VSCEXT_8            (0x000002F0)
0243 #define MMSS_DP_VSCEXT_9            (0x000002F4)
0244 
0245 #define MMSS_DP_BIST_ENABLE         (0x00000000)
0246 #define DP_BIST_ENABLE_DPBIST_EN        (0x00000001)
0247 
0248 #define MMSS_DP_TIMING_ENGINE_EN        (0x00000010)
0249 #define DP_TIMING_ENGINE_EN_EN          (0x00000001)
0250 
0251 #define MMSS_DP_INTF_CONFIG         (0x00000014)
0252 #define MMSS_DP_INTF_HSYNC_CTL          (0x00000018)
0253 #define MMSS_DP_INTF_VSYNC_PERIOD_F0        (0x0000001C)
0254 #define MMSS_DP_INTF_VSYNC_PERIOD_F1        (0x00000020)
0255 #define MMSS_DP_INTF_VSYNC_PULSE_WIDTH_F0   (0x00000024)
0256 #define MMSS_DP_INTF_VSYNC_PULSE_WIDTH_F1   (0x00000028)
0257 #define MMSS_INTF_DISPLAY_V_START_F0        (0x0000002C)
0258 #define MMSS_INTF_DISPLAY_V_START_F1        (0x00000030)
0259 #define MMSS_DP_INTF_DISPLAY_V_END_F0       (0x00000034)
0260 #define MMSS_DP_INTF_DISPLAY_V_END_F1       (0x00000038)
0261 #define MMSS_DP_INTF_ACTIVE_V_START_F0      (0x0000003C)
0262 #define MMSS_DP_INTF_ACTIVE_V_START_F1      (0x00000040)
0263 #define MMSS_DP_INTF_ACTIVE_V_END_F0        (0x00000044)
0264 #define MMSS_DP_INTF_ACTIVE_V_END_F1        (0x00000048)
0265 #define MMSS_DP_INTF_DISPLAY_HCTL       (0x0000004C)
0266 #define MMSS_DP_INTF_ACTIVE_HCTL        (0x00000050)
0267 #define MMSS_DP_INTF_POLARITY_CTL       (0x00000058)
0268 
0269 #define MMSS_DP_TPG_MAIN_CONTROL        (0x00000060)
0270 #define MMSS_DP_DSC_DTO             (0x0000007C)
0271 #define DP_TPG_CHECKERED_RECT_PATTERN       (0x00000100)
0272 
0273 #define MMSS_DP_TPG_VIDEO_CONFIG        (0x00000064)
0274 #define DP_TPG_VIDEO_CONFIG_BPP_8BIT        (0x00000001)
0275 #define DP_TPG_VIDEO_CONFIG_RGB         (0x00000004)
0276 
0277 #define MMSS_DP_ASYNC_FIFO_CONFIG       (0x00000088)
0278 
0279 #define REG_DP_PHY_AUX_INTERRUPT_CLEAR          (0x0000004C)
0280 #define REG_DP_PHY_AUX_BIST_CFG         (0x00000050)
0281 #define REG_DP_PHY_AUX_INTERRUPT_STATUS         (0x000000BC)
0282 
0283 /* DP HDCP 1.3 registers */
0284 #define DP_HDCP_CTRL                                   (0x0A0)
0285 #define DP_HDCP_STATUS                                 (0x0A4)
0286 #define DP_HDCP_SW_UPPER_AKSV                          (0x098)
0287 #define DP_HDCP_SW_LOWER_AKSV                          (0x09C)
0288 #define DP_HDCP_ENTROPY_CTRL0                          (0x350)
0289 #define DP_HDCP_ENTROPY_CTRL1                          (0x35C)
0290 #define DP_HDCP_SHA_STATUS                             (0x0C8)
0291 #define DP_HDCP_RCVPORT_DATA2_0                        (0x0B0)
0292 #define DP_HDCP_RCVPORT_DATA3                          (0x0A4)
0293 #define DP_HDCP_RCVPORT_DATA4                          (0x0A8)
0294 #define DP_HDCP_RCVPORT_DATA5                          (0x0C0)
0295 #define DP_HDCP_RCVPORT_DATA6                          (0x0C4)
0296 
0297 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_SHA_CTRL           (0x024)
0298 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_SHA_DATA           (0x028)
0299 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA0      (0x004)
0300 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA1      (0x008)
0301 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA7      (0x00C)
0302 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA8      (0x010)
0303 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA9      (0x014)
0304 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA10     (0x018)
0305 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA11     (0x01C)
0306 #define HDCP_SEC_DP_TZ_HV_HLOS_HDCP_RCVPORT_DATA12     (0x020)
0307 
0308 #endif /* _DP_REG_H_ */