128671edaSAlgea Cao /* SPDX-License-Identifier: GPL-2.0+ */ 228671edaSAlgea Cao /* 328671edaSAlgea Cao * (C) Copyright 2022 Fuzhou Rockchip Electronics Co., Ltd 428671edaSAlgea Cao */ 528671edaSAlgea Cao #ifndef __DW_HDMI_QP_H__ 628671edaSAlgea Cao #define __DW_HDMI_QP_H__ 728671edaSAlgea Cao /* Main Unit Registers */ 828671edaSAlgea Cao #define CORE_ID 0x0 928671edaSAlgea Cao #define VER_NUMBER 0x4 1028671edaSAlgea Cao #define VER_TYPE 0x8 1128671edaSAlgea Cao #define CONFIG_REG 0xc 1228671edaSAlgea Cao #define CONFIG_CEC BIT(28) 1328671edaSAlgea Cao #define CONFIG_AUD_UD BIT(23) 1428671edaSAlgea Cao #define CORE_TIMESTAMP_HHMM 0x14 1528671edaSAlgea Cao #define CORE_TIMESTAMP_MMDD 0x18 1628671edaSAlgea Cao #define CORE_TIMESTAMP_YYYY 0x1c 1728671edaSAlgea Cao /* Reset Manager Registers */ 1828671edaSAlgea Cao #define GLOBAL_SWRESET_REQUEST 0x40 1928671edaSAlgea Cao #define EARCRX_CMDC_SWINIT_P BIT(27) 2028671edaSAlgea Cao #define AVP_DATAPATH_PACKET_AUDIO_SWINIT_P BIT(10) 218c597bcaSAlgea Cao #define AVP_DATAPATH_SWINIT_P BIT(6) 2228671edaSAlgea Cao #define GLOBAL_SWDISABLE 0x44 2328671edaSAlgea Cao #define CEC_SWDISABLE BIT(17) 2428671edaSAlgea Cao #define AVP_DATAPATH_PACKET_AUDIO_SWDISABLE BIT(10) 2528671edaSAlgea Cao #define AVP_DATAPATH_VIDEO_SWDISABLE BIT(6) 2628671edaSAlgea Cao #define RESET_MANAGER_CONFIG0 0x48 2728671edaSAlgea Cao #define RESET_MANAGER_STATUS0 0x50 2828671edaSAlgea Cao #define RESET_MANAGER_STATUS1 0x54 2928671edaSAlgea Cao #define RESET_MANAGER_STATUS2 0x58 3028671edaSAlgea Cao /* Timer Base Registers */ 3128671edaSAlgea Cao #define TIMER_BASE_CONFIG0 0x80 3228671edaSAlgea Cao #define TIMER_BASE_STATUS0 0x84 3328671edaSAlgea Cao /* CMU Registers */ 3428671edaSAlgea Cao #define CMU_CONFIG0 0xa0 3528671edaSAlgea Cao #define CMU_CONFIG1 0xa4 3628671edaSAlgea Cao #define CMU_CONFIG2 0xa8 3728671edaSAlgea Cao #define CMU_CONFIG3 0xac 3828671edaSAlgea Cao #define CMU_STATUS 0xb0 3928671edaSAlgea Cao #define EARC_BPCLK_OFF BIT(9) 4028671edaSAlgea Cao #define AUDCLK_OFF BIT(7) 4128671edaSAlgea Cao #define LINKQPCLK_OFF BIT(5) 4228671edaSAlgea Cao #define VIDQPCLK_OFF BIT(3) 4328671edaSAlgea Cao #define IPI_CLK_OFF BIT(1) 4428671edaSAlgea Cao #define CMU_IPI_CLK_FREQ 0xb4 4528671edaSAlgea Cao #define CMU_VIDQPCLK_FREQ 0xb8 4628671edaSAlgea Cao #define CMU_LINKQPCLK_FREQ 0xbc 4728671edaSAlgea Cao #define CMU_AUDQPCLK_FREQ 0xc0 4828671edaSAlgea Cao #define CMU_EARC_BPCLK_FREQ 0xc4 4928671edaSAlgea Cao /* I2CM Registers */ 5028671edaSAlgea Cao #define I2CM_SM_SCL_CONFIG0 0xe0 5128671edaSAlgea Cao #define I2CM_FM_SCL_CONFIG0 0xe4 5228671edaSAlgea Cao #define I2CM_CONFIG0 0xe8 5328671edaSAlgea Cao #define I2CM_CONTROL0 0xec 5428671edaSAlgea Cao #define I2CM_STATUS0 0xf0 5528671edaSAlgea Cao #define I2CM_INTERFACE_CONTROL0 0xf4 5628671edaSAlgea Cao #define I2CM_ADDR 0xff000 5728671edaSAlgea Cao #define I2CM_SLVADDR 0xfe0 5828671edaSAlgea Cao #define I2CM_WR_MASK 0x1e 59*eec52208SAlgea Cao #define I2CM_NBYTES_MASK (0xf << 20) 60*eec52208SAlgea Cao #define I2CM_16BYTES (0xf << 20) 61*eec52208SAlgea Cao #define I2CM_1BYTES (0 << 20) 6228671edaSAlgea Cao #define I2CM_EXT_READ BIT(4) 6328671edaSAlgea Cao #define I2CM_SHORT_READ BIT(3) 6428671edaSAlgea Cao #define I2CM_FM_READ BIT(2) 6528671edaSAlgea Cao #define I2CM_FM_WRITE BIT(1) 6628671edaSAlgea Cao #define I2CM_FM_EN BIT(0) 6728671edaSAlgea Cao #define I2CM_INTERFACE_CONTROL1 0xf8 6828671edaSAlgea Cao #define I2CM_SEG_PTR 0x7f80 6928671edaSAlgea Cao #define I2CM_SEG_ADDR 0x7f 7028671edaSAlgea Cao #define I2CM_INTERFACE_WRDATA_0_3 0xfc 7128671edaSAlgea Cao #define I2CM_INTERFACE_WRDATA_4_7 0x100 7228671edaSAlgea Cao #define I2CM_INTERFACE_WRDATA_8_11 0x104 7328671edaSAlgea Cao #define I2CM_INTERFACE_WRDATA_12_15 0x108 7428671edaSAlgea Cao #define I2CM_INTERFACE_RDDATA_0_3 0x10c 7528671edaSAlgea Cao #define I2CM_INTERFACE_RDDATA_4_7 0x110 7628671edaSAlgea Cao #define I2CM_INTERFACE_RDDATA_8_11 0x114 7728671edaSAlgea Cao #define I2CM_INTERFACE_RDDATA_12_15 0x118 7828671edaSAlgea Cao /* SCDC Registers */ 7928671edaSAlgea Cao #define SCDC_CONFIG0 0x140 8028671edaSAlgea Cao #define SCDC_I2C_FM_EN BIT(12) 8128671edaSAlgea Cao #define SCDC_UPD_FLAGS_AUTO_CLR BIT(6) 8228671edaSAlgea Cao #define SCDC_UPD_FLAGS_POLL_EN BIT(4) 8328671edaSAlgea Cao #define SCDC_CONTROL0 0x148 8428671edaSAlgea Cao #define SCDC_STATUS0 0x150 8528671edaSAlgea Cao #define STATUS_UPDATE BIT(0) 8628671edaSAlgea Cao #define FRL_START BIT(4) 8728671edaSAlgea Cao #define FLT_UPDATE BIT(5) 8828671edaSAlgea Cao /* FLT Registers */ 8928671edaSAlgea Cao #define FLT_CONFIG0 0x160 9028671edaSAlgea Cao #define FLT_CONFIG1 0x164 9128671edaSAlgea Cao #define FLT_CONFIG2 0x168 9228671edaSAlgea Cao #define FLT_CONTROL0 0x170 9328671edaSAlgea Cao /* Main Unit 2 Registers */ 9428671edaSAlgea Cao #define MAINUNIT_STATUS0 0x180 9528671edaSAlgea Cao /* Video Interface Registers */ 9628671edaSAlgea Cao #define VIDEO_INTERFACE_CONFIG0 0x800 9728671edaSAlgea Cao #define VIDEO_INTERFACE_CONFIG1 0x804 9828671edaSAlgea Cao #define VIDEO_INTERFACE_CONFIG2 0x808 9928671edaSAlgea Cao #define VIDEO_INTERFACE_CONTROL0 0x80c 10028671edaSAlgea Cao #define VIDEO_INTERFACE_STATUS0 0x814 10128671edaSAlgea Cao /* Video Packing Registers */ 10228671edaSAlgea Cao #define VIDEO_PACKING_CONFIG0 0x81c 10328671edaSAlgea Cao /* Audio Interface Registers */ 10428671edaSAlgea Cao #define AUDIO_INTERFACE_CONFIG0 0x820 10528671edaSAlgea Cao #define AUD_IF_SEL_MSK 0x3 10628671edaSAlgea Cao #define AUD_IF_SPDIF 0x2 10728671edaSAlgea Cao #define AUD_IF_I2S 0x1 10828671edaSAlgea Cao #define AUD_IF_PAI 0x0 10928671edaSAlgea Cao #define AUD_FIFO_INIT_ON_OVF_MSK BIT(2) 11028671edaSAlgea Cao #define AUD_FIFO_INIT_ON_OVF_EN BIT(2) 11128671edaSAlgea Cao #define I2S_LINES_EN_MSK GENMASK(7, 4) 11228671edaSAlgea Cao #define I2S_LINES_EN(x) BIT((x) + 4) 11328671edaSAlgea Cao #define I2S_BPCUV_RCV_MSK BIT(12) 11428671edaSAlgea Cao #define I2S_BPCUV_RCV_EN BIT(12) 11528671edaSAlgea Cao #define I2S_BPCUV_RCV_DIS 0 11628671edaSAlgea Cao #define SPDIF_LINES_EN GENMASK(19, 16) 11728671edaSAlgea Cao #define AUD_FORMAT_MSK GENMASK(26, 24) 11828671edaSAlgea Cao #define AUD_3DOBA (0x7 << 24) 11928671edaSAlgea Cao #define AUD_3DASP (0x6 << 24) 12028671edaSAlgea Cao #define AUD_MSOBA (0x5 << 24) 12128671edaSAlgea Cao #define AUD_MSASP (0x4 << 24) 12228671edaSAlgea Cao #define AUD_HBR (0x3 << 24) 12328671edaSAlgea Cao #define AUD_DST (0x2 << 24) 12428671edaSAlgea Cao #define AUD_OBA (0x1 << 24) 12528671edaSAlgea Cao #define AUD_ASP (0x0 << 24) 12628671edaSAlgea Cao #define AUDIO_INTERFACE_CONFIG1 0x824 12728671edaSAlgea Cao #define AUDIO_INTERFACE_CONTROL0 0x82c 12828671edaSAlgea Cao #define AUDIO_FIFO_CLR_P BIT(0) 12928671edaSAlgea Cao #define AUDIO_INTERFACE_STATUS0 0x834 13028671edaSAlgea Cao /* Frame Composer Registers */ 13128671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG0 0x840 13228671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG1 0x844 13328671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG2 0x848 13428671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG3 0x84c 13528671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG4 0x850 13628671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG5 0x854 13728671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG6 0x858 13828671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG7 0x85c 13928671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG8 0x860 14028671edaSAlgea Cao #define FRAME_COMPOSER_CONFIG9 0x864 1418c597bcaSAlgea Cao #define KEEPOUT_REKEY_CFG GENMASK(9, 8) 1428c597bcaSAlgea Cao #define KEEPOUT_REKEY_ALWAYS (0x2 << 8) 14328671edaSAlgea Cao #define FRAME_COMPOSER_CONTROL0 0x86c 14428671edaSAlgea Cao /* Video Monitor Registers */ 14528671edaSAlgea Cao #define VIDEO_MONITOR_CONFIG0 0x880 14628671edaSAlgea Cao #define VIDEO_MONITOR_STATUS0 0x884 14728671edaSAlgea Cao #define VIDEO_MONITOR_STATUS1 0x888 14828671edaSAlgea Cao #define VIDEO_MONITOR_STATUS2 0x88c 14928671edaSAlgea Cao #define VIDEO_MONITOR_STATUS3 0x890 15028671edaSAlgea Cao #define VIDEO_MONITOR_STATUS4 0x894 15128671edaSAlgea Cao #define VIDEO_MONITOR_STATUS5 0x898 15228671edaSAlgea Cao #define VIDEO_MONITOR_STATUS6 0x89c 15328671edaSAlgea Cao /* HDCP2 Logic Registers */ 15428671edaSAlgea Cao #define HDCP2LOGIC_CONFIG0 0x8e0 15528671edaSAlgea Cao #define HDCP2_BYPASS BIT(0) 15628671edaSAlgea Cao #define HDCP2LOGIC_ESM_GPIO_IN 0x8e4 15728671edaSAlgea Cao #define HDCP2LOGIC_ESM_GPIO_OUT 0x8e8 15828671edaSAlgea Cao /* HDCP14 Registers */ 15928671edaSAlgea Cao #define HDCP14_CONFIG0 0x900 16028671edaSAlgea Cao #define HDCP14_CONFIG1 0x904 16128671edaSAlgea Cao #define HDCP14_CONFIG2 0x908 16228671edaSAlgea Cao #define HDCP14_CONFIG3 0x90c 16328671edaSAlgea Cao #define HDCP14_KEY_SEED 0x914 16428671edaSAlgea Cao #define HDCP14_KEY_H 0x918 16528671edaSAlgea Cao #define HDCP14_KEY_L 0x91c 16628671edaSAlgea Cao #define HDCP14_KEY_STATUS 0x920 16728671edaSAlgea Cao #define HDCP14_AKSV_H 0x924 16828671edaSAlgea Cao #define HDCP14_AKSV_L 0x928 16928671edaSAlgea Cao #define HDCP14_AN_H 0x92c 17028671edaSAlgea Cao #define HDCP14_AN_L 0x930 17128671edaSAlgea Cao #define HDCP14_STATUS0 0x934 17228671edaSAlgea Cao #define HDCP14_STATUS1 0x938 17328671edaSAlgea Cao /* Scrambler Registers */ 17428671edaSAlgea Cao #define SCRAMB_CONFIG0 0x960 17528671edaSAlgea Cao /* Video Configuration Registers */ 17628671edaSAlgea Cao #define LINK_CONFIG0 0x968 17728671edaSAlgea Cao #define OPMODE_FRL_4LANES BIT(8) 17828671edaSAlgea Cao #define OPMODE_DVI BIT(4) 17928671edaSAlgea Cao #define OPMODE_FRL BIT(0) 18028671edaSAlgea Cao /* TMDS FIFO Registers */ 18128671edaSAlgea Cao #define TMDS_FIFO_CONFIG0 0x970 18228671edaSAlgea Cao #define TMDS_FIFO_CONTROL0 0x974 18328671edaSAlgea Cao /* FRL RSFEC Registers */ 18428671edaSAlgea Cao #define FRL_RSFEC_CONFIG0 0xa20 18528671edaSAlgea Cao #define FRL_RSFEC_STATUS0 0xa30 18628671edaSAlgea Cao /* FRL Packetizer Registers */ 18728671edaSAlgea Cao #define FRL_PKTZ_CONFIG0 0xa40 18828671edaSAlgea Cao #define FRL_PKTZ_CONTROL0 0xa44 18928671edaSAlgea Cao #define FRL_PKTZ_CONTROL1 0xa50 19028671edaSAlgea Cao #define FRL_PKTZ_STATUS1 0xa54 19128671edaSAlgea Cao /* Packet Scheduler Registers */ 19228671edaSAlgea Cao #define PKTSCHED_CONFIG0 0xa80 19328671edaSAlgea Cao #define PKTSCHED_PRQUEUE0_CONFIG0 0xa84 19428671edaSAlgea Cao #define PKTSCHED_PRQUEUE1_CONFIG0 0xa88 19528671edaSAlgea Cao #define PKTSCHED_PRQUEUE2_CONFIG0 0xa8c 19628671edaSAlgea Cao #define PKTSCHED_PRQUEUE2_CONFIG1 0xa90 19728671edaSAlgea Cao #define PKTSCHED_PRQUEUE2_CONFIG2 0xa94 19828671edaSAlgea Cao #define PKTSCHED_PKT_CONFIG0 0xa98 19928671edaSAlgea Cao #define PKTSCHED_PKT_CONFIG1 0xa9c 200cd2307e7SAlgea Cao #define PKTSCHED_VSI_FIELDRATE BIT(14) 201626a3bccSAlgea Cao #define PKTSCHED_AVI_FIELDRATE BIT(12) 20228671edaSAlgea Cao #define PKTSCHED_PKT_CONFIG2 0xaa0 20328671edaSAlgea Cao #define PKTSCHED_PKT_CONFIG3 0xaa4 20428671edaSAlgea Cao #define PKTSCHED_PKT_EN 0xaa8 20528671edaSAlgea Cao #define PKTSCHED_DRMI_TX_EN BIT(17) 20628671edaSAlgea Cao #define PKTSCHED_AUDI_TX_EN BIT(15) 20728671edaSAlgea Cao #define PKTSCHED_AVI_TX_EN BIT(13) 20899bfa312SAlgea Cao #define PKTSCHED_VSI_TX_EN BIT(12) 20928671edaSAlgea Cao #define PKTSCHED_EMP_CVTEM_TX_EN BIT(10) 21028671edaSAlgea Cao #define PKTSCHED_AMD_TX_EN BIT(8) 21128671edaSAlgea Cao #define PKTSCHED_GCP_TX_EN BIT(3) 21228671edaSAlgea Cao #define PKTSCHED_AUDS_TX_EN BIT(2) 21328671edaSAlgea Cao #define PKTSCHED_ACR_TX_EN BIT(1) 214cebdc49bSAlgea Cao #define PKTSCHED_NULL_TX_EN BIT(0) 21528671edaSAlgea Cao #define PKTSCHED_PKT_CONTROL0 0xaac 21628671edaSAlgea Cao #define PKTSCHED_PKT_SEND 0xab0 21728671edaSAlgea Cao #define PKTSCHED_PKT_STATUS0 0xab4 21828671edaSAlgea Cao #define PKTSCHED_PKT_STATUS1 0xab8 21928671edaSAlgea Cao #define PKT_NULL_CONTENTS0 0xb00 22028671edaSAlgea Cao #define PKT_NULL_CONTENTS1 0xb04 22128671edaSAlgea Cao #define PKT_NULL_CONTENTS2 0xb08 22228671edaSAlgea Cao #define PKT_NULL_CONTENTS3 0xb0c 22328671edaSAlgea Cao #define PKT_NULL_CONTENTS4 0xb10 22428671edaSAlgea Cao #define PKT_NULL_CONTENTS5 0xb14 22528671edaSAlgea Cao #define PKT_NULL_CONTENTS6 0xb18 22628671edaSAlgea Cao #define PKT_NULL_CONTENTS7 0xb1c 22728671edaSAlgea Cao #define PKT_ACP_CONTENTS0 0xb20 22828671edaSAlgea Cao #define PKT_ACP_CONTENTS1 0xb24 22928671edaSAlgea Cao #define PKT_ACP_CONTENTS2 0xb28 23028671edaSAlgea Cao #define PKT_ACP_CONTENTS3 0xb2c 23128671edaSAlgea Cao #define PKT_ACP_CONTENTS4 0xb30 23228671edaSAlgea Cao #define PKT_ACP_CONTENTS5 0xb34 23328671edaSAlgea Cao #define PKT_ACP_CONTENTS6 0xb38 23428671edaSAlgea Cao #define PKT_ACP_CONTENTS7 0xb3c 23528671edaSAlgea Cao #define PKT_ISRC1_CONTENTS0 0xb40 23628671edaSAlgea Cao #define PKT_ISRC1_CONTENTS1 0xb44 23728671edaSAlgea Cao #define PKT_ISRC1_CONTENTS2 0xb48 23828671edaSAlgea Cao #define PKT_ISRC1_CONTENTS3 0xb4c 23928671edaSAlgea Cao #define PKT_ISRC1_CONTENTS4 0xb50 24028671edaSAlgea Cao #define PKT_ISRC1_CONTENTS5 0xb54 24128671edaSAlgea Cao #define PKT_ISRC1_CONTENTS6 0xb58 24228671edaSAlgea Cao #define PKT_ISRC1_CONTENTS7 0xb5c 24328671edaSAlgea Cao #define PKT_ISRC2_CONTENTS0 0xb60 24428671edaSAlgea Cao #define PKT_ISRC2_CONTENTS1 0xb64 24528671edaSAlgea Cao #define PKT_ISRC2_CONTENTS2 0xb68 24628671edaSAlgea Cao #define PKT_ISRC2_CONTENTS3 0xb6c 24728671edaSAlgea Cao #define PKT_ISRC2_CONTENTS4 0xb70 24828671edaSAlgea Cao #define PKT_ISRC2_CONTENTS5 0xb74 24928671edaSAlgea Cao #define PKT_ISRC2_CONTENTS6 0xb78 25028671edaSAlgea Cao #define PKT_ISRC2_CONTENTS7 0xb7c 25128671edaSAlgea Cao #define PKT_GMD_CONTENTS0 0xb80 25228671edaSAlgea Cao #define PKT_GMD_CONTENTS1 0xb84 25328671edaSAlgea Cao #define PKT_GMD_CONTENTS2 0xb88 25428671edaSAlgea Cao #define PKT_GMD_CONTENTS3 0xb8c 25528671edaSAlgea Cao #define PKT_GMD_CONTENTS4 0xb90 25628671edaSAlgea Cao #define PKT_GMD_CONTENTS5 0xb94 25728671edaSAlgea Cao #define PKT_GMD_CONTENTS6 0xb98 25828671edaSAlgea Cao #define PKT_GMD_CONTENTS7 0xb9c 25928671edaSAlgea Cao #define PKT_AMD_CONTENTS0 0xba0 26028671edaSAlgea Cao #define PKT_AMD_CONTENTS1 0xba4 26128671edaSAlgea Cao #define PKT_AMD_CONTENTS2 0xba8 26228671edaSAlgea Cao #define PKT_AMD_CONTENTS3 0xbac 26328671edaSAlgea Cao #define PKT_AMD_CONTENTS4 0xbb0 26428671edaSAlgea Cao #define PKT_AMD_CONTENTS5 0xbb4 26528671edaSAlgea Cao #define PKT_AMD_CONTENTS6 0xbb8 26628671edaSAlgea Cao #define PKT_AMD_CONTENTS7 0xbbc 26728671edaSAlgea Cao #define PKT_VSI_CONTENTS0 0xbc0 26828671edaSAlgea Cao #define PKT_VSI_CONTENTS1 0xbc4 26928671edaSAlgea Cao #define PKT_VSI_CONTENTS2 0xbc8 27028671edaSAlgea Cao #define PKT_VSI_CONTENTS3 0xbcc 27128671edaSAlgea Cao #define PKT_VSI_CONTENTS4 0xbd0 27228671edaSAlgea Cao #define PKT_VSI_CONTENTS5 0xbd4 27328671edaSAlgea Cao #define PKT_VSI_CONTENTS6 0xbd8 27428671edaSAlgea Cao #define PKT_VSI_CONTENTS7 0xbdc 27528671edaSAlgea Cao #define PKT_AVI_CONTENTS0 0xbe0 27628671edaSAlgea Cao #define HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT BIT(4) 27728671edaSAlgea Cao #define HDMI_FC_AVICONF0_BAR_DATA_VERT_BAR 0x04 27828671edaSAlgea Cao #define HDMI_FC_AVICONF0_BAR_DATA_HORIZ_BAR 0x08 27928671edaSAlgea Cao #define HDMI_FC_AVICONF2_IT_CONTENT_VALID 0x80 28028671edaSAlgea Cao #define PKT_AVI_CONTENTS1 0xbe4 28128671edaSAlgea Cao #define PKT_AVI_CONTENTS2 0xbe8 28228671edaSAlgea Cao #define PKT_AVI_CONTENTS3 0xbec 28328671edaSAlgea Cao #define PKT_AVI_CONTENTS4 0xbf0 28428671edaSAlgea Cao #define PKT_AVI_CONTENTS5 0xbf4 28528671edaSAlgea Cao #define PKT_AVI_CONTENTS6 0xbf8 28628671edaSAlgea Cao #define PKT_AVI_CONTENTS7 0xbfc 28728671edaSAlgea Cao #define PKT_SPDI_CONTENTS0 0xc00 28828671edaSAlgea Cao #define PKT_SPDI_CONTENTS1 0xc04 28928671edaSAlgea Cao #define PKT_SPDI_CONTENTS2 0xc08 29028671edaSAlgea Cao #define PKT_SPDI_CONTENTS3 0xc0c 29128671edaSAlgea Cao #define PKT_SPDI_CONTENTS4 0xc10 29228671edaSAlgea Cao #define PKT_SPDI_CONTENTS5 0xc14 29328671edaSAlgea Cao #define PKT_SPDI_CONTENTS6 0xc18 29428671edaSAlgea Cao #define PKT_SPDI_CONTENTS7 0xc1c 29528671edaSAlgea Cao #define PKT_AUDI_CONTENTS0 0xc20 29628671edaSAlgea Cao #define PKT_AUDI_CONTENTS1 0xc24 29728671edaSAlgea Cao #define PKT_AUDI_CONTENTS2 0xc28 29828671edaSAlgea Cao #define PKT_AUDI_CONTENTS3 0xc2c 29928671edaSAlgea Cao #define PKT_AUDI_CONTENTS4 0xc30 30028671edaSAlgea Cao #define PKT_AUDI_CONTENTS5 0xc34 30128671edaSAlgea Cao #define PKT_AUDI_CONTENTS6 0xc38 30228671edaSAlgea Cao #define PKT_AUDI_CONTENTS7 0xc3c 30328671edaSAlgea Cao #define PKT_NVI_CONTENTS0 0xc40 30428671edaSAlgea Cao #define PKT_NVI_CONTENTS1 0xc44 30528671edaSAlgea Cao #define PKT_NVI_CONTENTS2 0xc48 30628671edaSAlgea Cao #define PKT_NVI_CONTENTS3 0xc4c 30728671edaSAlgea Cao #define PKT_NVI_CONTENTS4 0xc50 30828671edaSAlgea Cao #define PKT_NVI_CONTENTS5 0xc54 30928671edaSAlgea Cao #define PKT_NVI_CONTENTS6 0xc58 31028671edaSAlgea Cao #define PKT_NVI_CONTENTS7 0xc5c 31128671edaSAlgea Cao #define PKT_DRMI_CONTENTS0 0xc60 31228671edaSAlgea Cao #define PKT_DRMI_CONTENTS1 0xc64 31328671edaSAlgea Cao #define PKT_DRMI_CONTENTS2 0xc68 31428671edaSAlgea Cao #define PKT_DRMI_CONTENTS3 0xc6c 31528671edaSAlgea Cao #define PKT_DRMI_CONTENTS4 0xc70 31628671edaSAlgea Cao #define PKT_DRMI_CONTENTS5 0xc74 31728671edaSAlgea Cao #define PKT_DRMI_CONTENTS6 0xc78 31828671edaSAlgea Cao #define PKT_DRMI_CONTENTS7 0xc7c 31928671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS0 0xc80 32028671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS1 0xc84 32128671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS2 0xc88 32228671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS3 0xc8c 32328671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS4 0xc90 32428671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS5 0xc94 32528671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS6 0xc98 32628671edaSAlgea Cao #define PKT_GHDMI1_CONTENTS7 0xc9c 32728671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS0 0xca0 32828671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS1 0xca4 32928671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS2 0xca8 33028671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS3 0xcac 33128671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS4 0xcb0 33228671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS5 0xcb4 33328671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS6 0xcb8 33428671edaSAlgea Cao #define PKT_GHDMI2_CONTENTS7 0xcbc 33528671edaSAlgea Cao /* EMP Packetizer Registers */ 33628671edaSAlgea Cao #define PKT_EMP_CONFIG0 0xce0 33728671edaSAlgea Cao #define PKT_EMP_CONTROL0 0xcec 33828671edaSAlgea Cao #define PKT_EMP_CONTROL1 0xcf0 33928671edaSAlgea Cao #define PKT_EMP_CONTROL2 0xcf4 34028671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS0 0xd00 34128671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS1 0xd04 34228671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS2 0xd08 34328671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS3 0xd0c 34428671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS4 0xd10 34528671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS5 0xd14 34628671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS6 0xd18 34728671edaSAlgea Cao #define PKT_EMP_VTEM_CONTENTS7 0xd1c 34828671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS0 0xd20 34928671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS1 0xd24 35028671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS2 0xd28 35128671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS3 0xd2c 35228671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS4 0xd30 35328671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS5 0xd34 35428671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS6 0xd38 35528671edaSAlgea Cao #define PKT0_EMP_CVTEM_CONTENTS7 0xd3c 35628671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS0 0xd40 35728671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS1 0xd44 35828671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS2 0xd48 35928671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS3 0xd4c 36028671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS4 0xd50 36128671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS5 0xd54 36228671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS6 0xd58 36328671edaSAlgea Cao #define PKT1_EMP_CVTEM_CONTENTS7 0xd5c 36428671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS0 0xd60 36528671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS1 0xd64 36628671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS2 0xd68 36728671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS3 0xd6c 36828671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS4 0xd70 36928671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS5 0xd74 37028671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS6 0xd78 37128671edaSAlgea Cao #define PKT2_EMP_CVTEM_CONTENTS7 0xd7c 37228671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS0 0xd80 37328671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS1 0xd84 37428671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS2 0xd88 37528671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS3 0xd8c 37628671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS4 0xd90 37728671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS5 0xd94 37828671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS6 0xd98 37928671edaSAlgea Cao #define PKT3_EMP_CVTEM_CONTENTS7 0xd9c 38028671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS0 0xda0 38128671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS1 0xda4 38228671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS2 0xda8 38328671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS3 0xdac 38428671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS4 0xdb0 38528671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS5 0xdb4 38628671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS6 0xdb8 38728671edaSAlgea Cao #define PKT4_EMP_CVTEM_CONTENTS7 0xdbc 38828671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS0 0xdc0 38928671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS1 0xdc4 39028671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS2 0xdc8 39128671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS3 0xdcc 39228671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS4 0xdd0 39328671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS5 0xdd4 39428671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS6 0xdd8 39528671edaSAlgea Cao #define PKT5_EMP_CVTEM_CONTENTS7 0xddc 39628671edaSAlgea Cao /* Audio Packetizer Registers */ 39728671edaSAlgea Cao #define AUDPKT_CONTROL0 0xe20 39828671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR_EN_MASK BIT(0) 39928671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR_EN BIT(0) 40028671edaSAlgea Cao #define AUDPKT_CONTROL1 0xe24 40128671edaSAlgea Cao #define AUDPKT_ACR_CONTROL0 0xe40 40228671edaSAlgea Cao #define AUDPKT_ACR_N_VALUE 0xfffff 40328671edaSAlgea Cao #define AUDPKT_ACR_CONTROL1 0xe44 40428671edaSAlgea Cao #define AUDPKT_ACR_CTS_OVR_VAL_MSK GENMASK(23, 4) 40528671edaSAlgea Cao #define AUDPKT_ACR_CTS_OVR_VAL(x) ((x) << 4) 40628671edaSAlgea Cao #define AUDPKT_ACR_CTS_OVR_EN_MSK BIT(1) 40728671edaSAlgea Cao #define AUDPKT_ACR_CTS_OVR_EN BIT(1) 40828671edaSAlgea Cao #define AUDPKT_ACR_STATUS0 0xe4c 40928671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR0 0xe60 41028671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR1 0xe64 41128671edaSAlgea Cao /* IEC60958 Byte 3: Sampleing frenuency Bits 24 to 27 */ 41228671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_MASK GENMASK(3, 0) 41328671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_22050 0x4 41428671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_24000 0x6 41528671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_32000 0x3 41628671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_44100 0x0 41728671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_48000 0x2 41828671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_88200 0x8 41928671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_96000 0xa 42028671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_176400 0xc 42128671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_192000 0xe 42228671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_768000 0x9 42328671edaSAlgea Cao #define AUDPKT_CHSTATUS_SR_NOT_INDICATED 0x1 42428671edaSAlgea Cao /* IEC60958 Byte 4: Original Sampleing frenuency Bits 36 to 39 */ 42528671edaSAlgea Cao #define AUDPKT_CHSTATUS_0SR_MASK GENMASK(15, 12) 42628671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_8000 0x6 42728671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_11025 0xa 42828671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_12000 0x2 42928671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_16000 0x8 43028671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_22050 0xb 43128671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_24000 0x9 43228671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_32000 0xc 43328671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_44100 0xf 43428671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_48000 0xd 43528671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_88200 0x7 43628671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_96000 0x5 43728671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_176400 0x3 43828671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_192000 0x1 43928671edaSAlgea Cao #define AUDPKT_CHSTATUS_OSR_NOT_INDICATED 0x0 44028671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR2 0xe68 44128671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR3 0xe6c 44228671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR4 0xe70 44328671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR5 0xe74 44428671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR6 0xe78 44528671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR7 0xe7c 44628671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR8 0xe80 44728671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR9 0xe84 44828671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR10 0xe88 44928671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR11 0xe8c 45028671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR12 0xe90 45128671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR13 0xe94 45228671edaSAlgea Cao #define AUDPKT_CHSTATUS_OVR14 0xe98 45328671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC0 0xea0 45428671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC1 0xea4 45528671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC2 0xea8 45628671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC3 0xeac 45728671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC4 0xeb0 45828671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC5 0xeb4 45928671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC6 0xeb8 46028671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC7 0xebc 46128671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC8 0xec0 46228671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC9 0xec4 46328671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC10 0xec8 46428671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC11 0xecc 46528671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC12 0xed0 46628671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC13 0xed4 46728671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC14 0xed8 46828671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC15 0xedc 46928671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC16 0xee0 47028671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC17 0xee4 47128671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC18 0xee8 47228671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC19 0xeec 47328671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC20 0xef0 47428671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC21 0xef4 47528671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC22 0xef8 47628671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC23 0xefc 47728671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC24 0xf00 47828671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC25 0xf04 47928671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC26 0xf08 48028671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC27 0xf0c 48128671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC28 0xf10 48228671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC29 0xf14 48328671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC30 0xf18 48428671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC31 0xf1c 48528671edaSAlgea Cao #define AUDPKT_USRDATA_OVR_MSG_GENERIC32 0xf20 48628671edaSAlgea Cao #define AUDPKT_VBIT_OVR0 0xf24 48728671edaSAlgea Cao /* CEC Registers */ 48828671edaSAlgea Cao #define CEC_TX_CONTROL 0x1000 48928671edaSAlgea Cao #define CEC_STATUS 0x1004 49028671edaSAlgea Cao #define CEC_CONFIG 0x1008 49128671edaSAlgea Cao #define CEC_ADDR 0x100c 49228671edaSAlgea Cao #define CEC_TX_COUNT 0x1020 49328671edaSAlgea Cao #define CEC_TX_DATA3_0 0x1024 49428671edaSAlgea Cao #define CEC_TX_DATA7_4 0x1028 49528671edaSAlgea Cao #define CEC_TX_DATA11_8 0x102c 49628671edaSAlgea Cao #define CEC_TX_DATA15_12 0x1030 49728671edaSAlgea Cao #define CEC_RX_COUNT_STATUS 0x1040 49828671edaSAlgea Cao #define CEC_RX_DATA3_0 0x1044 49928671edaSAlgea Cao #define CEC_RX_DATA7_4 0x1048 50028671edaSAlgea Cao #define CEC_RX_DATA11_8 0x104c 50128671edaSAlgea Cao #define CEC_RX_DATA15_12 0x1050 50228671edaSAlgea Cao #define CEC_LOCK_CONTROL 0x1054 50328671edaSAlgea Cao #define CEC_RXQUAL_BITTIME_CONFIG 0x1060 50428671edaSAlgea Cao #define CEC_RX_BITTIME_CONFIG 0x1064 50528671edaSAlgea Cao #define CEC_TX_BITTIME_CONFIG 0x1068 50628671edaSAlgea Cao /* eARC RX CMDC Registers */ 50728671edaSAlgea Cao #define EARCRX_CMDC_CONFIG0 0x1800 50828671edaSAlgea Cao #define EARCRX_XACTREAD_STOP_CFG BIT(26) 50928671edaSAlgea Cao #define EARCRX_XACTREAD_RETRY_CFG BIT(25) 51028671edaSAlgea Cao #define EARCRX_CMDC_DSCVR_EARCVALID0_TO_DISC1 BIT(24) 51128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RESTART_EN BIT(18) 51228671edaSAlgea Cao #define EARCRX_CMDC_CONFIG1 0x1804 51328671edaSAlgea Cao #define EARCRX_CMDC_CONTROL 0x1808 51428671edaSAlgea Cao #define EARCRX_CMDC_HEARTBEAT_LOSS_EN BIT(4) 51528671edaSAlgea Cao #define EARCRX_CMDC_DISCOVERY_EN BIT(3) 51628671edaSAlgea Cao #define EARCRX_CONNECTOR_HPD BIT(1) 51728671edaSAlgea Cao #define EARCRX_CMDC_WHITELIST0_CONFIG 0x180c 51828671edaSAlgea Cao #define EARCRX_CMDC_WHITELIST1_CONFIG 0x1810 51928671edaSAlgea Cao #define EARCRX_CMDC_WHITELIST2_CONFIG 0x1814 52028671edaSAlgea Cao #define EARCRX_CMDC_WHITELIST3_CONFIG 0x1818 52128671edaSAlgea Cao #define EARCRX_CMDC_STATUS 0x181c 52228671edaSAlgea Cao #define EARCRX_CMDC_XACT_INFO 0x1820 52328671edaSAlgea Cao #define EARCRX_CMDC_XACT_ACTION 0x1824 52428671edaSAlgea Cao #define EARCRX_CMDC_HEARTBEAT_RXSTAT_SE 0x1828 52528671edaSAlgea Cao #define EARCRX_CMDC_HEARTBEAT_STATUS 0x182c 52628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR0 0x1840 52728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR1 0x1844 52828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR2 0x1848 52928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR3 0x184c 53028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR4 0x1850 53128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR5 0x1854 53228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR6 0x1858 53328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR7 0x185c 53428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR8 0x1860 53528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR9 0x1864 53628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR10 0x1868 53728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR11 0x186c 53828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR12 0x1870 53928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR13 0x1874 54028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR14 0x1878 54128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR15 0x187c 54228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR16 0x1880 54328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR17 0x1884 54428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR18 0x1888 54528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR19 0x188c 54628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR20 0x1890 54728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR21 0x1894 54828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR22 0x1898 54928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR23 0x189c 55028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR24 0x18a0 55128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR25 0x18a4 55228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR26 0x18a8 55328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR27 0x18ac 55428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR28 0x18b0 55528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR29 0x18b4 55628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR30 0x18b8 55728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR31 0x18bc 55828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR32 0x18c0 55928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR33 0x18c4 56028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR34 0x18c8 56128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR35 0x18cc 56228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR36 0x18d0 56328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR37 0x18d4 56428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR38 0x18d8 56528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR39 0x18dc 56628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR40 0x18e0 56728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR41 0x18e4 56828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR42 0x18e8 56928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR43 0x18ec 57028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR44 0x18f0 57128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR45 0x18f4 57228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR46 0x18f8 57328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR47 0x18fc 57428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR48 0x1900 57528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR49 0x1904 57628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR50 0x1908 57728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR51 0x190c 57828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR52 0x1910 57928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR53 0x1914 58028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR54 0x1918 58128671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR55 0x191c 58228671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR56 0x1920 58328671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR57 0x1924 58428671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR58 0x1928 58528671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR59 0x192c 58628671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR60 0x1930 58728671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR61 0x1934 58828671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR62 0x1938 58928671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR63 0x193c 59028671edaSAlgea Cao #define EARCRX_CMDC_XACT_WR64 0x1940 59128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD0 0x1960 59228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD1 0x1964 59328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD2 0x1968 59428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD3 0x196c 59528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD4 0x1970 59628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD5 0x1974 59728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD6 0x1978 59828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD7 0x197c 59928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD8 0x1980 60028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD9 0x1984 60128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD10 0x1988 60228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD11 0x198c 60328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD12 0x1990 60428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD13 0x1994 60528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD14 0x1998 60628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD15 0x199c 60728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD16 0x19a0 60828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD17 0x19a4 60928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD18 0x19a8 61028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD19 0x19ac 61128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD20 0x19b0 61228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD21 0x19b4 61328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD22 0x19b8 61428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD23 0x19bc 61528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD24 0x19c0 61628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD25 0x19c4 61728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD26 0x19c8 61828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD27 0x19cc 61928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD28 0x19d0 62028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD29 0x19d4 62128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD30 0x19d8 62228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD31 0x19dc 62328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD32 0x19e0 62428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD33 0x19e4 62528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD34 0x19e8 62628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD35 0x19ec 62728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD36 0x19f0 62828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD37 0x19f4 62928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD38 0x19f8 63028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD39 0x19fc 63128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD40 0x1a00 63228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD41 0x1a04 63328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD42 0x1a08 63428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD43 0x1a0c 63528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD44 0x1a10 63628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD45 0x1a14 63728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD46 0x1a18 63828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD47 0x1a1c 63928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD48 0x1a20 64028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD49 0x1a24 64128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD50 0x1a28 64228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD51 0x1a2c 64328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD52 0x1a30 64428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD53 0x1a34 64528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD54 0x1a38 64628671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD55 0x1a3c 64728671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD56 0x1a40 64828671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD57 0x1a44 64928671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD58 0x1a48 65028671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD59 0x1a4c 65128671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD60 0x1a50 65228671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD61 0x1a54 65328671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD62 0x1a58 65428671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD63 0x1a5c 65528671edaSAlgea Cao #define EARCRX_CMDC_XACT_RD64 0x1a60 65628671edaSAlgea Cao #define EARCRX_CMDC_SYNC_CONFIG 0x1b00 65728671edaSAlgea Cao /* eARC RX DMAC Registers */ 65828671edaSAlgea Cao #define EARCRX_DMAC_PHY_CONTROL 0x1c00 65928671edaSAlgea Cao #define EARCRX_DMAC_CONFIG 0x1c08 66028671edaSAlgea Cao #define EARCRX_DMAC_CONTROL0 0x1c0c 66128671edaSAlgea Cao #define EARCRX_DMAC_AUDIO_EN BIT(1) 66228671edaSAlgea Cao #define EARCRX_DMAC_EN BIT(0) 66328671edaSAlgea Cao #define EARCRX_DMAC_CONTROL1 0x1c10 66428671edaSAlgea Cao #define EARCRX_DMAC_STATUS 0x1c14 66528671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS0 0x1c18 66628671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS1 0x1c1c 66728671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS2 0x1c20 66828671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS3 0x1c24 66928671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS4 0x1c28 67028671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS5 0x1c2c 67128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC0 0x1c30 67228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC1 0x1c34 67328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC2 0x1c38 67428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC3 0x1c3c 67528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC4 0x1c40 67628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC5 0x1c44 67728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC6 0x1c48 67828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC7 0x1c4c 67928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC8 0x1c50 68028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC9 0x1c54 68128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC10 0x1c58 68228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_AC11 0x1c5c 68328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT0 0x1c60 68428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT1 0x1c64 68528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT2 0x1c68 68628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT3 0x1c6c 68728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT4 0x1c70 68828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT5 0x1c74 68928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT6 0x1c78 69028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT7 0x1c7c 69128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT8 0x1c80 69228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT9 0x1c84 69328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT10 0x1c88 69428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC1_PKT11 0x1c8c 69528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT0 0x1c90 69628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT1 0x1c94 69728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT2 0x1c98 69828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT3 0x1c9c 69928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT4 0x1ca0 70028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT5 0x1ca4 70128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT6 0x1ca8 70228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT7 0x1cac 70328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT8 0x1cb0 70428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT9 0x1cb4 70528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT10 0x1cb8 70628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_HDMI_ISRC2_PKT11 0x1cbc 70728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC0 0x1cc0 70828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC1 0x1cc4 70928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC2 0x1cc8 71028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC3 0x1ccc 71128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC4 0x1cd0 71228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC5 0x1cd4 71328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC6 0x1cd8 71428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC7 0x1cdc 71528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC8 0x1ce0 71628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC9 0x1ce4 71728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC10 0x1ce8 71828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC11 0x1cec 71928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC12 0x1cf0 72028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC13 0x1cf4 72128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC14 0x1cf8 72228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC15 0x1cfc 72328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC16 0x1d00 72428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC17 0x1d04 72528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC18 0x1d08 72628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC19 0x1d0c 72728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC20 0x1d10 72828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC21 0x1d14 72928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC22 0x1d18 73028671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC23 0x1d1c 73128671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC24 0x1d20 73228671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC25 0x1d24 73328671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC26 0x1d28 73428671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC27 0x1d2c 73528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC28 0x1d30 73628671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC29 0x1d34 73728671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC30 0x1d38 73828671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC31 0x1d3c 73928671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_MSG_GENERIC32 0x1d40 74028671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER0 0x1d44 74128671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER1 0x1d48 74228671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER2 0x1d4c 74328671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER3 0x1d50 74428671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER4 0x1d54 74528671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER5 0x1d58 74628671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER6 0x1d5c 74728671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER7 0x1d60 74828671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER8 0x1d64 74928671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER9 0x1d68 75028671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER10 0x1d6c 75128671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER11 0x1d70 75228671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER12 0x1d74 75328671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER13 0x1d78 75428671edaSAlgea Cao #define EARCRX_DMAC_CHSTATUS_STREAMER14 0x1d7c 75528671edaSAlgea Cao #define EARCRX_DMAC_USRDATA_STREAMER0 0x1d80 75628671edaSAlgea Cao /* Main Unit Interrupt Registers */ 75728671edaSAlgea Cao #define MAIN_INTVEC_INDEX 0x3000 75828671edaSAlgea Cao #define MAINUNIT_0_INT_STATUS 0x3010 75928671edaSAlgea Cao #define MAINUNIT_0_INT_MASK_N 0x3014 76028671edaSAlgea Cao #define MAINUNIT_0_INT_CLEAR 0x3018 76128671edaSAlgea Cao #define MAINUNIT_0_INT_FORCE 0x301c 76228671edaSAlgea Cao #define MAINUNIT_1_INT_STATUS 0x3020 76328671edaSAlgea Cao #define FLT_EXIT_TO_LTSL_IRQ BIT(22) 76428671edaSAlgea Cao #define FLT_EXIT_TO_LTS4_IRQ BIT(21) 76528671edaSAlgea Cao #define FLT_EXIT_TO_LTSP_IRQ BIT(20) 76628671edaSAlgea Cao #define SCDC_NACK_RCVD_IRQ BIT(12) 76728671edaSAlgea Cao #define SCDC_RR_REPLY_STOP_IRQ BIT(11) 76828671edaSAlgea Cao #define SCDC_UPD_FLAGS_CLR_IRQ BIT(10) 76928671edaSAlgea Cao #define SCDC_UPD_FLAGS_CHG_IRQ BIT(9) 77028671edaSAlgea Cao #define SCDC_UPD_FLAGS_RD_IRQ BIT(8) 77128671edaSAlgea Cao #define I2CM_NACK_RCVD_IRQ BIT(2) 77228671edaSAlgea Cao #define I2CM_READ_REQUEST_IRQ BIT(1) 77328671edaSAlgea Cao #define I2CM_OP_DONE_IRQ BIT(0) 77428671edaSAlgea Cao #define MAINUNIT_1_INT_MASK_N 0x3024 77528671edaSAlgea Cao #define I2CM_NACK_RCVD_MASK_N BIT(2) 77628671edaSAlgea Cao #define I2CM_READ_REQUEST_MASK_N BIT(1) 77728671edaSAlgea Cao #define I2CM_OP_DONE_MASK_N BIT(0) 77828671edaSAlgea Cao #define MAINUNIT_1_INT_CLEAR 0x3028 77928671edaSAlgea Cao #define I2CM_NACK_RCVD_CLEAR BIT(2) 78028671edaSAlgea Cao #define I2CM_READ_REQUEST_CLEAR BIT(1) 78128671edaSAlgea Cao #define I2CM_OP_DONE_CLEAR BIT(0) 78228671edaSAlgea Cao #define MAINUNIT_1_INT_FORCE 0x302c 78328671edaSAlgea Cao /* AVPUNIT Interrupt Registers */ 78428671edaSAlgea Cao #define AVP_INTVEC_INDEX 0x3800 78528671edaSAlgea Cao #define AVP_0_INT_STATUS 0x3810 78628671edaSAlgea Cao #define AVP_0_INT_MASK_N 0x3814 78728671edaSAlgea Cao #define AVP_0_INT_CLEAR 0x3818 78828671edaSAlgea Cao #define AVP_0_INT_FORCE 0x381c 78928671edaSAlgea Cao #define AVP_1_INT_STATUS 0x3820 79028671edaSAlgea Cao #define AVP_1_INT_MASK_N 0x3824 79128671edaSAlgea Cao #define HDCP14_AUTH_CHG_MASK_N BIT(6) 79228671edaSAlgea Cao #define AVP_1_INT_CLEAR 0x3828 79328671edaSAlgea Cao #define AVP_1_INT_FORCE 0x382c 79428671edaSAlgea Cao #define AVP_2_INT_STATUS 0x3830 79528671edaSAlgea Cao #define AVP_2_INT_MASK_N 0x3834 79628671edaSAlgea Cao #define AVP_2_INT_CLEAR 0x3838 79728671edaSAlgea Cao #define AVP_2_INT_FORCE 0x383c 79828671edaSAlgea Cao #define AVP_3_INT_STATUS 0x3840 79928671edaSAlgea Cao #define AVP_3_INT_MASK_N 0x3844 80028671edaSAlgea Cao #define AVP_3_INT_CLEAR 0x3848 80128671edaSAlgea Cao #define AVP_3_INT_FORCE 0x384c 80228671edaSAlgea Cao #define AVP_4_INT_STATUS 0x3850 80328671edaSAlgea Cao #define AVP_4_INT_MASK_N 0x3854 80428671edaSAlgea Cao #define AVP_4_INT_CLEAR 0x3858 80528671edaSAlgea Cao #define AVP_4_INT_FORCE 0x385c 80628671edaSAlgea Cao #define AVP_5_INT_STATUS 0x3860 80728671edaSAlgea Cao #define AVP_5_INT_MASK_N 0x3864 80828671edaSAlgea Cao #define AVP_5_INT_CLEAR 0x3868 80928671edaSAlgea Cao #define AVP_5_INT_FORCE 0x386c 81028671edaSAlgea Cao #define AVP_6_INT_STATUS 0x3870 81128671edaSAlgea Cao #define AVP_6_INT_MASK_N 0x3874 81228671edaSAlgea Cao #define AVP_6_INT_CLEAR 0x3878 81328671edaSAlgea Cao #define AVP_6_INT_FORCE 0x387c 81428671edaSAlgea Cao /* CEC Interrupt Registers */ 81528671edaSAlgea Cao #define CEC_INT_STATUS 0x4000 81628671edaSAlgea Cao #define CEC_INT_MASK_N 0x4004 81728671edaSAlgea Cao #define CEC_INT_CLEAR 0x4008 81828671edaSAlgea Cao #define CEC_INT_FORCE 0x400c 81928671edaSAlgea Cao /* eARC RX Interrupt Registers */ 82028671edaSAlgea Cao #define EARCRX_INTVEC_INDEX 0x4800 82128671edaSAlgea Cao #define EARCRX_0_INT_STATUS 0x4810 82228671edaSAlgea Cao #define EARCRX_CMDC_DISCOVERY_TIMEOUT_IRQ BIT(9) 82328671edaSAlgea Cao #define EARCRX_CMDC_DISCOVERY_DONE_IRQ BIT(8) 82428671edaSAlgea Cao #define EARCRX_0_INT_MASK_N 0x4814 82528671edaSAlgea Cao #define EARCRX_0_INT_CLEAR 0x4818 82628671edaSAlgea Cao #define EARCRX_0_INT_FORCE 0x481c 82728671edaSAlgea Cao #define EARCRX_1_INT_STATUS 0x4820 82828671edaSAlgea Cao #define EARCRX_1_INT_MASK_N 0x4824 82928671edaSAlgea Cao #define EARCRX_1_INT_CLEAR 0x4828 83028671edaSAlgea Cao #define EARCRX_1_INT_FORCE 0x482c 83128671edaSAlgea Cao 83228671edaSAlgea Cao /* SCDC Registers */ 83328671edaSAlgea Cao #define SCDC_SINK_VERSION 0x01 83428671edaSAlgea Cao #define SCDC_SOURCE_VERSION 0x02 83528671edaSAlgea Cao 83628671edaSAlgea Cao #define SCDC_UPDATE_0 0x10 83728671edaSAlgea Cao #define SCDC_READ_REQUEST_TEST BIT(2) 83828671edaSAlgea Cao #define SCDC_CED_UPDATE BIT(1) 83928671edaSAlgea Cao #define SCDC_STATUS_UPDATE BIT(0) 84028671edaSAlgea Cao #define SCDC_UPDATE_1 0x11 84128671edaSAlgea Cao 84228671edaSAlgea Cao #define SCDC_TMDS_CONFIG 0x20 84328671edaSAlgea Cao #define SCDC_TMDS_BIT_CLOCK_RATIO_BY_40 BIT(1) 84428671edaSAlgea Cao #define SCDC_TMDS_BIT_CLOCK_RATIO_BY_10 (0 << 1) 84528671edaSAlgea Cao #define SCDC_SCRAMBLING_ENABLE BIT(0) 84628671edaSAlgea Cao #define SCDC_SCRAMBLER_STATUS 0x21 84728671edaSAlgea Cao #define SCDC_SCRAMBLING_STATUS BIT(0) 84828671edaSAlgea Cao 84928671edaSAlgea Cao #define SCDC_CONFIG_0 0x30 85028671edaSAlgea Cao #define SCDC_READ_REQUEST_ENABLE BIT(0) 85128671edaSAlgea Cao 85228671edaSAlgea Cao #define SCDC_STATUS_FLAGS_0 0x40 85328671edaSAlgea Cao #define SCDC_CH2_LOCK BIT(3) 85428671edaSAlgea Cao #define SCDC_CH1_LOCK BIT(2) 85528671edaSAlgea Cao #define SCDC_CH0_LOCK BIT(1) 85628671edaSAlgea Cao #define SCDC_CH_LOCK_MASK (SCDC_CH2_LOCK | SCDC_CH1_LOCK | SCDC_CH0_LOCK) 85728671edaSAlgea Cao #define SCDC_CLOCK_DETECT BIT(0) 85828671edaSAlgea Cao #define SCDC_STATUS_FLAGS_1 0x41 85928671edaSAlgea Cao 86028671edaSAlgea Cao #define SCDC_ERR_DET_0_L 0x50 86128671edaSAlgea Cao #define SCDC_ERR_DET_0_H 0x51 86228671edaSAlgea Cao #define SCDC_ERR_DET_1_L 0x52 86328671edaSAlgea Cao #define SCDC_ERR_DET_1_H 0x53 86428671edaSAlgea Cao #define SCDC_ERR_DET_2_L 0x54 86528671edaSAlgea Cao #define SCDC_ERR_DET_2_H 0x55 86628671edaSAlgea Cao #define SCDC_CHANNEL_VALID BIT(7) 86728671edaSAlgea Cao #define SCDC_ERR_DET_CHECKSUM 0x56 86828671edaSAlgea Cao 86928671edaSAlgea Cao #define SCDC_TEST_CONFIG_0 0xc0 87028671edaSAlgea Cao #define SCDC_TEST_READ_REQUEST BIT(7) 87128671edaSAlgea Cao #define SCDC_TEST_READ_REQUEST_DELAY(x) ((x) & 0x7f) 87228671edaSAlgea Cao 87328671edaSAlgea Cao #define SCDC_MANUFACTURER_IEEE_OUI 0xd0 87428671edaSAlgea Cao #define SCDC_MANUFACTURER_IEEE_OUI_SIZE 3 87528671edaSAlgea Cao #define SCDC_DEVICE_ID 0xd3 87628671edaSAlgea Cao #define SCDC_DEVICE_ID_SIZE 8 87728671edaSAlgea Cao #define SCDC_DEVICE_HARDWARE_REVISION 0xdb 87828671edaSAlgea Cao #define SCDC_DEVICE_HARDWARE_REVISION_MAJOR(x) (((x) >> 4) & 0xf) 87928671edaSAlgea Cao #define SCDC_DEVICE_HARDWARE_REVISION_MINOR(x) (((x) >> 0) & 0xf) 88028671edaSAlgea Cao #define SCDC_DEVICE_SOFTWARE_MAJOR_REVISION 0xdc 88128671edaSAlgea Cao #define SCDC_DEVICE_SOFTWARE_MINOR_REVISION 0xdd 88228671edaSAlgea Cao 88328671edaSAlgea Cao #define SCDC_MANUFACTURER_SPECIFIC 0xde 88428671edaSAlgea Cao #define SCDC_MANUFACTURER_SPECIFIC_SIZE 34 88528671edaSAlgea Cao 88628671edaSAlgea Cao enum v4l2_ycbcr_encoding { 88728671edaSAlgea Cao /* 88828671edaSAlgea Cao * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the 88928671edaSAlgea Cao * various colorspaces: 89028671edaSAlgea Cao * 89128671edaSAlgea Cao * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M, 89228671edaSAlgea Cao * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and 89328671edaSAlgea Cao * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601 89428671edaSAlgea Cao * 89528671edaSAlgea Cao * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709 89628671edaSAlgea Cao * 89728671edaSAlgea Cao * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC 89828671edaSAlgea Cao * 89928671edaSAlgea Cao * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020 90028671edaSAlgea Cao * 90128671edaSAlgea Cao * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M 90228671edaSAlgea Cao */ 90328671edaSAlgea Cao V4L2_YCBCR_ENC_DEFAULT = 0, 90428671edaSAlgea Cao 90528671edaSAlgea Cao /* ITU-R 601 -- SDTV */ 90628671edaSAlgea Cao V4L2_YCBCR_ENC_601 = 1, 90728671edaSAlgea Cao 90828671edaSAlgea Cao /* Rec. 709 -- HDTV */ 90928671edaSAlgea Cao V4L2_YCBCR_ENC_709 = 2, 91028671edaSAlgea Cao 91128671edaSAlgea Cao /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */ 91228671edaSAlgea Cao V4L2_YCBCR_ENC_XV601 = 3, 91328671edaSAlgea Cao 91428671edaSAlgea Cao /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */ 91528671edaSAlgea Cao V4L2_YCBCR_ENC_XV709 = 4, 91628671edaSAlgea Cao 91728671edaSAlgea Cao /* sYCC (Y'CbCr encoding of sRGB) */ 91828671edaSAlgea Cao V4L2_YCBCR_ENC_SYCC = 5, 91928671edaSAlgea Cao 92028671edaSAlgea Cao /* BT.2020 Non-constant Luminance Y'CbCr */ 92128671edaSAlgea Cao V4L2_YCBCR_ENC_BT2020 = 6, 92228671edaSAlgea Cao 92328671edaSAlgea Cao /* BT.2020 Constant Luminance Y'CbcCrc */ 92428671edaSAlgea Cao V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7, 92528671edaSAlgea Cao 92628671edaSAlgea Cao /* SMPTE 240M -- Obsolete HDTV */ 92728671edaSAlgea Cao V4L2_YCBCR_ENC_SMPTE240M = 8, 92828671edaSAlgea Cao }; 92928671edaSAlgea Cao 93028671edaSAlgea Cao enum drm_connector_status { 93128671edaSAlgea Cao connector_status_disconnected = 0, 93228671edaSAlgea Cao connector_status_connected = 1, 93328671edaSAlgea Cao }; 93428671edaSAlgea Cao 935463abfccSAlgea Cao void dw_hdmi_qp_set_grf_cfg(void *data); 936463abfccSAlgea Cao void dw_hdmi_qp_io_path_init(void *data); 93728671edaSAlgea Cao struct dw_hdmi_link_config *dw_hdmi_rockchip_get_link_cfg(void *data); 938463abfccSAlgea Cao void dw_hdmi_qp_select_output(struct hdmi_edid_data *edid_data, 9390594ce39SZhang Yubing struct rockchip_connector *conn, 94028671edaSAlgea Cao unsigned int *bus_format, 94128671edaSAlgea Cao struct overscan *overscan, 94228671edaSAlgea Cao enum dw_hdmi_devtype dev_type, 94328671edaSAlgea Cao bool output_bus_format_rgb, 9440d7a8537SAlgea Cao void *data, struct display_state *state); 945200f72c9SAlgea Cao bool dw_hdmi_qp_check_enable_gpio(void *data); 94628671edaSAlgea Cao 94728671edaSAlgea Cao #endif /* __DW_HDMI_QP_H__ */ 948