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