1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2022 Fuzhou Rockchip Electronics Co., Ltd 4 */ 5 #ifndef __DW_HDMI_QP_H__ 6 #define __DW_HDMI_QP_H__ 7 /* Main Unit Registers */ 8 #define CORE_ID 0x0 9 #define VER_NUMBER 0x4 10 #define VER_TYPE 0x8 11 #define CONFIG_REG 0xc 12 #define CONFIG_CEC BIT(28) 13 #define CONFIG_AUD_UD BIT(23) 14 #define CORE_TIMESTAMP_HHMM 0x14 15 #define CORE_TIMESTAMP_MMDD 0x18 16 #define CORE_TIMESTAMP_YYYY 0x1c 17 /* Reset Manager Registers */ 18 #define GLOBAL_SWRESET_REQUEST 0x40 19 #define EARCRX_CMDC_SWINIT_P BIT(27) 20 #define AVP_DATAPATH_PACKET_AUDIO_SWINIT_P BIT(10) 21 #define AVP_DATAPATH_SWINIT_P BIT(6) 22 #define GLOBAL_SWDISABLE 0x44 23 #define CEC_SWDISABLE BIT(17) 24 #define AVP_DATAPATH_PACKET_AUDIO_SWDISABLE BIT(10) 25 #define AVP_DATAPATH_VIDEO_SWDISABLE BIT(6) 26 #define RESET_MANAGER_CONFIG0 0x48 27 #define RESET_MANAGER_STATUS0 0x50 28 #define RESET_MANAGER_STATUS1 0x54 29 #define RESET_MANAGER_STATUS2 0x58 30 /* Timer Base Registers */ 31 #define TIMER_BASE_CONFIG0 0x80 32 #define TIMER_BASE_STATUS0 0x84 33 /* CMU Registers */ 34 #define CMU_CONFIG0 0xa0 35 #define CMU_CONFIG1 0xa4 36 #define CMU_CONFIG2 0xa8 37 #define CMU_CONFIG3 0xac 38 #define CMU_STATUS 0xb0 39 #define EARC_BPCLK_OFF BIT(9) 40 #define AUDCLK_OFF BIT(7) 41 #define LINKQPCLK_OFF BIT(5) 42 #define VIDQPCLK_OFF BIT(3) 43 #define IPI_CLK_OFF BIT(1) 44 #define CMU_IPI_CLK_FREQ 0xb4 45 #define CMU_VIDQPCLK_FREQ 0xb8 46 #define CMU_LINKQPCLK_FREQ 0xbc 47 #define CMU_AUDQPCLK_FREQ 0xc0 48 #define CMU_EARC_BPCLK_FREQ 0xc4 49 /* I2CM Registers */ 50 #define I2CM_SM_SCL_CONFIG0 0xe0 51 #define I2CM_FM_SCL_CONFIG0 0xe4 52 #define I2CM_CONFIG0 0xe8 53 #define I2CM_CONTROL0 0xec 54 #define I2CM_STATUS0 0xf0 55 #define I2CM_INTERFACE_CONTROL0 0xf4 56 #define I2CM_ADDR 0xff000 57 #define I2CM_SLVADDR 0xfe0 58 #define I2CM_WR_MASK 0x1e 59 #define I2CM_NBYTES_MASK (0xf << 20) 60 #define I2CM_16BYTES (0xf << 20) 61 #define I2CM_1BYTES (0 << 20) 62 #define I2CM_EXT_READ BIT(4) 63 #define I2CM_SHORT_READ BIT(3) 64 #define I2CM_FM_READ BIT(2) 65 #define I2CM_FM_WRITE BIT(1) 66 #define I2CM_FM_EN BIT(0) 67 #define I2CM_INTERFACE_CONTROL1 0xf8 68 #define I2CM_SEG_PTR 0x7f80 69 #define I2CM_SEG_ADDR 0x7f 70 #define I2CM_INTERFACE_WRDATA_0_3 0xfc 71 #define I2CM_INTERFACE_WRDATA_4_7 0x100 72 #define I2CM_INTERFACE_WRDATA_8_11 0x104 73 #define I2CM_INTERFACE_WRDATA_12_15 0x108 74 #define I2CM_INTERFACE_RDDATA_0_3 0x10c 75 #define I2CM_INTERFACE_RDDATA_4_7 0x110 76 #define I2CM_INTERFACE_RDDATA_8_11 0x114 77 #define I2CM_INTERFACE_RDDATA_12_15 0x118 78 /* SCDC Registers */ 79 #define SCDC_CONFIG0 0x140 80 #define SCDC_I2C_FM_EN BIT(12) 81 #define SCDC_UPD_FLAGS_AUTO_CLR BIT(6) 82 #define SCDC_UPD_FLAGS_POLL_EN BIT(4) 83 #define SCDC_CONTROL0 0x148 84 #define SCDC_STATUS0 0x150 85 #define STATUS_UPDATE BIT(0) 86 #define FRL_START BIT(4) 87 #define FLT_UPDATE BIT(5) 88 /* FLT Registers */ 89 #define FLT_CONFIG0 0x160 90 #define FLT_CONFIG1 0x164 91 #define FLT_CONFIG2 0x168 92 #define FLT_CONTROL0 0x170 93 /* Main Unit 2 Registers */ 94 #define MAINUNIT_STATUS0 0x180 95 /* Video Interface Registers */ 96 #define VIDEO_INTERFACE_CONFIG0 0x800 97 #define VIDEO_INTERFACE_CONFIG1 0x804 98 #define VIDEO_INTERFACE_CONFIG2 0x808 99 #define VIDEO_INTERFACE_CONTROL0 0x80c 100 #define VIDEO_INTERFACE_STATUS0 0x814 101 /* Video Packing Registers */ 102 #define VIDEO_PACKING_CONFIG0 0x81c 103 /* Audio Interface Registers */ 104 #define AUDIO_INTERFACE_CONFIG0 0x820 105 #define AUD_IF_SEL_MSK 0x3 106 #define AUD_IF_SPDIF 0x2 107 #define AUD_IF_I2S 0x1 108 #define AUD_IF_PAI 0x0 109 #define AUD_FIFO_INIT_ON_OVF_MSK BIT(2) 110 #define AUD_FIFO_INIT_ON_OVF_EN BIT(2) 111 #define I2S_LINES_EN_MSK GENMASK(7, 4) 112 #define I2S_LINES_EN(x) BIT((x) + 4) 113 #define I2S_BPCUV_RCV_MSK BIT(12) 114 #define I2S_BPCUV_RCV_EN BIT(12) 115 #define I2S_BPCUV_RCV_DIS 0 116 #define SPDIF_LINES_EN GENMASK(19, 16) 117 #define AUD_FORMAT_MSK GENMASK(26, 24) 118 #define AUD_3DOBA (0x7 << 24) 119 #define AUD_3DASP (0x6 << 24) 120 #define AUD_MSOBA (0x5 << 24) 121 #define AUD_MSASP (0x4 << 24) 122 #define AUD_HBR (0x3 << 24) 123 #define AUD_DST (0x2 << 24) 124 #define AUD_OBA (0x1 << 24) 125 #define AUD_ASP (0x0 << 24) 126 #define AUDIO_INTERFACE_CONFIG1 0x824 127 #define AUDIO_INTERFACE_CONTROL0 0x82c 128 #define AUDIO_FIFO_CLR_P BIT(0) 129 #define AUDIO_INTERFACE_STATUS0 0x834 130 /* Frame Composer Registers */ 131 #define FRAME_COMPOSER_CONFIG0 0x840 132 #define FRAME_COMPOSER_CONFIG1 0x844 133 #define FRAME_COMPOSER_CONFIG2 0x848 134 #define FRAME_COMPOSER_CONFIG3 0x84c 135 #define FRAME_COMPOSER_CONFIG4 0x850 136 #define FRAME_COMPOSER_CONFIG5 0x854 137 #define FRAME_COMPOSER_CONFIG6 0x858 138 #define FRAME_COMPOSER_CONFIG7 0x85c 139 #define FRAME_COMPOSER_CONFIG8 0x860 140 #define FRAME_COMPOSER_CONFIG9 0x864 141 #define KEEPOUT_REKEY_CFG GENMASK(9, 8) 142 #define KEEPOUT_REKEY_ALWAYS (0x2 << 8) 143 #define FRAME_COMPOSER_CONTROL0 0x86c 144 /* Video Monitor Registers */ 145 #define VIDEO_MONITOR_CONFIG0 0x880 146 #define VIDEO_MONITOR_STATUS0 0x884 147 #define VIDEO_MONITOR_STATUS1 0x888 148 #define VIDEO_MONITOR_STATUS2 0x88c 149 #define VIDEO_MONITOR_STATUS3 0x890 150 #define VIDEO_MONITOR_STATUS4 0x894 151 #define VIDEO_MONITOR_STATUS5 0x898 152 #define VIDEO_MONITOR_STATUS6 0x89c 153 /* HDCP2 Logic Registers */ 154 #define HDCP2LOGIC_CONFIG0 0x8e0 155 #define HDCP2_BYPASS BIT(0) 156 #define HDCP2LOGIC_ESM_GPIO_IN 0x8e4 157 #define HDCP2LOGIC_ESM_GPIO_OUT 0x8e8 158 /* HDCP14 Registers */ 159 #define HDCP14_CONFIG0 0x900 160 #define HDCP14_CONFIG1 0x904 161 #define HDCP14_CONFIG2 0x908 162 #define HDCP14_CONFIG3 0x90c 163 #define HDCP14_KEY_SEED 0x914 164 #define HDCP14_KEY_H 0x918 165 #define HDCP14_KEY_L 0x91c 166 #define HDCP14_KEY_STATUS 0x920 167 #define HDCP14_AKSV_H 0x924 168 #define HDCP14_AKSV_L 0x928 169 #define HDCP14_AN_H 0x92c 170 #define HDCP14_AN_L 0x930 171 #define HDCP14_STATUS0 0x934 172 #define HDCP14_STATUS1 0x938 173 /* Scrambler Registers */ 174 #define SCRAMB_CONFIG0 0x960 175 /* Video Configuration Registers */ 176 #define LINK_CONFIG0 0x968 177 #define OPMODE_FRL_4LANES BIT(8) 178 #define OPMODE_DVI BIT(4) 179 #define OPMODE_FRL BIT(0) 180 /* TMDS FIFO Registers */ 181 #define TMDS_FIFO_CONFIG0 0x970 182 #define TMDS_FIFO_CONTROL0 0x974 183 /* FRL RSFEC Registers */ 184 #define FRL_RSFEC_CONFIG0 0xa20 185 #define FRL_RSFEC_STATUS0 0xa30 186 /* FRL Packetizer Registers */ 187 #define FRL_PKTZ_CONFIG0 0xa40 188 #define FRL_PKTZ_CONTROL0 0xa44 189 #define FRL_PKTZ_CONTROL1 0xa50 190 #define FRL_PKTZ_STATUS1 0xa54 191 /* Packet Scheduler Registers */ 192 #define PKTSCHED_CONFIG0 0xa80 193 #define PKTSCHED_PRQUEUE0_CONFIG0 0xa84 194 #define PKTSCHED_PRQUEUE1_CONFIG0 0xa88 195 #define PKTSCHED_PRQUEUE2_CONFIG0 0xa8c 196 #define PKTSCHED_PRQUEUE2_CONFIG1 0xa90 197 #define PKTSCHED_PRQUEUE2_CONFIG2 0xa94 198 #define PKTSCHED_PKT_CONFIG0 0xa98 199 #define PKTSCHED_PKT_CONFIG1 0xa9c 200 #define PKTSCHED_VSI_FIELDRATE BIT(14) 201 #define PKTSCHED_AVI_FIELDRATE BIT(12) 202 #define PKTSCHED_PKT_CONFIG2 0xaa0 203 #define PKTSCHED_PKT_CONFIG3 0xaa4 204 #define PKTSCHED_PKT_EN 0xaa8 205 #define PKTSCHED_DRMI_TX_EN BIT(17) 206 #define PKTSCHED_AUDI_TX_EN BIT(15) 207 #define PKTSCHED_AVI_TX_EN BIT(13) 208 #define PKTSCHED_VSI_TX_EN BIT(12) 209 #define PKTSCHED_EMP_CVTEM_TX_EN BIT(10) 210 #define PKTSCHED_AMD_TX_EN BIT(8) 211 #define PKTSCHED_GCP_TX_EN BIT(3) 212 #define PKTSCHED_AUDS_TX_EN BIT(2) 213 #define PKTSCHED_ACR_TX_EN BIT(1) 214 #define PKTSCHED_NULL_TX_EN BIT(0) 215 #define PKTSCHED_PKT_CONTROL0 0xaac 216 #define PKTSCHED_PKT_SEND 0xab0 217 #define PKTSCHED_PKT_STATUS0 0xab4 218 #define PKTSCHED_PKT_STATUS1 0xab8 219 #define PKT_NULL_CONTENTS0 0xb00 220 #define PKT_NULL_CONTENTS1 0xb04 221 #define PKT_NULL_CONTENTS2 0xb08 222 #define PKT_NULL_CONTENTS3 0xb0c 223 #define PKT_NULL_CONTENTS4 0xb10 224 #define PKT_NULL_CONTENTS5 0xb14 225 #define PKT_NULL_CONTENTS6 0xb18 226 #define PKT_NULL_CONTENTS7 0xb1c 227 #define PKT_ACP_CONTENTS0 0xb20 228 #define PKT_ACP_CONTENTS1 0xb24 229 #define PKT_ACP_CONTENTS2 0xb28 230 #define PKT_ACP_CONTENTS3 0xb2c 231 #define PKT_ACP_CONTENTS4 0xb30 232 #define PKT_ACP_CONTENTS5 0xb34 233 #define PKT_ACP_CONTENTS6 0xb38 234 #define PKT_ACP_CONTENTS7 0xb3c 235 #define PKT_ISRC1_CONTENTS0 0xb40 236 #define PKT_ISRC1_CONTENTS1 0xb44 237 #define PKT_ISRC1_CONTENTS2 0xb48 238 #define PKT_ISRC1_CONTENTS3 0xb4c 239 #define PKT_ISRC1_CONTENTS4 0xb50 240 #define PKT_ISRC1_CONTENTS5 0xb54 241 #define PKT_ISRC1_CONTENTS6 0xb58 242 #define PKT_ISRC1_CONTENTS7 0xb5c 243 #define PKT_ISRC2_CONTENTS0 0xb60 244 #define PKT_ISRC2_CONTENTS1 0xb64 245 #define PKT_ISRC2_CONTENTS2 0xb68 246 #define PKT_ISRC2_CONTENTS3 0xb6c 247 #define PKT_ISRC2_CONTENTS4 0xb70 248 #define PKT_ISRC2_CONTENTS5 0xb74 249 #define PKT_ISRC2_CONTENTS6 0xb78 250 #define PKT_ISRC2_CONTENTS7 0xb7c 251 #define PKT_GMD_CONTENTS0 0xb80 252 #define PKT_GMD_CONTENTS1 0xb84 253 #define PKT_GMD_CONTENTS2 0xb88 254 #define PKT_GMD_CONTENTS3 0xb8c 255 #define PKT_GMD_CONTENTS4 0xb90 256 #define PKT_GMD_CONTENTS5 0xb94 257 #define PKT_GMD_CONTENTS6 0xb98 258 #define PKT_GMD_CONTENTS7 0xb9c 259 #define PKT_AMD_CONTENTS0 0xba0 260 #define PKT_AMD_CONTENTS1 0xba4 261 #define PKT_AMD_CONTENTS2 0xba8 262 #define PKT_AMD_CONTENTS3 0xbac 263 #define PKT_AMD_CONTENTS4 0xbb0 264 #define PKT_AMD_CONTENTS5 0xbb4 265 #define PKT_AMD_CONTENTS6 0xbb8 266 #define PKT_AMD_CONTENTS7 0xbbc 267 #define PKT_VSI_CONTENTS0 0xbc0 268 #define PKT_VSI_CONTENTS1 0xbc4 269 #define PKT_VSI_CONTENTS2 0xbc8 270 #define PKT_VSI_CONTENTS3 0xbcc 271 #define PKT_VSI_CONTENTS4 0xbd0 272 #define PKT_VSI_CONTENTS5 0xbd4 273 #define PKT_VSI_CONTENTS6 0xbd8 274 #define PKT_VSI_CONTENTS7 0xbdc 275 #define PKT_AVI_CONTENTS0 0xbe0 276 #define HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT BIT(4) 277 #define HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR 0x04 278 #define HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR 0x08 279 #define HDMI_FC_AVICONF2_IT_CONTENT_VALID 0x80 280 #define PKT_AVI_CONTENTS1 0xbe4 281 #define PKT_AVI_CONTENTS2 0xbe8 282 #define PKT_AVI_CONTENTS3 0xbec 283 #define PKT_AVI_CONTENTS4 0xbf0 284 #define PKT_AVI_CONTENTS5 0xbf4 285 #define PKT_AVI_CONTENTS6 0xbf8 286 #define PKT_AVI_CONTENTS7 0xbfc 287 #define PKT_SPDI_CONTENTS0 0xc00 288 #define PKT_SPDI_CONTENTS1 0xc04 289 #define PKT_SPDI_CONTENTS2 0xc08 290 #define PKT_SPDI_CONTENTS3 0xc0c 291 #define PKT_SPDI_CONTENTS4 0xc10 292 #define PKT_SPDI_CONTENTS5 0xc14 293 #define PKT_SPDI_CONTENTS6 0xc18 294 #define PKT_SPDI_CONTENTS7 0xc1c 295 #define PKT_AUDI_CONTENTS0 0xc20 296 #define PKT_AUDI_CONTENTS1 0xc24 297 #define PKT_AUDI_CONTENTS2 0xc28 298 #define PKT_AUDI_CONTENTS3 0xc2c 299 #define PKT_AUDI_CONTENTS4 0xc30 300 #define PKT_AUDI_CONTENTS5 0xc34 301 #define PKT_AUDI_CONTENTS6 0xc38 302 #define PKT_AUDI_CONTENTS7 0xc3c 303 #define PKT_NVI_CONTENTS0 0xc40 304 #define PKT_NVI_CONTENTS1 0xc44 305 #define PKT_NVI_CONTENTS2 0xc48 306 #define PKT_NVI_CONTENTS3 0xc4c 307 #define PKT_NVI_CONTENTS4 0xc50 308 #define PKT_NVI_CONTENTS5 0xc54 309 #define PKT_NVI_CONTENTS6 0xc58 310 #define PKT_NVI_CONTENTS7 0xc5c 311 #define PKT_DRMI_CONTENTS0 0xc60 312 #define PKT_DRMI_CONTENTS1 0xc64 313 #define PKT_DRMI_CONTENTS2 0xc68 314 #define PKT_DRMI_CONTENTS3 0xc6c 315 #define PKT_DRMI_CONTENTS4 0xc70 316 #define PKT_DRMI_CONTENTS5 0xc74 317 #define PKT_DRMI_CONTENTS6 0xc78 318 #define PKT_DRMI_CONTENTS7 0xc7c 319 #define PKT_GHDMI1_CONTENTS0 0xc80 320 #define PKT_GHDMI1_CONTENTS1 0xc84 321 #define PKT_GHDMI1_CONTENTS2 0xc88 322 #define PKT_GHDMI1_CONTENTS3 0xc8c 323 #define PKT_GHDMI1_CONTENTS4 0xc90 324 #define PKT_GHDMI1_CONTENTS5 0xc94 325 #define PKT_GHDMI1_CONTENTS6 0xc98 326 #define PKT_GHDMI1_CONTENTS7 0xc9c 327 #define PKT_GHDMI2_CONTENTS0 0xca0 328 #define PKT_GHDMI2_CONTENTS1 0xca4 329 #define PKT_GHDMI2_CONTENTS2 0xca8 330 #define PKT_GHDMI2_CONTENTS3 0xcac 331 #define PKT_GHDMI2_CONTENTS4 0xcb0 332 #define PKT_GHDMI2_CONTENTS5 0xcb4 333 #define PKT_GHDMI2_CONTENTS6 0xcb8 334 #define PKT_GHDMI2_CONTENTS7 0xcbc 335 /* EMP Packetizer Registers */ 336 #define PKT_EMP_CONFIG0 0xce0 337 #define PKT_EMP_CONTROL0 0xcec 338 #define PKT_EMP_CONTROL1 0xcf0 339 #define PKT_EMP_CONTROL2 0xcf4 340 #define PKT_EMP_VTEM_CONTENTS0 0xd00 341 #define PKT_EMP_VTEM_CONTENTS1 0xd04 342 #define PKT_EMP_VTEM_CONTENTS2 0xd08 343 #define PKT_EMP_VTEM_CONTENTS3 0xd0c 344 #define PKT_EMP_VTEM_CONTENTS4 0xd10 345 #define PKT_EMP_VTEM_CONTENTS5 0xd14 346 #define PKT_EMP_VTEM_CONTENTS6 0xd18 347 #define PKT_EMP_VTEM_CONTENTS7 0xd1c 348 #define PKT0_EMP_CVTEM_CONTENTS0 0xd20 349 #define PKT0_EMP_CVTEM_CONTENTS1 0xd24 350 #define PKT0_EMP_CVTEM_CONTENTS2 0xd28 351 #define PKT0_EMP_CVTEM_CONTENTS3 0xd2c 352 #define PKT0_EMP_CVTEM_CONTENTS4 0xd30 353 #define PKT0_EMP_CVTEM_CONTENTS5 0xd34 354 #define PKT0_EMP_CVTEM_CONTENTS6 0xd38 355 #define PKT0_EMP_CVTEM_CONTENTS7 0xd3c 356 #define PKT1_EMP_CVTEM_CONTENTS0 0xd40 357 #define PKT1_EMP_CVTEM_CONTENTS1 0xd44 358 #define PKT1_EMP_CVTEM_CONTENTS2 0xd48 359 #define PKT1_EMP_CVTEM_CONTENTS3 0xd4c 360 #define PKT1_EMP_CVTEM_CONTENTS4 0xd50 361 #define PKT1_EMP_CVTEM_CONTENTS5 0xd54 362 #define PKT1_EMP_CVTEM_CONTENTS6 0xd58 363 #define PKT1_EMP_CVTEM_CONTENTS7 0xd5c 364 #define PKT2_EMP_CVTEM_CONTENTS0 0xd60 365 #define PKT2_EMP_CVTEM_CONTENTS1 0xd64 366 #define PKT2_EMP_CVTEM_CONTENTS2 0xd68 367 #define PKT2_EMP_CVTEM_CONTENTS3 0xd6c 368 #define PKT2_EMP_CVTEM_CONTENTS4 0xd70 369 #define PKT2_EMP_CVTEM_CONTENTS5 0xd74 370 #define PKT2_EMP_CVTEM_CONTENTS6 0xd78 371 #define PKT2_EMP_CVTEM_CONTENTS7 0xd7c 372 #define PKT3_EMP_CVTEM_CONTENTS0 0xd80 373 #define PKT3_EMP_CVTEM_CONTENTS1 0xd84 374 #define PKT3_EMP_CVTEM_CONTENTS2 0xd88 375 #define PKT3_EMP_CVTEM_CONTENTS3 0xd8c 376 #define PKT3_EMP_CVTEM_CONTENTS4 0xd90 377 #define PKT3_EMP_CVTEM_CONTENTS5 0xd94 378 #define PKT3_EMP_CVTEM_CONTENTS6 0xd98 379 #define PKT3_EMP_CVTEM_CONTENTS7 0xd9c 380 #define PKT4_EMP_CVTEM_CONTENTS0 0xda0 381 #define PKT4_EMP_CVTEM_CONTENTS1 0xda4 382 #define PKT4_EMP_CVTEM_CONTENTS2 0xda8 383 #define PKT4_EMP_CVTEM_CONTENTS3 0xdac 384 #define PKT4_EMP_CVTEM_CONTENTS4 0xdb0 385 #define PKT4_EMP_CVTEM_CONTENTS5 0xdb4 386 #define PKT4_EMP_CVTEM_CONTENTS6 0xdb8 387 #define PKT4_EMP_CVTEM_CONTENTS7 0xdbc 388 #define PKT5_EMP_CVTEM_CONTENTS0 0xdc0 389 #define PKT5_EMP_CVTEM_CONTENTS1 0xdc4 390 #define PKT5_EMP_CVTEM_CONTENTS2 0xdc8 391 #define PKT5_EMP_CVTEM_CONTENTS3 0xdcc 392 #define PKT5_EMP_CVTEM_CONTENTS4 0xdd0 393 #define PKT5_EMP_CVTEM_CONTENTS5 0xdd4 394 #define PKT5_EMP_CVTEM_CONTENTS6 0xdd8 395 #define PKT5_EMP_CVTEM_CONTENTS7 0xddc 396 /* Audio Packetizer Registers */ 397 #define AUDPKT_CONTROL0 0xe20 398 #define AUDPKT_CHSTATUS_OVR_EN_MASK BIT(0) 399 #define AUDPKT_CHSTATUS_OVR_EN BIT(0) 400 #define AUDPKT_CONTROL1 0xe24 401 #define AUDPKT_ACR_CONTROL0 0xe40 402 #define AUDPKT_ACR_N_VALUE 0xfffff 403 #define AUDPKT_ACR_CONTROL1 0xe44 404 #define AUDPKT_ACR_CTS_OVR_VAL_MSK GENMASK(23, 4) 405 #define AUDPKT_ACR_CTS_OVR_VAL(x) ((x) << 4) 406 #define AUDPKT_ACR_CTS_OVR_EN_MSK BIT(1) 407 #define AUDPKT_ACR_CTS_OVR_EN BIT(1) 408 #define AUDPKT_ACR_STATUS0 0xe4c 409 #define AUDPKT_CHSTATUS_OVR0 0xe60 410 #define AUDPKT_CHSTATUS_OVR1 0xe64 411 /* IEC60958 Byte 3: Sampleing frenuency Bits 24 to 27 */ 412 #define AUDPKT_CHSTATUS_SR_MASK GENMASK(3, 0) 413 #define AUDPKT_CHSTATUS_SR_22050 0x4 414 #define AUDPKT_CHSTATUS_SR_24000 0x6 415 #define AUDPKT_CHSTATUS_SR_32000 0x3 416 #define AUDPKT_CHSTATUS_SR_44100 0x0 417 #define AUDPKT_CHSTATUS_SR_48000 0x2 418 #define AUDPKT_CHSTATUS_SR_88200 0x8 419 #define AUDPKT_CHSTATUS_SR_96000 0xa 420 #define AUDPKT_CHSTATUS_SR_176400 0xc 421 #define AUDPKT_CHSTATUS_SR_192000 0xe 422 #define AUDPKT_CHSTATUS_SR_768000 0x9 423 #define AUDPKT_CHSTATUS_SR_NOT_INDICATED 0x1 424 /* IEC60958 Byte 4: Original Sampleing frenuency Bits 36 to 39 */ 425 #define AUDPKT_CHSTATUS_0SR_MASK GENMASK(15, 12) 426 #define AUDPKT_CHSTATUS_OSR_8000 0x6 427 #define AUDPKT_CHSTATUS_OSR_11025 0xa 428 #define AUDPKT_CHSTATUS_OSR_12000 0x2 429 #define AUDPKT_CHSTATUS_OSR_16000 0x8 430 #define AUDPKT_CHSTATUS_OSR_22050 0xb 431 #define AUDPKT_CHSTATUS_OSR_24000 0x9 432 #define AUDPKT_CHSTATUS_OSR_32000 0xc 433 #define AUDPKT_CHSTATUS_OSR_44100 0xf 434 #define AUDPKT_CHSTATUS_OSR_48000 0xd 435 #define AUDPKT_CHSTATUS_OSR_88200 0x7 436 #define AUDPKT_CHSTATUS_OSR_96000 0x5 437 #define AUDPKT_CHSTATUS_OSR_176400 0x3 438 #define AUDPKT_CHSTATUS_OSR_192000 0x1 439 #define AUDPKT_CHSTATUS_OSR_NOT_INDICATED 0x0 440 #define AUDPKT_CHSTATUS_OVR2 0xe68 441 #define AUDPKT_CHSTATUS_OVR3 0xe6c 442 #define AUDPKT_CHSTATUS_OVR4 0xe70 443 #define AUDPKT_CHSTATUS_OVR5 0xe74 444 #define AUDPKT_CHSTATUS_OVR6 0xe78 445 #define AUDPKT_CHSTATUS_OVR7 0xe7c 446 #define AUDPKT_CHSTATUS_OVR8 0xe80 447 #define AUDPKT_CHSTATUS_OVR9 0xe84 448 #define AUDPKT_CHSTATUS_OVR10 0xe88 449 #define AUDPKT_CHSTATUS_OVR11 0xe8c 450 #define AUDPKT_CHSTATUS_OVR12 0xe90 451 #define AUDPKT_CHSTATUS_OVR13 0xe94 452 #define AUDPKT_CHSTATUS_OVR14 0xe98 453 #define AUDPKT_USRDATA_OVR_MSG_GENERIC0 0xea0 454 #define AUDPKT_USRDATA_OVR_MSG_GENERIC1 0xea4 455 #define AUDPKT_USRDATA_OVR_MSG_GENERIC2 0xea8 456 #define AUDPKT_USRDATA_OVR_MSG_GENERIC3 0xeac 457 #define AUDPKT_USRDATA_OVR_MSG_GENERIC4 0xeb0 458 #define AUDPKT_USRDATA_OVR_MSG_GENERIC5 0xeb4 459 #define AUDPKT_USRDATA_OVR_MSG_GENERIC6 0xeb8 460 #define AUDPKT_USRDATA_OVR_MSG_GENERIC7 0xebc 461 #define AUDPKT_USRDATA_OVR_MSG_GENERIC8 0xec0 462 #define AUDPKT_USRDATA_OVR_MSG_GENERIC9 0xec4 463 #define AUDPKT_USRDATA_OVR_MSG_GENERIC10 0xec8 464 #define AUDPKT_USRDATA_OVR_MSG_GENERIC11 0xecc 465 #define AUDPKT_USRDATA_OVR_MSG_GENERIC12 0xed0 466 #define AUDPKT_USRDATA_OVR_MSG_GENERIC13 0xed4 467 #define AUDPKT_USRDATA_OVR_MSG_GENERIC14 0xed8 468 #define AUDPKT_USRDATA_OVR_MSG_GENERIC15 0xedc 469 #define AUDPKT_USRDATA_OVR_MSG_GENERIC16 0xee0 470 #define AUDPKT_USRDATA_OVR_MSG_GENERIC17 0xee4 471 #define AUDPKT_USRDATA_OVR_MSG_GENERIC18 0xee8 472 #define AUDPKT_USRDATA_OVR_MSG_GENERIC19 0xeec 473 #define AUDPKT_USRDATA_OVR_MSG_GENERIC20 0xef0 474 #define AUDPKT_USRDATA_OVR_MSG_GENERIC21 0xef4 475 #define AUDPKT_USRDATA_OVR_MSG_GENERIC22 0xef8 476 #define AUDPKT_USRDATA_OVR_MSG_GENERIC23 0xefc 477 #define AUDPKT_USRDATA_OVR_MSG_GENERIC24 0xf00 478 #define AUDPKT_USRDATA_OVR_MSG_GENERIC25 0xf04 479 #define AUDPKT_USRDATA_OVR_MSG_GENERIC26 0xf08 480 #define AUDPKT_USRDATA_OVR_MSG_GENERIC27 0xf0c 481 #define AUDPKT_USRDATA_OVR_MSG_GENERIC28 0xf10 482 #define AUDPKT_USRDATA_OVR_MSG_GENERIC29 0xf14 483 #define AUDPKT_USRDATA_OVR_MSG_GENERIC30 0xf18 484 #define AUDPKT_USRDATA_OVR_MSG_GENERIC31 0xf1c 485 #define AUDPKT_USRDATA_OVR_MSG_GENERIC32 0xf20 486 #define AUDPKT_VBIT_OVR0 0xf24 487 /* CEC Registers */ 488 #define CEC_TX_CONTROL 0x1000 489 #define CEC_STATUS 0x1004 490 #define CEC_CONFIG 0x1008 491 #define CEC_ADDR 0x100c 492 #define CEC_TX_COUNT 0x1020 493 #define CEC_TX_DATA3_0 0x1024 494 #define CEC_TX_DATA7_4 0x1028 495 #define CEC_TX_DATA11_8 0x102c 496 #define CEC_TX_DATA15_12 0x1030 497 #define CEC_RX_COUNT_STATUS 0x1040 498 #define CEC_RX_DATA3_0 0x1044 499 #define CEC_RX_DATA7_4 0x1048 500 #define CEC_RX_DATA11_8 0x104c 501 #define CEC_RX_DATA15_12 0x1050 502 #define CEC_LOCK_CONTROL 0x1054 503 #define CEC_RXQUAL_BITTIME_CONFIG 0x1060 504 #define CEC_RX_BITTIME_CONFIG 0x1064 505 #define CEC_TX_BITTIME_CONFIG 0x1068 506 /* eARC RX CMDC Registers */ 507 #define EARCRX_CMDC_CONFIG0 0x1800 508 #define EARCRX_XACTREAD_STOP_CFG BIT(26) 509 #define EARCRX_XACTREAD_RETRY_CFG BIT(25) 510 #define EARCRX_CMDC_DSCVR_EARCVALID0_TO_DISC1 BIT(24) 511 #define EARCRX_CMDC_XACT_RESTART_EN BIT(18) 512 #define EARCRX_CMDC_CONFIG1 0x1804 513 #define EARCRX_CMDC_CONTROL 0x1808 514 #define EARCRX_CMDC_HEARTBEAT_LOSS_EN BIT(4) 515 #define EARCRX_CMDC_DISCOVERY_EN BIT(3) 516 #define EARCRX_CONNECTOR_HPD BIT(1) 517 #define EARCRX_CMDC_WHITELIST0_CONFIG 0x180c 518 #define EARCRX_CMDC_WHITELIST1_CONFIG 0x1810 519 #define EARCRX_CMDC_WHITELIST2_CONFIG 0x1814 520 #define EARCRX_CMDC_WHITELIST3_CONFIG 0x1818 521 #define EARCRX_CMDC_STATUS 0x181c 522 #define EARCRX_CMDC_XACT_INFO 0x1820 523 #define EARCRX_CMDC_XACT_ACTION 0x1824 524 #define EARCRX_CMDC_HEARTBEAT_RXSTAT_SE 0x1828 525 #define EARCRX_CMDC_HEARTBEAT_STATUS 0x182c 526 #define EARCRX_CMDC_XACT_WR0 0x1840 527 #define EARCRX_CMDC_XACT_WR1 0x1844 528 #define EARCRX_CMDC_XACT_WR2 0x1848 529 #define EARCRX_CMDC_XACT_WR3 0x184c 530 #define EARCRX_CMDC_XACT_WR4 0x1850 531 #define EARCRX_CMDC_XACT_WR5 0x1854 532 #define EARCRX_CMDC_XACT_WR6 0x1858 533 #define EARCRX_CMDC_XACT_WR7 0x185c 534 #define EARCRX_CMDC_XACT_WR8 0x1860 535 #define EARCRX_CMDC_XACT_WR9 0x1864 536 #define EARCRX_CMDC_XACT_WR10 0x1868 537 #define EARCRX_CMDC_XACT_WR11 0x186c 538 #define EARCRX_CMDC_XACT_WR12 0x1870 539 #define EARCRX_CMDC_XACT_WR13 0x1874 540 #define EARCRX_CMDC_XACT_WR14 0x1878 541 #define EARCRX_CMDC_XACT_WR15 0x187c 542 #define EARCRX_CMDC_XACT_WR16 0x1880 543 #define EARCRX_CMDC_XACT_WR17 0x1884 544 #define EARCRX_CMDC_XACT_WR18 0x1888 545 #define EARCRX_CMDC_XACT_WR19 0x188c 546 #define EARCRX_CMDC_XACT_WR20 0x1890 547 #define EARCRX_CMDC_XACT_WR21 0x1894 548 #define EARCRX_CMDC_XACT_WR22 0x1898 549 #define EARCRX_CMDC_XACT_WR23 0x189c 550 #define EARCRX_CMDC_XACT_WR24 0x18a0 551 #define EARCRX_CMDC_XACT_WR25 0x18a4 552 #define EARCRX_CMDC_XACT_WR26 0x18a8 553 #define EARCRX_CMDC_XACT_WR27 0x18ac 554 #define EARCRX_CMDC_XACT_WR28 0x18b0 555 #define EARCRX_CMDC_XACT_WR29 0x18b4 556 #define EARCRX_CMDC_XACT_WR30 0x18b8 557 #define EARCRX_CMDC_XACT_WR31 0x18bc 558 #define EARCRX_CMDC_XACT_WR32 0x18c0 559 #define EARCRX_CMDC_XACT_WR33 0x18c4 560 #define EARCRX_CMDC_XACT_WR34 0x18c8 561 #define EARCRX_CMDC_XACT_WR35 0x18cc 562 #define EARCRX_CMDC_XACT_WR36 0x18d0 563 #define EARCRX_CMDC_XACT_WR37 0x18d4 564 #define EARCRX_CMDC_XACT_WR38 0x18d8 565 #define EARCRX_CMDC_XACT_WR39 0x18dc 566 #define EARCRX_CMDC_XACT_WR40 0x18e0 567 #define EARCRX_CMDC_XACT_WR41 0x18e4 568 #define EARCRX_CMDC_XACT_WR42 0x18e8 569 #define EARCRX_CMDC_XACT_WR43 0x18ec 570 #define EARCRX_CMDC_XACT_WR44 0x18f0 571 #define EARCRX_CMDC_XACT_WR45 0x18f4 572 #define EARCRX_CMDC_XACT_WR46 0x18f8 573 #define EARCRX_CMDC_XACT_WR47 0x18fc 574 #define EARCRX_CMDC_XACT_WR48 0x1900 575 #define EARCRX_CMDC_XACT_WR49 0x1904 576 #define EARCRX_CMDC_XACT_WR50 0x1908 577 #define EARCRX_CMDC_XACT_WR51 0x190c 578 #define EARCRX_CMDC_XACT_WR52 0x1910 579 #define EARCRX_CMDC_XACT_WR53 0x1914 580 #define EARCRX_CMDC_XACT_WR54 0x1918 581 #define EARCRX_CMDC_XACT_WR55 0x191c 582 #define EARCRX_CMDC_XACT_WR56 0x1920 583 #define EARCRX_CMDC_XACT_WR57 0x1924 584 #define EARCRX_CMDC_XACT_WR58 0x1928 585 #define EARCRX_CMDC_XACT_WR59 0x192c 586 #define EARCRX_CMDC_XACT_WR60 0x1930 587 #define EARCRX_CMDC_XACT_WR61 0x1934 588 #define EARCRX_CMDC_XACT_WR62 0x1938 589 #define EARCRX_CMDC_XACT_WR63 0x193c 590 #define EARCRX_CMDC_XACT_WR64 0x1940 591 #define EARCRX_CMDC_XACT_RD0 0x1960 592 #define EARCRX_CMDC_XACT_RD1 0x1964 593 #define EARCRX_CMDC_XACT_RD2 0x1968 594 #define EARCRX_CMDC_XACT_RD3 0x196c 595 #define EARCRX_CMDC_XACT_RD4 0x1970 596 #define EARCRX_CMDC_XACT_RD5 0x1974 597 #define EARCRX_CMDC_XACT_RD6 0x1978 598 #define EARCRX_CMDC_XACT_RD7 0x197c 599 #define EARCRX_CMDC_XACT_RD8 0x1980 600 #define EARCRX_CMDC_XACT_RD9 0x1984 601 #define EARCRX_CMDC_XACT_RD10 0x1988 602 #define EARCRX_CMDC_XACT_RD11 0x198c 603 #define EARCRX_CMDC_XACT_RD12 0x1990 604 #define EARCRX_CMDC_XACT_RD13 0x1994 605 #define EARCRX_CMDC_XACT_RD14 0x1998 606 #define EARCRX_CMDC_XACT_RD15 0x199c 607 #define EARCRX_CMDC_XACT_RD16 0x19a0 608 #define EARCRX_CMDC_XACT_RD17 0x19a4 609 #define EARCRX_CMDC_XACT_RD18 0x19a8 610 #define EARCRX_CMDC_XACT_RD19 0x19ac 611 #define EARCRX_CMDC_XACT_RD20 0x19b0 612 #define EARCRX_CMDC_XACT_RD21 0x19b4 613 #define EARCRX_CMDC_XACT_RD22 0x19b8 614 #define EARCRX_CMDC_XACT_RD23 0x19bc 615 #define EARCRX_CMDC_XACT_RD24 0x19c0 616 #define EARCRX_CMDC_XACT_RD25 0x19c4 617 #define EARCRX_CMDC_XACT_RD26 0x19c8 618 #define EARCRX_CMDC_XACT_RD27 0x19cc 619 #define EARCRX_CMDC_XACT_RD28 0x19d0 620 #define EARCRX_CMDC_XACT_RD29 0x19d4 621 #define EARCRX_CMDC_XACT_RD30 0x19d8 622 #define EARCRX_CMDC_XACT_RD31 0x19dc 623 #define EARCRX_CMDC_XACT_RD32 0x19e0 624 #define EARCRX_CMDC_XACT_RD33 0x19e4 625 #define EARCRX_CMDC_XACT_RD34 0x19e8 626 #define EARCRX_CMDC_XACT_RD35 0x19ec 627 #define EARCRX_CMDC_XACT_RD36 0x19f0 628 #define EARCRX_CMDC_XACT_RD37 0x19f4 629 #define EARCRX_CMDC_XACT_RD38 0x19f8 630 #define EARCRX_CMDC_XACT_RD39 0x19fc 631 #define EARCRX_CMDC_XACT_RD40 0x1a00 632 #define EARCRX_CMDC_XACT_RD41 0x1a04 633 #define EARCRX_CMDC_XACT_RD42 0x1a08 634 #define EARCRX_CMDC_XACT_RD43 0x1a0c 635 #define EARCRX_CMDC_XACT_RD44 0x1a10 636 #define EARCRX_CMDC_XACT_RD45 0x1a14 637 #define EARCRX_CMDC_XACT_RD46 0x1a18 638 #define EARCRX_CMDC_XACT_RD47 0x1a1c 639 #define EARCRX_CMDC_XACT_RD48 0x1a20 640 #define EARCRX_CMDC_XACT_RD49 0x1a24 641 #define EARCRX_CMDC_XACT_RD50 0x1a28 642 #define EARCRX_CMDC_XACT_RD51 0x1a2c 643 #define EARCRX_CMDC_XACT_RD52 0x1a30 644 #define EARCRX_CMDC_XACT_RD53 0x1a34 645 #define EARCRX_CMDC_XACT_RD54 0x1a38 646 #define EARCRX_CMDC_XACT_RD55 0x1a3c 647 #define EARCRX_CMDC_XACT_RD56 0x1a40 648 #define EARCRX_CMDC_XACT_RD57 0x1a44 649 #define EARCRX_CMDC_XACT_RD58 0x1a48 650 #define EARCRX_CMDC_XACT_RD59 0x1a4c 651 #define EARCRX_CMDC_XACT_RD60 0x1a50 652 #define EARCRX_CMDC_XACT_RD61 0x1a54 653 #define EARCRX_CMDC_XACT_RD62 0x1a58 654 #define EARCRX_CMDC_XACT_RD63 0x1a5c 655 #define EARCRX_CMDC_XACT_RD64 0x1a60 656 #define EARCRX_CMDC_SYNC_CONFIG 0x1b00 657 /* eARC RX DMAC Registers */ 658 #define EARCRX_DMAC_PHY_CONTROL 0x1c00 659 #define EARCRX_DMAC_CONFIG 0x1c08 660 #define EARCRX_DMAC_CONTROL0 0x1c0c 661 #define EARCRX_DMAC_AUDIO_EN BIT(1) 662 #define EARCRX_DMAC_EN BIT(0) 663 #define EARCRX_DMAC_CONTROL1 0x1c10 664 #define EARCRX_DMAC_STATUS 0x1c14 665 #define EARCRX_DMAC_CHSTATUS0 0x1c18 666 #define EARCRX_DMAC_CHSTATUS1 0x1c1c 667 #define EARCRX_DMAC_CHSTATUS2 0x1c20 668 #define EARCRX_DMAC_CHSTATUS3 0x1c24 669 #define EARCRX_DMAC_CHSTATUS4 0x1c28 670 #define EARCRX_DMAC_CHSTATUS5 0x1c2c 671 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC0 0x1c30 672 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC1 0x1c34 673 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC2 0x1c38 674 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC3 0x1c3c 675 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC4 0x1c40 676 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC5 0x1c44 677 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC6 0x1c48 678 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC7 0x1c4c 679 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC8 0x1c50 680 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC9 0x1c54 681 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC10 0x1c58 682 #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC11 0x1c5c 683 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT0 0x1c60 684 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT1 0x1c64 685 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT2 0x1c68 686 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT3 0x1c6c 687 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT4 0x1c70 688 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT5 0x1c74 689 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT6 0x1c78 690 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT7 0x1c7c 691 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT8 0x1c80 692 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT9 0x1c84 693 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT10 0x1c88 694 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT11 0x1c8c 695 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT0 0x1c90 696 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT1 0x1c94 697 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT2 0x1c98 698 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT3 0x1c9c 699 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT4 0x1ca0 700 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT5 0x1ca4 701 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT6 0x1ca8 702 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT7 0x1cac 703 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT8 0x1cb0 704 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT9 0x1cb4 705 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT10 0x1cb8 706 #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT11 0x1cbc 707 #define EARCRX_DMAC_USRDATA_MSG_GENERIC0 0x1cc0 708 #define EARCRX_DMAC_USRDATA_MSG_GENERIC1 0x1cc4 709 #define EARCRX_DMAC_USRDATA_MSG_GENERIC2 0x1cc8 710 #define EARCRX_DMAC_USRDATA_MSG_GENERIC3 0x1ccc 711 #define EARCRX_DMAC_USRDATA_MSG_GENERIC4 0x1cd0 712 #define EARCRX_DMAC_USRDATA_MSG_GENERIC5 0x1cd4 713 #define EARCRX_DMAC_USRDATA_MSG_GENERIC6 0x1cd8 714 #define EARCRX_DMAC_USRDATA_MSG_GENERIC7 0x1cdc 715 #define EARCRX_DMAC_USRDATA_MSG_GENERIC8 0x1ce0 716 #define EARCRX_DMAC_USRDATA_MSG_GENERIC9 0x1ce4 717 #define EARCRX_DMAC_USRDATA_MSG_GENERIC10 0x1ce8 718 #define EARCRX_DMAC_USRDATA_MSG_GENERIC11 0x1cec 719 #define EARCRX_DMAC_USRDATA_MSG_GENERIC12 0x1cf0 720 #define EARCRX_DMAC_USRDATA_MSG_GENERIC13 0x1cf4 721 #define EARCRX_DMAC_USRDATA_MSG_GENERIC14 0x1cf8 722 #define EARCRX_DMAC_USRDATA_MSG_GENERIC15 0x1cfc 723 #define EARCRX_DMAC_USRDATA_MSG_GENERIC16 0x1d00 724 #define EARCRX_DMAC_USRDATA_MSG_GENERIC17 0x1d04 725 #define EARCRX_DMAC_USRDATA_MSG_GENERIC18 0x1d08 726 #define EARCRX_DMAC_USRDATA_MSG_GENERIC19 0x1d0c 727 #define EARCRX_DMAC_USRDATA_MSG_GENERIC20 0x1d10 728 #define EARCRX_DMAC_USRDATA_MSG_GENERIC21 0x1d14 729 #define EARCRX_DMAC_USRDATA_MSG_GENERIC22 0x1d18 730 #define EARCRX_DMAC_USRDATA_MSG_GENERIC23 0x1d1c 731 #define EARCRX_DMAC_USRDATA_MSG_GENERIC24 0x1d20 732 #define EARCRX_DMAC_USRDATA_MSG_GENERIC25 0x1d24 733 #define EARCRX_DMAC_USRDATA_MSG_GENERIC26 0x1d28 734 #define EARCRX_DMAC_USRDATA_MSG_GENERIC27 0x1d2c 735 #define EARCRX_DMAC_USRDATA_MSG_GENERIC28 0x1d30 736 #define EARCRX_DMAC_USRDATA_MSG_GENERIC29 0x1d34 737 #define EARCRX_DMAC_USRDATA_MSG_GENERIC30 0x1d38 738 #define EARCRX_DMAC_USRDATA_MSG_GENERIC31 0x1d3c 739 #define EARCRX_DMAC_USRDATA_MSG_GENERIC32 0x1d40 740 #define EARCRX_DMAC_CHSTATUS_STREAMER0 0x1d44 741 #define EARCRX_DMAC_CHSTATUS_STREAMER1 0x1d48 742 #define EARCRX_DMAC_CHSTATUS_STREAMER2 0x1d4c 743 #define EARCRX_DMAC_CHSTATUS_STREAMER3 0x1d50 744 #define EARCRX_DMAC_CHSTATUS_STREAMER4 0x1d54 745 #define EARCRX_DMAC_CHSTATUS_STREAMER5 0x1d58 746 #define EARCRX_DMAC_CHSTATUS_STREAMER6 0x1d5c 747 #define EARCRX_DMAC_CHSTATUS_STREAMER7 0x1d60 748 #define EARCRX_DMAC_CHSTATUS_STREAMER8 0x1d64 749 #define EARCRX_DMAC_CHSTATUS_STREAMER9 0x1d68 750 #define EARCRX_DMAC_CHSTATUS_STREAMER10 0x1d6c 751 #define EARCRX_DMAC_CHSTATUS_STREAMER11 0x1d70 752 #define EARCRX_DMAC_CHSTATUS_STREAMER12 0x1d74 753 #define EARCRX_DMAC_CHSTATUS_STREAMER13 0x1d78 754 #define EARCRX_DMAC_CHSTATUS_STREAMER14 0x1d7c 755 #define EARCRX_DMAC_USRDATA_STREAMER0 0x1d80 756 /* Main Unit Interrupt Registers */ 757 #define MAIN_INTVEC_INDEX 0x3000 758 #define MAINUNIT_0_INT_STATUS 0x3010 759 #define MAINUNIT_0_INT_MASK_N 0x3014 760 #define MAINUNIT_0_INT_CLEAR 0x3018 761 #define MAINUNIT_0_INT_FORCE 0x301c 762 #define MAINUNIT_1_INT_STATUS 0x3020 763 #define FLT_EXIT_TO_LTSL_IRQ BIT(22) 764 #define FLT_EXIT_TO_LTS4_IRQ BIT(21) 765 #define FLT_EXIT_TO_LTSP_IRQ BIT(20) 766 #define SCDC_NACK_RCVD_IRQ BIT(12) 767 #define SCDC_RR_REPLY_STOP_IRQ BIT(11) 768 #define SCDC_UPD_FLAGS_CLR_IRQ BIT(10) 769 #define SCDC_UPD_FLAGS_CHG_IRQ BIT(9) 770 #define SCDC_UPD_FLAGS_RD_IRQ BIT(8) 771 #define I2CM_NACK_RCVD_IRQ BIT(2) 772 #define I2CM_READ_REQUEST_IRQ BIT(1) 773 #define I2CM_OP_DONE_IRQ BIT(0) 774 #define MAINUNIT_1_INT_MASK_N 0x3024 775 #define I2CM_NACK_RCVD_MASK_N BIT(2) 776 #define I2CM_READ_REQUEST_MASK_N BIT(1) 777 #define I2CM_OP_DONE_MASK_N BIT(0) 778 #define MAINUNIT_1_INT_CLEAR 0x3028 779 #define I2CM_NACK_RCVD_CLEAR BIT(2) 780 #define I2CM_READ_REQUEST_CLEAR BIT(1) 781 #define I2CM_OP_DONE_CLEAR BIT(0) 782 #define MAINUNIT_1_INT_FORCE 0x302c 783 /* AVPUNIT Interrupt Registers */ 784 #define AVP_INTVEC_INDEX 0x3800 785 #define AVP_0_INT_STATUS 0x3810 786 #define AVP_0_INT_MASK_N 0x3814 787 #define AVP_0_INT_CLEAR 0x3818 788 #define AVP_0_INT_FORCE 0x381c 789 #define AVP_1_INT_STATUS 0x3820 790 #define AVP_1_INT_MASK_N 0x3824 791 #define HDCP14_AUTH_CHG_MASK_N BIT(6) 792 #define AVP_1_INT_CLEAR 0x3828 793 #define AVP_1_INT_FORCE 0x382c 794 #define AVP_2_INT_STATUS 0x3830 795 #define AVP_2_INT_MASK_N 0x3834 796 #define AVP_2_INT_CLEAR 0x3838 797 #define AVP_2_INT_FORCE 0x383c 798 #define AVP_3_INT_STATUS 0x3840 799 #define AVP_3_INT_MASK_N 0x3844 800 #define AVP_3_INT_CLEAR 0x3848 801 #define AVP_3_INT_FORCE 0x384c 802 #define AVP_4_INT_STATUS 0x3850 803 #define AVP_4_INT_MASK_N 0x3854 804 #define AVP_4_INT_CLEAR 0x3858 805 #define AVP_4_INT_FORCE 0x385c 806 #define AVP_5_INT_STATUS 0x3860 807 #define AVP_5_INT_MASK_N 0x3864 808 #define AVP_5_INT_CLEAR 0x3868 809 #define AVP_5_INT_FORCE 0x386c 810 #define AVP_6_INT_STATUS 0x3870 811 #define AVP_6_INT_MASK_N 0x3874 812 #define AVP_6_INT_CLEAR 0x3878 813 #define AVP_6_INT_FORCE 0x387c 814 /* CEC Interrupt Registers */ 815 #define CEC_INT_STATUS 0x4000 816 #define CEC_INT_MASK_N 0x4004 817 #define CEC_INT_CLEAR 0x4008 818 #define CEC_INT_FORCE 0x400c 819 /* eARC RX Interrupt Registers */ 820 #define EARCRX_INTVEC_INDEX 0x4800 821 #define EARCRX_0_INT_STATUS 0x4810 822 #define EARCRX_CMDC_DISCOVERY_TIMEOUT_IRQ BIT(9) 823 #define EARCRX_CMDC_DISCOVERY_DONE_IRQ BIT(8) 824 #define EARCRX_0_INT_MASK_N 0x4814 825 #define EARCRX_0_INT_CLEAR 0x4818 826 #define EARCRX_0_INT_FORCE 0x481c 827 #define EARCRX_1_INT_STATUS 0x4820 828 #define EARCRX_1_INT_MASK_N 0x4824 829 #define EARCRX_1_INT_CLEAR 0x4828 830 #define EARCRX_1_INT_FORCE 0x482c 831 832 /* SCDC Registers */ 833 #define SCDC_SINK_VERSION 0x01 834 #define SCDC_SOURCE_VERSION 0x02 835 836 #define SCDC_UPDATE_0 0x10 837 #define SCDC_READ_REQUEST_TEST BIT(2) 838 #define SCDC_CED_UPDATE BIT(1) 839 #define SCDC_STATUS_UPDATE BIT(0) 840 #define SCDC_UPDATE_1 0x11 841 842 #define SCDC_TMDS_CONFIG 0x20 843 #define SCDC_TMDS_BIT_CLOCK_RATIO_BY_40 BIT(1) 844 #define SCDC_TMDS_BIT_CLOCK_RATIO_BY_10 (0 << 1) 845 #define SCDC_SCRAMBLING_ENABLE BIT(0) 846 #define SCDC_SCRAMBLER_STATUS 0x21 847 #define SCDC_SCRAMBLING_STATUS BIT(0) 848 849 #define SCDC_CONFIG_0 0x30 850 #define SCDC_READ_REQUEST_ENABLE BIT(0) 851 852 #define SCDC_STATUS_FLAGS_0 0x40 853 #define SCDC_CH2_LOCK BIT(3) 854 #define SCDC_CH1_LOCK BIT(2) 855 #define SCDC_CH0_LOCK BIT(1) 856 #define SCDC_CH_LOCK_MASK (SCDC_CH2_LOCK | SCDC_CH1_LOCK | SCDC_CH0_LOCK) 857 #define SCDC_CLOCK_DETECT BIT(0) 858 #define SCDC_STATUS_FLAGS_1 0x41 859 860 #define SCDC_ERR_DET_0_L 0x50 861 #define SCDC_ERR_DET_0_H 0x51 862 #define SCDC_ERR_DET_1_L 0x52 863 #define SCDC_ERR_DET_1_H 0x53 864 #define SCDC_ERR_DET_2_L 0x54 865 #define SCDC_ERR_DET_2_H 0x55 866 #define SCDC_CHANNEL_VALID BIT(7) 867 #define SCDC_ERR_DET_CHECKSUM 0x56 868 869 #define SCDC_TEST_CONFIG_0 0xc0 870 #define SCDC_TEST_READ_REQUEST BIT(7) 871 #define SCDC_TEST_READ_REQUEST_DELAY(x) ((x) & 0x7f) 872 873 #define SCDC_MANUFACTURER_IEEE_OUI 0xd0 874 #define SCDC_MANUFACTURER_IEEE_OUI_SIZE 3 875 #define SCDC_DEVICE_ID 0xd3 876 #define SCDC_DEVICE_ID_SIZE 8 877 #define SCDC_DEVICE_HARDWARE_REVISION 0xdb 878 #define SCDC_DEVICE_HARDWARE_REVISION_MAJOR(x) (((x) >> 4) & 0xf) 879 #define SCDC_DEVICE_HARDWARE_REVISION_MINOR(x) (((x) >> 0) & 0xf) 880 #define SCDC_DEVICE_SOFTWARE_MAJOR_REVISION 0xdc 881 #define SCDC_DEVICE_SOFTWARE_MINOR_REVISION 0xdd 882 883 #define SCDC_MANUFACTURER_SPECIFIC 0xde 884 #define SCDC_MANUFACTURER_SPECIFIC_SIZE 34 885 886 enum v4l2_ycbcr_encoding { 887 /* 888 * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the 889 * various colorspaces: 890 * 891 * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, 892 * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and 893 * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 894 * 895 * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709 896 * 897 * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC 898 * 899 * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 900 * 901 * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M 902 */ 903 V4L2_YCBCR_ENC_DEFAULT = 0, 904 905 /* ITU-R 601 -- SDTV */ 906 V4L2_YCBCR_ENC_601 = 1, 907 908 /* Rec. 709 -- HDTV */ 909 V4L2_YCBCR_ENC_709 = 2, 910 911 /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */ 912 V4L2_YCBCR_ENC_XV601 = 3, 913 914 /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ 915 V4L2_YCBCR_ENC_XV709 = 4, 916 917 /* sYCC (Y'CbCr encoding of sRGB) */ 918 V4L2_YCBCR_ENC_SYCC = 5, 919 920 /* BT.2020 Non-constant Luminance Y'CbCr */ 921 V4L2_YCBCR_ENC_BT2020 = 6, 922 923 /* BT.2020 Constant Luminance Y'CbcCrc */ 924 V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, 925 926 /* SMPTE 240M -- Obsolete HDTV */ 927 V4L2_YCBCR_ENC_SMPTE240M = 8, 928 }; 929 930 enum drm_connector_status { 931 connector_status_disconnected = 0, 932 connector_status_connected = 1, 933 }; 934 935 void dw_hdmi_qp_set_grf_cfg(void *data); 936 void dw_hdmi_qp_io_path_init(void *data); 937 struct dw_hdmi_link_config *dw_hdmi_rockchip_get_link_cfg(void *data); 938 void dw_hdmi_qp_select_output(struct hdmi_edid_data *edid_data, 939 struct rockchip_connector *conn, 940 unsigned int *bus_format, 941 struct overscan *overscan, 942 enum dw_hdmi_devtype dev_type, 943 bool output_bus_format_rgb, 944 void *data, struct display_state *state); 945 bool dw_hdmi_qp_check_enable_gpio(void *data); 946 947 #endif /* __DW_HDMI_QP_H__ */ 948