xref: /linux/drivers/gpu/drm/mediatek/mtk_hdmi_regs_v2.h (revision 3f1c07fc21c68bd3bd2df9d2c9441f6485e934d9)
1*8d0f7988SAngeloGioacchino Del Regno /* SPDX-License-Identifier: GPL-2.0 */
2*8d0f7988SAngeloGioacchino Del Regno /*
3*8d0f7988SAngeloGioacchino Del Regno  * Copyright (c) 2021 MediaTek Inc.
4*8d0f7988SAngeloGioacchino Del Regno  * Copyright (c) 2021 BayLibre, SAS
5*8d0f7988SAngeloGioacchino Del Regno  * Copyright (c) 2024 Collabora Ltd.
6*8d0f7988SAngeloGioacchino Del Regno  *                    AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
7*8d0f7988SAngeloGioacchino Del Regno  */
8*8d0f7988SAngeloGioacchino Del Regno 
9*8d0f7988SAngeloGioacchino Del Regno #ifndef _MTK_HDMI_REGS_H
10*8d0f7988SAngeloGioacchino Del Regno #define _MTK_HDMI_REGS_H
11*8d0f7988SAngeloGioacchino Del Regno 
12*8d0f7988SAngeloGioacchino Del Regno /* HDMI_TOP Config */
13*8d0f7988SAngeloGioacchino Del Regno #define TOP_CFG00			0x000
14*8d0f7988SAngeloGioacchino Del Regno #define  HDMI2_ON			BIT(2)
15*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_MODE_HDMI			BIT(3)
16*8d0f7988SAngeloGioacchino Del Regno #define  SCR_ON				BIT(4)
17*8d0f7988SAngeloGioacchino Del Regno #define  TMDS_PACK_MODE			GENMASK(9, 8)
18*8d0f7988SAngeloGioacchino Del Regno #define   TMDS_PACK_MODE_8BPP		0
19*8d0f7988SAngeloGioacchino Del Regno #define   TMDS_PACK_MODE_10BPP		1
20*8d0f7988SAngeloGioacchino Del Regno #define   TMDS_PACK_MODE_12BPP		2
21*8d0f7988SAngeloGioacchino Del Regno #define   TMDS_PACK_MODE_16BPP		3
22*8d0f7988SAngeloGioacchino Del Regno #define  DEEPCOLOR_PKT_EN		BIT(12)
23*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_ABIST_VIDEO_FORMAT	GENMASK(21, 16)
24*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_ABIST_ENABLE		BIT(31)
25*8d0f7988SAngeloGioacchino Del Regno #define TOP_CFG01 0x004
26*8d0f7988SAngeloGioacchino Del Regno #define  CP_SET_MUTE_EN			BIT(0)
27*8d0f7988SAngeloGioacchino Del Regno #define  CP_CLR_MUTE_EN			BIT(1)
28*8d0f7988SAngeloGioacchino Del Regno #define  NULL_PKT_EN			BIT(2)
29*8d0f7988SAngeloGioacchino Del Regno #define  NULL_PKT_VSYNC_HIGH_EN		BIT(3)
30*8d0f7988SAngeloGioacchino Del Regno 
31*8d0f7988SAngeloGioacchino Del Regno /* HDMI_TOP Audio: Channel Mapping */
32*8d0f7988SAngeloGioacchino Del Regno #define TOP_AUD_MAP			0x00c
33*8d0f7988SAngeloGioacchino Del Regno #define  SD0_MAP			GENMASK(2, 0)
34*8d0f7988SAngeloGioacchino Del Regno #define  SD1_MAP			GENMASK(6, 4)
35*8d0f7988SAngeloGioacchino Del Regno #define  SD2_MAP			GENMASK(10, 8)
36*8d0f7988SAngeloGioacchino Del Regno #define  SD3_MAP			GENMASK(14, 12)
37*8d0f7988SAngeloGioacchino Del Regno #define  SD4_MAP			GENMASK(18, 16)
38*8d0f7988SAngeloGioacchino Del Regno #define  SD5_MAP			GENMASK(22, 20)
39*8d0f7988SAngeloGioacchino Del Regno #define  SD6_MAP			GENMASK(26, 24)
40*8d0f7988SAngeloGioacchino Del Regno #define  SD7_MAP			GENMASK(30, 28)
41*8d0f7988SAngeloGioacchino Del Regno 
42*8d0f7988SAngeloGioacchino Del Regno /* Auxiliary Video Information (AVI) Infoframe */
43*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_HEADER			0x024
44*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT00			0x028
45*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT01			0x02C
46*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT02			0x030
47*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT03			0x034
48*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT04			0x038
49*8d0f7988SAngeloGioacchino Del Regno #define TOP_AVI_PKT05			0x03C
50*8d0f7988SAngeloGioacchino Del Regno 
51*8d0f7988SAngeloGioacchino Del Regno /* Audio Interface Infoframe */
52*8d0f7988SAngeloGioacchino Del Regno #define TOP_AIF_HEADER			0x040
53*8d0f7988SAngeloGioacchino Del Regno #define TOP_AIF_PKT00			0x044
54*8d0f7988SAngeloGioacchino Del Regno #define TOP_AIF_PKT01			0x048
55*8d0f7988SAngeloGioacchino Del Regno #define TOP_AIF_PKT02			0x04c
56*8d0f7988SAngeloGioacchino Del Regno #define TOP_AIF_PKT03			0x050
57*8d0f7988SAngeloGioacchino Del Regno 
58*8d0f7988SAngeloGioacchino Del Regno /* Audio SPDIF Infoframe */
59*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_HEADER		0x054
60*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT00			0x058
61*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT01			0x05c
62*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT02			0x060
63*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT03			0x064
64*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT04			0x068
65*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT05			0x06c
66*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT06			0x070
67*8d0f7988SAngeloGioacchino Del Regno #define TOP_SPDIF_PKT07			0x074
68*8d0f7988SAngeloGioacchino Del Regno 
69*8d0f7988SAngeloGioacchino Del Regno /* Infoframes Configuration */
70*8d0f7988SAngeloGioacchino Del Regno #define TOP_INFO_EN			0x01c
71*8d0f7988SAngeloGioacchino Del Regno #define  AVI_EN				BIT(0)
72*8d0f7988SAngeloGioacchino Del Regno #define  SPD_EN				BIT(1)
73*8d0f7988SAngeloGioacchino Del Regno #define  AUD_EN				BIT(2)
74*8d0f7988SAngeloGioacchino Del Regno #define  CP_EN				BIT(5)
75*8d0f7988SAngeloGioacchino Del Regno #define  VSIF_EN			BIT(11)
76*8d0f7988SAngeloGioacchino Del Regno #define  AVI_EN_WR			BIT(16)
77*8d0f7988SAngeloGioacchino Del Regno #define  SPD_EN_WR			BIT(17)
78*8d0f7988SAngeloGioacchino Del Regno #define  AUD_EN_WR			BIT(18)
79*8d0f7988SAngeloGioacchino Del Regno #define  CP_EN_WR			BIT(21)
80*8d0f7988SAngeloGioacchino Del Regno #define  VSIF_EN_WR			BIT(27)
81*8d0f7988SAngeloGioacchino Del Regno #define TOP_INFO_RPT			0x020
82*8d0f7988SAngeloGioacchino Del Regno #define  AVI_RPT_EN			BIT(0)
83*8d0f7988SAngeloGioacchino Del Regno #define  SPD_RPT_EN			BIT(1)
84*8d0f7988SAngeloGioacchino Del Regno #define  AUD_RPT_EN			BIT(2)
85*8d0f7988SAngeloGioacchino Del Regno #define  CP_RPT_EN			BIT(5)
86*8d0f7988SAngeloGioacchino Del Regno #define  VSIF_RPT_EN			BIT(11)
87*8d0f7988SAngeloGioacchino Del Regno 
88*8d0f7988SAngeloGioacchino Del Regno /* Vendor Specific Infoframe */
89*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_HEADER			0x174
90*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT00			0x178
91*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT01			0x17c
92*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT02			0x180
93*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT03			0x184
94*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT04			0x188
95*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT05			0x18c
96*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT06			0x190
97*8d0f7988SAngeloGioacchino Del Regno #define TOP_VSIF_PKT07			0x194
98*8d0f7988SAngeloGioacchino Del Regno 
99*8d0f7988SAngeloGioacchino Del Regno /* HDMI_TOP Misc */
100*8d0f7988SAngeloGioacchino Del Regno #define TOP_MISC_CTLR			0x1a4
101*8d0f7988SAngeloGioacchino Del Regno #define  DEEP_COLOR_ADD			BIT(4)
102*8d0f7988SAngeloGioacchino Del Regno 
103*8d0f7988SAngeloGioacchino Del Regno /* Hardware interrupts */
104*8d0f7988SAngeloGioacchino Del Regno #define TOP_INT_STA00			0x1a8
105*8d0f7988SAngeloGioacchino Del Regno #define TOP_INT_ENABLE00		0x1b0
106*8d0f7988SAngeloGioacchino Del Regno #define  HTPLG_R_INT			BIT(0)
107*8d0f7988SAngeloGioacchino Del Regno #define  HTPLG_F_INT			BIT(1)
108*8d0f7988SAngeloGioacchino Del Regno #define  PORD_R_INT			BIT(2)
109*8d0f7988SAngeloGioacchino Del Regno #define  PORD_F_INT			BIT(3)
110*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_VSYNC_INT			BIT(4)
111*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_AUDIO_INT			BIT(5)
112*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_RX_REAUTH_REQ_DDCM_INT	BIT(25)
113*8d0f7988SAngeloGioacchino Del Regno #define TOP_INT_ENABLE01		0x1b4
114*8d0f7988SAngeloGioacchino Del Regno #define TOP_INT_CLR00			0x1b8
115*8d0f7988SAngeloGioacchino Del Regno #define TOP_INT_CLR01			0x1bc
116*8d0f7988SAngeloGioacchino Del Regno 
117*8d0f7988SAngeloGioacchino Del Regno 
118*8d0f7988SAngeloGioacchino Del Regno /* Video Mute */
119*8d0f7988SAngeloGioacchino Del Regno #define TOP_VMUTE_CFG1			0x1c8
120*8d0f7988SAngeloGioacchino Del Regno #define  REG_VMUTE_EN			BIT(16)
121*8d0f7988SAngeloGioacchino Del Regno 
122*8d0f7988SAngeloGioacchino Del Regno /* HDMI Audio IP */
123*8d0f7988SAngeloGioacchino Del Regno #define AIP_CTRL			0x400
124*8d0f7988SAngeloGioacchino Del Regno #define  CTS_SW_SEL			BIT(0)
125*8d0f7988SAngeloGioacchino Del Regno #define  CTS_REQ_EN			BIT(1)
126*8d0f7988SAngeloGioacchino Del Regno #define  MCLK_EN			BIT(2)
127*8d0f7988SAngeloGioacchino Del Regno #define  NO_MCLK_CTSGEN_SEL		BIT(3)
128*8d0f7988SAngeloGioacchino Del Regno #define  AUD_IN_EN			BIT(8)
129*8d0f7988SAngeloGioacchino Del Regno #define  AUD_SEL_OWRT			BIT(9)
130*8d0f7988SAngeloGioacchino Del Regno #define  SPDIF_EN			BIT(13)
131*8d0f7988SAngeloGioacchino Del Regno #define  HBRA_ON			BIT(14)
132*8d0f7988SAngeloGioacchino Del Regno #define  DSD_EN				BIT(15)
133*8d0f7988SAngeloGioacchino Del Regno #define  I2S_EN				GENMASK(19, 16)
134*8d0f7988SAngeloGioacchino Del Regno #define  HBR_FROM_SPDIF			BIT(20)
135*8d0f7988SAngeloGioacchino Del Regno #define  CTS_CAL_N4			BIT(23)
136*8d0f7988SAngeloGioacchino Del Regno #define  SPDIF_INTERNAL_MODULE		BIT(24)
137*8d0f7988SAngeloGioacchino Del Regno #define AIP_N_VAL			0x404
138*8d0f7988SAngeloGioacchino Del Regno #define AIP_CTS_SVAL			0x408
139*8d0f7988SAngeloGioacchino Del Regno #define AIP_SPDIF_CTRL			0x40c
140*8d0f7988SAngeloGioacchino Del Regno #define  WR_1UI_LOCK			BIT(0)
141*8d0f7988SAngeloGioacchino Del Regno #define  FS_OVERRIDE_WRITE		BIT(1)
142*8d0f7988SAngeloGioacchino Del Regno #define  WR_2UI_LOCK			BIT(2)
143*8d0f7988SAngeloGioacchino Del Regno #define  MAX_1UI_WRITE			GENMASK(15, 8)
144*8d0f7988SAngeloGioacchino Del Regno #define  MAX_2UI_SPDIF_WRITE		GENMASK(23, 16)
145*8d0f7988SAngeloGioacchino Del Regno #define  MAX_2UI_I2S_HI_WRITE		GENMASK(23, 20)
146*8d0f7988SAngeloGioacchino Del Regno #define   MAX_2UI_I2S_LFE_CC_SWAP	BIT(1)
147*8d0f7988SAngeloGioacchino Del Regno #define  MAX_2UI_I2S_LO_WRITE		GENMASK(19, 16)
148*8d0f7988SAngeloGioacchino Del Regno #define  AUD_ERR_THRESH			GENMASK(29, 24)
149*8d0f7988SAngeloGioacchino Del Regno #define  I2S2DSD_EN			BIT(30)
150*8d0f7988SAngeloGioacchino Del Regno #define AIP_I2S_CTRL			0x410
151*8d0f7988SAngeloGioacchino Del Regno #define  FIFO0_MAP			GENMASK(1, 0)
152*8d0f7988SAngeloGioacchino Del Regno #define  FIFO1_MAP			GENMASK(3, 2)
153*8d0f7988SAngeloGioacchino Del Regno #define  FIFO2_MAP			GENMASK(5, 4)
154*8d0f7988SAngeloGioacchino Del Regno #define  FIFO3_MAP			GENMASK(7, 6)
155*8d0f7988SAngeloGioacchino Del Regno #define  I2S_1ST_BIT_NOSHIFT		BIT(8)
156*8d0f7988SAngeloGioacchino Del Regno #define  I2S_DATA_DIR_LSB		BIT(9)
157*8d0f7988SAngeloGioacchino Del Regno #define  JUSTIFY_RIGHT			BIT(10)
158*8d0f7988SAngeloGioacchino Del Regno #define  WS_HIGH			BIT(11)
159*8d0f7988SAngeloGioacchino Del Regno #define  VBIT_COMPRESSED		BIT(12)
160*8d0f7988SAngeloGioacchino Del Regno #define  CBIT_ORDER_SAME		BIT(13)
161*8d0f7988SAngeloGioacchino Del Regno #define  SCK_EDGE_RISE			BIT(14)
162*8d0f7988SAngeloGioacchino Del Regno #define AIP_I2S_CHST0			0x414
163*8d0f7988SAngeloGioacchino Del Regno #define AIP_I2S_CHST1			0x418
164*8d0f7988SAngeloGioacchino Del Regno #define AIP_TXCTRL			0x424
165*8d0f7988SAngeloGioacchino Del Regno #define  RST4AUDIO			BIT(0)
166*8d0f7988SAngeloGioacchino Del Regno #define  RST4AUDIO_FIFO			BIT(1)
167*8d0f7988SAngeloGioacchino Del Regno #define  RST4AUDIO_ACR			BIT(2)
168*8d0f7988SAngeloGioacchino Del Regno #define  AUD_LAYOUT_1			BIT(4)
169*8d0f7988SAngeloGioacchino Del Regno #define  AUD_MUTE_FIFO_EN		BIT(5)
170*8d0f7988SAngeloGioacchino Del Regno #define  AUD_PACKET_DROP		BIT(6)
171*8d0f7988SAngeloGioacchino Del Regno #define  DSD_MUTE_EN			BIT(7)
172*8d0f7988SAngeloGioacchino Del Regno #define AIP_TPI_CTRL			0x428
173*8d0f7988SAngeloGioacchino Del Regno #define  TPI_AUDIO_LOOKUP_EN		BIT(2)
174*8d0f7988SAngeloGioacchino Del Regno 
175*8d0f7988SAngeloGioacchino Del Regno /* Video downsampling configuration */
176*8d0f7988SAngeloGioacchino Del Regno #define VID_DOWNSAMPLE_CONFIG		0x8d0
177*8d0f7988SAngeloGioacchino Del Regno #define  C444_C422_CONFIG_ENABLE	BIT(0)
178*8d0f7988SAngeloGioacchino Del Regno #define  C422_C420_CONFIG_ENABLE	BIT(4)
179*8d0f7988SAngeloGioacchino Del Regno #define  C422_C420_CONFIG_BYPASS	BIT(5)
180*8d0f7988SAngeloGioacchino Del Regno #define  C422_C420_CONFIG_OUT_CB_OR_CR	BIT(6)
181*8d0f7988SAngeloGioacchino Del Regno #define VID_OUT_FORMAT			0x8fc
182*8d0f7988SAngeloGioacchino Del Regno #define  OUTPUT_FORMAT_DEMUX_420_ENABLE	BIT(10)
183*8d0f7988SAngeloGioacchino Del Regno 
184*8d0f7988SAngeloGioacchino Del Regno /* HDCP registers */
185*8d0f7988SAngeloGioacchino Del Regno #define HDCP_TOP_CTRL			0xc00
186*8d0f7988SAngeloGioacchino Del Regno #define HDCP2X_CTRL_0			0xc20
187*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_EN			BIT(0)
188*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_ENCRYPT_EN		BIT(7)
189*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_HPD_OVR			BIT(10)
190*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_HPD_SW			BIT(11)
191*8d0f7988SAngeloGioacchino Del Regno #define HDCP2X_POL_CTRL			0xc54
192*8d0f7988SAngeloGioacchino Del Regno #define  HDCP2X_DIS_POLL_EN		BIT(16)
193*8d0f7988SAngeloGioacchino Del Regno #define HDCP1X_CTRL			0xcd0
194*8d0f7988SAngeloGioacchino Del Regno #define  HDCP1X_ENC_EN			BIT(6)
195*8d0f7988SAngeloGioacchino Del Regno 
196*8d0f7988SAngeloGioacchino Del Regno /* HDMI DDC registers */
197*8d0f7988SAngeloGioacchino Del Regno #define HPD_DDC_CTRL			0xc08
198*8d0f7988SAngeloGioacchino Del Regno #define  HPD_DDC_DELAY_CNT		GENMASK(31, 16)
199*8d0f7988SAngeloGioacchino Del Regno #define  HPD_DDC_HPD_DBNC_EN		BIT(2)
200*8d0f7988SAngeloGioacchino Del Regno #define  HPD_DDC_PORD_DBNC_EN		BIT(3)
201*8d0f7988SAngeloGioacchino Del Regno #define DDC_CTRL			0xc10
202*8d0f7988SAngeloGioacchino Del Regno #define  DDC_CTRL_ADDR			GENMASK(7, 1)
203*8d0f7988SAngeloGioacchino Del Regno #define  DDC_CTRL_OFFSET		GENMASK(15, 8)
204*8d0f7988SAngeloGioacchino Del Regno #define  DDC_CTRL_DIN_CNT		GENMASK(25, 16)
205*8d0f7988SAngeloGioacchino Del Regno #define  DDC_CTRL_CMD			GENMASK(31, 28)
206*8d0f7988SAngeloGioacchino Del Regno #define SCDC_CTRL			0xc18
207*8d0f7988SAngeloGioacchino Del Regno #define  SCDC_DDC_SEGMENT		GENMASK(15, 8)
208*8d0f7988SAngeloGioacchino Del Regno #define HPD_DDC_STATUS			0xc60
209*8d0f7988SAngeloGioacchino Del Regno #define  HPD_STATE			GENMASK(1, 0)
210*8d0f7988SAngeloGioacchino Del Regno #define   HPD_STATE_CONNECTED		2
211*8d0f7988SAngeloGioacchino Del Regno #define  HPD_PIN_STA			BIT(4)
212*8d0f7988SAngeloGioacchino Del Regno #define  PORD_PIN_STA			BIT(5)
213*8d0f7988SAngeloGioacchino Del Regno #define  DDC_I2C_IN_PROG		BIT(13)
214*8d0f7988SAngeloGioacchino Del Regno #define  DDC_DATA_OUT			GENMASK(23, 16)
215*8d0f7988SAngeloGioacchino Del Regno #define SI2C_CTRL			0xcac
216*8d0f7988SAngeloGioacchino Del Regno #define  SI2C_WR			BIT(0)
217*8d0f7988SAngeloGioacchino Del Regno #define  SI2C_RD			BIT(1)
218*8d0f7988SAngeloGioacchino Del Regno #define  SI2C_CONFIRM_READ		BIT(2)
219*8d0f7988SAngeloGioacchino Del Regno #define  SI2C_WDATA			GENMASK(15, 8)
220*8d0f7988SAngeloGioacchino Del Regno #define  SI2C_ADDR			GENMASK(23, 16)
221*8d0f7988SAngeloGioacchino Del Regno 
222*8d0f7988SAngeloGioacchino Del Regno /* HDCP DDC registers */
223*8d0f7988SAngeloGioacchino Del Regno #define HDCP2X_DDCM_STATUS		0xc68
224*8d0f7988SAngeloGioacchino Del Regno #define  DDC_I2C_NO_ACK			BIT(10)
225*8d0f7988SAngeloGioacchino Del Regno #define  DDC_I2C_BUS_LOW		BIT(11)
226*8d0f7988SAngeloGioacchino Del Regno 
227*8d0f7988SAngeloGioacchino Del Regno /* HDMI TX registers */
228*8d0f7988SAngeloGioacchino Del Regno #define HDMITX_CONFIG_MT8188		0xea0
229*8d0f7988SAngeloGioacchino Del Regno #define HDMITX_CONFIG_MT8195		0x900
230*8d0f7988SAngeloGioacchino Del Regno #define  HDMI_YUV420_MODE		BIT(10)
231*8d0f7988SAngeloGioacchino Del Regno #define  HDMITX_SW_HPD			BIT(29)
232*8d0f7988SAngeloGioacchino Del Regno #define  HDMITX_SW_RSTB			BIT(31)
233*8d0f7988SAngeloGioacchino Del Regno 
234*8d0f7988SAngeloGioacchino Del Regno /**
235*8d0f7988SAngeloGioacchino Del Regno  * enum mtk_hdmi_ddc_v2_cmds - DDC_CMD register commands
236*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_READ_NOACK:      Current address read with no ACK on last byte
237*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_READ:            Current address read with ACK on last byte
238*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_SEQ_READ_NOACK:  Sequential read with no ACK on last byte
239*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_SEQ_READ:        Sequential read with ACK on last byte
240*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_ENH_READ_NOACK:  Enhanced read with no ACK on last byte
241*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_ENH_READ:        Enhanced read with ACK on last byte
242*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_SEQ_WRITE_NOACK: Sequential write ignoring ACK on last byte
243*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_SEQ_WRITE:       Sequential write requiring ACK on last byte
244*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_RSVD:            Reserved for future use
245*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_CLEAR_FIFO:      Clear DDC I2C FIFO
246*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_CLOCK_SCL:       Start clocking DDC I2C SCL
247*8d0f7988SAngeloGioacchino Del Regno  * @DDC_CMD_ABORT_XFER:      Abort DDC I2C transaction
248*8d0f7988SAngeloGioacchino Del Regno  */
249*8d0f7988SAngeloGioacchino Del Regno enum mtk_hdmi_ddc_v2_cmds {
250*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_READ_NOACK = 0x0,
251*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_READ,
252*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_SEQ_READ_NOACK,
253*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_SEQ_READ,
254*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_ENH_READ_NOACK,
255*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_ENH_READ,
256*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_SEQ_WRITE_NOACK,
257*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_SEQ_WRITE = 0x07,
258*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_CLEAR_FIFO = 0x09,
259*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_CLOCK_SCL = 0x0a,
260*8d0f7988SAngeloGioacchino Del Regno 	DDC_CMD_ABORT_XFER = 0x0f
261*8d0f7988SAngeloGioacchino Del Regno };
262*8d0f7988SAngeloGioacchino Del Regno 
263*8d0f7988SAngeloGioacchino Del Regno #endif /* _MTK_HDMI_REGS_H */
264