xref: /rk3399_rockchip-uboot/drivers/video/drm/dw_hdmi_qp.h (revision eec522089b244fa46e0d6318a5b6e6229d0eeb15)
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