hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2014 MediaTek Inc.
 * Author: Jie Qiu <jie.qiu@mediatek.com>
 */
#ifndef _MTK_HDMI_REGS_H
#define _MTK_HDMI_REGS_H
 
#define GRL_INT_MASK        0x18
#define GRL_IFM_PORT        0x188
#define GRL_CH_SWAP        0x198
#define LR_SWAP                BIT(0)
#define LFE_CC_SWAP            BIT(1)
#define LSRS_SWAP            BIT(2)
#define RLS_RRS_SWAP            BIT(3)
#define LR_STATUS_SWAP            BIT(4)
#define GRL_I2S_C_STA0        0x140
#define GRL_I2S_C_STA1        0x144
#define GRL_I2S_C_STA2        0x148
#define GRL_I2S_C_STA3        0x14C
#define GRL_I2S_C_STA4        0x150
#define GRL_I2S_UV        0x154
#define I2S_UV_V            BIT(0)
#define I2S_UV_U            BIT(1)
#define I2S_UV_CH_EN_MASK        0x3c
#define I2S_UV_CH_EN(x)            BIT((x) + 2)
#define I2S_UV_TMDS_DEBUG        BIT(6)
#define I2S_UV_NORMAL_INFO_INV        BIT(7)
#define GRL_ACP_ISRC_CTRL    0x158
#define VS_EN                BIT(0)
#define ACP_EN                BIT(1)
#define ISRC1_EN            BIT(2)
#define ISRC2_EN            BIT(3)
#define GAMUT_EN            BIT(4)
#define GRL_CTS_CTRL        0x160
#define CTS_CTRL_SOFT            BIT(0)
#define GRL_INT            0x14
#define INT_MDI                BIT(0)
#define INT_HDCP            BIT(1)
#define INT_FIFO_O            BIT(2)
#define INT_FIFO_U            BIT(3)
#define INT_IFM_ERR            BIT(4)
#define INT_INF_DONE            BIT(5)
#define INT_NCTS_DONE            BIT(6)
#define INT_CTRL_PKT_DONE        BIT(7)
#define GRL_INT_MASK        0x18
#define GRL_CTRL        0x1C
#define CTRL_GEN_EN            BIT(2)
#define CTRL_SPD_EN            BIT(3)
#define CTRL_MPEG_EN            BIT(4)
#define CTRL_AUDIO_EN            BIT(5)
#define CTRL_AVI_EN            BIT(6)
#define CTRL_AVMUTE            BIT(7)
#define    GRL_STATUS        0x20
#define STATUS_HTPLG            BIT(0)
#define STATUS_PORD            BIT(1)
#define GRL_DIVN        0x170
#define NCTS_WRI_ANYTIME        BIT(6)
#define GRL_AUDIO_CFG        0x17C
#define AUDIO_ZERO            BIT(0)
#define HIGH_BIT_RATE            BIT(1)
#define SACD_DST            BIT(2)
#define DST_NORMAL_DOUBLE        BIT(3)
#define DSD_INV                BIT(4)
#define LR_INV                BIT(5)
#define LR_MIX                BIT(6)
#define DSD_SEL                BIT(7)
#define GRL_NCTS        0x184
#define GRL_CH_SW0        0x18C
#define GRL_CH_SW1        0x190
#define GRL_CH_SW2        0x194
#define CH_SWITCH(from, to)        ((from) << ((to) * 3))
#define GRL_INFOFRM_VER        0x19C
#define GRL_INFOFRM_TYPE    0x1A0
#define GRL_INFOFRM_LNG        0x1A4
#define GRL_MIX_CTRL        0x1B4
#define MIX_CTRL_SRC_EN            BIT(0)
#define BYPASS_VOLUME            BIT(1)
#define MIX_CTRL_FLAT            BIT(7)
#define GRL_AOUT_CFG        0x1C4
#define AOUT_BNUM_SEL_MASK        0x03
#define AOUT_24BIT            0x00
#define AOUT_20BIT            0x02
#define AOUT_16BIT            0x03
#define AOUT_FIFO_ADAP_CTRL        BIT(6)
#define AOUT_BURST_PREAMBLE_EN        BIT(7)
#define HIGH_BIT_RATE_PACKET_ALIGN    (AOUT_BURST_PREAMBLE_EN | \
                    AOUT_FIFO_ADAP_CTRL)
#define GRL_SHIFT_L1        0x1C0
#define GRL_SHIFT_R2        0x1B0
#define AUDIO_PACKET_OFF        BIT(6)
#define GRL_CFG0        0x24
#define CFG0_I2S_MODE_MASK        0x3
#define CFG0_I2S_MODE_RTJ        0x1
#define CFG0_I2S_MODE_LTJ        0x0
#define CFG0_I2S_MODE_I2S        0x2
#define CFG0_W_LENGTH_MASK        0x30
#define CFG0_W_LENGTH_24BIT        0x00
#define CFG0_W_LENGTH_16BIT        0x10
#define GRL_CFG1        0x28
#define CFG1_EDG_SEL            BIT(0)
#define CFG1_SPDIF            BIT(1)
#define CFG1_DVI            BIT(2)
#define CFG1_HDCP_DEBUG            BIT(3)
#define GRL_CFG2        0x2c
#define CFG2_MHL_DE_SEL            BIT(3)
#define CFG2_MHL_FAKE_DE_SEL        BIT(4)
#define CFG2_MHL_DATA_REMAP        BIT(5)
#define CFG2_NOTICE_EN            BIT(6)
#define CFG2_ACLK_INV            BIT(7)
#define GRL_CFG3        0x30
#define CFG3_AES_KEY_INDEX_MASK        0x3f
#define CFG3_CONTROL_PACKET_DELAY    BIT(6)
#define CFG3_KSV_LOAD_START        BIT(7)
#define GRL_CFG4        0x34
#define CFG4_AES_KEY_LOAD        BIT(4)
#define CFG4_AV_UNMUTE_EN        BIT(5)
#define CFG4_AV_UNMUTE_SET        BIT(6)
#define CFG4_MHL_MODE            BIT(7)
#define GRL_CFG5        0x38
#define CFG5_CD_RATIO_MASK    0x8F
#define CFG5_FS128            (0x1 << 4)
#define CFG5_FS256            (0x2 << 4)
#define CFG5_FS384            (0x3 << 4)
#define CFG5_FS512            (0x4 << 4)
#define CFG5_FS768            (0x6 << 4)
#define DUMMY_304        0x304
#define CHMO_SEL            (0x3 << 2)
#define CHM1_SEL            (0x3 << 4)
#define CHM2_SEL            (0x3 << 6)
#define AUDIO_I2S_NCTS_SEL        BIT(1)
#define AUDIO_I2S_NCTS_SEL_64        (1 << 1)
#define AUDIO_I2S_NCTS_SEL_128        (0 << 1)
#define NEW_GCP_CTRL            BIT(0)
#define NEW_GCP_CTRL_MERGE        BIT(0)
#define GRL_L_STATUS_0        0x200
#define GRL_L_STATUS_1        0x204
#define GRL_L_STATUS_2        0x208
#define GRL_L_STATUS_3        0x20c
#define GRL_L_STATUS_4        0x210
#define GRL_L_STATUS_5        0x214
#define GRL_L_STATUS_6        0x218
#define GRL_L_STATUS_7        0x21c
#define GRL_L_STATUS_8        0x220
#define GRL_L_STATUS_9        0x224
#define GRL_L_STATUS_10        0x228
#define GRL_L_STATUS_11        0x22c
#define GRL_L_STATUS_12        0x230
#define GRL_L_STATUS_13        0x234
#define GRL_L_STATUS_14        0x238
#define GRL_L_STATUS_15        0x23c
#define GRL_L_STATUS_16        0x240
#define GRL_L_STATUS_17        0x244
#define GRL_L_STATUS_18        0x248
#define GRL_L_STATUS_19        0x24c
#define GRL_L_STATUS_20        0x250
#define GRL_L_STATUS_21        0x254
#define GRL_L_STATUS_22        0x258
#define GRL_L_STATUS_23        0x25c
#define GRL_R_STATUS_0        0x260
#define GRL_R_STATUS_1        0x264
#define GRL_R_STATUS_2        0x268
#define GRL_R_STATUS_3        0x26c
#define GRL_R_STATUS_4        0x270
#define GRL_R_STATUS_5        0x274
#define GRL_R_STATUS_6        0x278
#define GRL_R_STATUS_7        0x27c
#define GRL_R_STATUS_8        0x280
#define GRL_R_STATUS_9        0x284
#define GRL_R_STATUS_10        0x288
#define GRL_R_STATUS_11        0x28c
#define GRL_R_STATUS_12        0x290
#define GRL_R_STATUS_13        0x294
#define GRL_R_STATUS_14        0x298
#define GRL_R_STATUS_15        0x29c
#define GRL_R_STATUS_16        0x2a0
#define GRL_R_STATUS_17        0x2a4
#define GRL_R_STATUS_18        0x2a8
#define GRL_R_STATUS_19        0x2ac
#define GRL_R_STATUS_20        0x2b0
#define GRL_R_STATUS_21        0x2b4
#define GRL_R_STATUS_22        0x2b8
#define GRL_R_STATUS_23        0x2bc
#define GRL_ABIST_CTRL0        0x2D4
#define GRL_ABIST_CTRL1        0x2D8
#define ABIST_EN            BIT(7)
#define ABIST_DATA_FMT            (0x7 << 0)
#define VIDEO_CFG_0        0x380
#define VIDEO_CFG_1        0x384
#define VIDEO_CFG_2        0x388
#define VIDEO_CFG_3        0x38c
#define VIDEO_CFG_4        0x390
#define VIDEO_SOURCE_SEL        BIT(7)
#define NORMAL_PATH            (1 << 7)
#define GEN_RGB                (0 << 7)
 
#define HDMI_SYS_CFG1C        0x000
#define HDMI_ON                BIT(0)
#define HDMI_RST            BIT(1)
#define ANLG_ON                BIT(2)
#define CFG10_DVI            BIT(3)
#define HDMI_TST            BIT(3)
#define SYS_KEYMASK1            (0xff << 8)
#define SYS_KEYMASK2            (0xff << 16)
#define AUD_OUTSYNC_EN            BIT(24)
#define AUD_OUTSYNC_PRE_EN        BIT(25)
#define I2CM_ON                BIT(26)
#define E2PROM_TYPE_8BIT        BIT(27)
#define MCM_E2PROM_ON            BIT(28)
#define EXT_E2PROM_ON            BIT(29)
#define HTPLG_PIN_SEL_OFF        BIT(30)
#define AES_EFUSE_ENABLE        BIT(31)
#define HDMI_SYS_CFG20        0x004
#define DEEP_COLOR_MODE_MASK        (3 << 1)
#define COLOR_8BIT_MODE            (0 << 1)
#define COLOR_10BIT_MODE        (1 << 1)
#define COLOR_12BIT_MODE        (2 << 1)
#define COLOR_16BIT_MODE        (3 << 1)
#define DEEP_COLOR_EN            BIT(0)
#define HDMI_AUDIO_TEST_SEL        BIT(8)
#define HDMI2P0_EN            BIT(11)
#define HDMI_OUT_FIFO_EN        BIT(16)
#define HDMI_OUT_FIFO_CLK_INV        BIT(17)
#define MHL_MODE_ON            BIT(28)
#define MHL_PP_MODE            BIT(29)
#define MHL_SYNC_AUTO_EN        BIT(30)
#define HDMI_PCLK_FREE_RUN        BIT(31)
 
#define MTK_SIP_SET_AUTHORIZED_SECURE_REG 0x82000001
#endif