blob: 2dc6cc3bfdde629c726512d59f59acadc63ba3cf (
plain)
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
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
/*
* Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2023-09-23 GuEe-GUI first version
*/
#ifndef __DW_HDMI_REGS_H__
#define __DW_HDMI_REGS_H__
/* Identification and interrupt registers. */
#define HDMI_CONFIG2_ID 0x0006
#define HDMI_DESIGN_ID 0x0000
#define HDMI_IH_PHY_STAT0 0x0104
#define HDMI_IH_I2CMPHY_STAT0 0x0108
#define HDMI_IH_MUTE_FC_STAT2 0x0182
#define HDMI_IH_MUTE 0x01ff
#define HDMI_IH_PHY_STAT0_HPD 0x01
#define HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK 0x03
#define HDMI_IH_MUTE_MUTE_ALL_INTERRUPT 0x01
#define HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT 0x02
/* Video sampler. */
#define HDMI_TX_INVID0 0x0200
#define HDMI_TX_INSTUFFING 0x0201
#define HDMI_TX_GYDATA0 0x0202
#define HDMI_TX_GYDATA1 0x0203
#define HDMI_TX_RCRDATA0 0x0204
#define HDMI_TX_RCRDATA1 0x0205
#define HDMI_TX_BCBDATA0 0x0206
#define HDMI_TX_BCBDATA1 0x0207
#define HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE 0x00
#define HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET 0
#define HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE 0x01
#define HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE 0x02
#define HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE 0x04
/* Video packetizer. */
#define HDMI_VP_PR_CD 0x0801
#define HDMI_VP_STUFF 0x0802
#define HDMI_VP_REMAP 0x0803
#define HDMI_VP_CONF 0x0804
#define HDMI_VP_PR_CD_COLOR_DEPTH_MASK 0xf0
#define HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET 4
#define HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK 0x0f
#define HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET 0
#define HDMI_VP_STUFF_IDEFAULT_PHASE_MASK 0x20
#define HDMI_VP_STUFF_PP_STUFFING_MASK 0x02
#define HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE 0x02
#define HDMI_VP_STUFF_PR_STUFFING_MASK 0x01
#define HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE 0x01
#define HDMI_VP_STUFF_YCC422_STUFFING_MASK 0x04
#define HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE 0x04
#define HDMI_VP_CONF_BYPASS_EN_MASK 0x40
#define HDMI_VP_CONF_BYPASS_EN_ENABLE 0x40
#define HDMI_VP_CONF_PP_EN_ENMASK 0x20
#define HDMI_VP_CONF_PP_EN_DISABLE 0x00
#define HDMI_VP_CONF_PR_EN_MASK 0x10
#define HDMI_VP_CONF_PR_EN_DISABLE 0x00
#define HDMI_VP_CONF_YCC422_EN_MASK 0x08
#define HDMI_VP_CONF_YCC422_EN_DISABLE 0x00
#define HDMI_VP_CONF_BYPASS_SELECT_MASK 0x04
#define HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER 0x04
#define HDMI_VP_CONF_OUTPUT_SELECTOR_MASK 0x03
#define HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS 0x03
/* Frame composer. */
#define HDMI_FC_INVIDCONF 0x1000
#define HDMI_FC_INHACTV0 0x1001
#define HDMI_FC_INHACTV1 0x1002
#define HDMI_FC_INHBLANK0 0x1003
#define HDMI_FC_INHBLANK1 0x1004
#define HDMI_FC_INVACTV0 0x1005
#define HDMI_FC_INVACTV1 0x1006
#define HDMI_FC_INVBLANK 0x1007
#define HDMI_FC_HSYNCINDELAY0 0x1008
#define HDMI_FC_HSYNCINDELAY1 0x1009
#define HDMI_FC_HSYNCINWIDTH0 0x100a
#define HDMI_FC_HSYNCINWIDTH1 0x100b
#define HDMI_FC_VSYNCINDELAY 0x100c
#define HDMI_FC_VSYNCINWIDTH 0x100d
#define HDMI_FC_CTRLDUR 0x1011
#define HDMI_FC_EXCTRLDUR 0x1012
#define HDMI_FC_EXCTRLSPAC 0x1013
#define HDMI_FC_CH0PREAM 0x1014
#define HDMI_FC_CH1PREAM 0x1015
#define HDMI_FC_CH2PREAM 0x1016
#define HDMI_FC_AUDICONF0 0x1025
#define HDMI_FC_AUDICONF1 0x1026
#define HDMI_FC_AUDICONF2 0x1027
#define HDMI_FC_AUDICONF3 0x1028
#define HDMI_FC_AUDSCONF 0x1063
#define HDMI_FC_AUDSCHNLS7 0x106e
#define HDMI_FC_AUDSCHNLS8 0x106f
#define HDMI_FC_DBGFORCE 0x1200
#define HDMI_FC_DBGTMDS0 0x1219
#define HDMI_FC_DBGTMDS1 0x121a
#define HDMI_FC_DBGTMDS2 0x121b
#define HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE 0x80
#define HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH 0x40
#define HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW 0x00
#define HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH 0x20
#define HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW 0x00
#define HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH 0x10
#define HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE 0x08
#define HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE 0x00
#define HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW 0x00
#define HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE 0x00
#define HDMI_FC_AUDICONF0_CC_MASK 0x70
#define HDMI_FC_AUDICONF0_CC_OFFSET 4
#define HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_MASK 0x01
#define HDMI_FC_AUDSCONF_AUD_PACKET_LAYOUT_LAYOUT0 0x00
#define HDMI_FC_DBGFORCE_FORCEVIDEO 0x01
/* I2S audio sampler and audio clock regeneration. */
#define HDMI_AUD_CONF0 0x3100
#define HDMI_AUD_CONF1 0x3101
#define HDMI_AUD_CONF2 0x3103
#define HDMI_AUD_N1 0x3200
#define HDMI_AUD_N2 0x3201
#define HDMI_AUD_N3 0x3202
#define HDMI_AUD_CTS1 0x3203
#define HDMI_AUD_CTS2 0x3204
#define HDMI_AUD_CTS3 0x3205
#define HDMI_AUD_INPUTCLKFS 0x3206
#define HDMI_AUD_CONF0_SW_RESET 0x80
#define HDMI_AUD_CONF0_I2S_SELECT 0x20
#define HDMI_AUD_CONF0_I2S_EN0 0x01
#define HDMI_AUD_CONF1_MODE_I2S 0x00
#define HDMI_AUD_CONF1_WIDTH_16 0x10
#define HDMI_AUD_CONF1_WIDTH_24 0x18
#define HDMI_AUD_CONF2_INSERT_PCUV 0x04
#define HDMI_AUD_CTS3_N_SHIFT_MASK 0xe0
#define HDMI_AUD_CTS3_CTS_MANUAL 0x10
#define HDMI_AUD_INPUTCLKFS_64FS 0x04
/* PHY. */
#define HDMI_PHY_CONF0 0x3000
#define HDMI_PHY_TST0 0x3001
#define HDMI_PHY_STAT0 0x3004
#define HDMI_PHY_MASK0 0x3006
#define HDMI_PHY_CONF0_PDZ_MASK 0x80
#define HDMI_PHY_CONF0_PDZ_OFFSET 7
#define HDMI_PHY_CONF0_ENTMDS_MASK 0x40
#define HDMI_PHY_CONF0_ENTMDS_OFFSET 6
#define HDMI_PHY_CONF0_SVSRET_MASK 0x20
#define HDMI_PHY_CONF0_SVSRET_OFFSET 5
#define HDMI_PHY_CONF0_GEN2_PDDQ_MASK 0x10
#define HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET 4
#define HDMI_PHY_CONF0_GEN2_TXPWRON_MASK 0x08
#define HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET 3
#define HDMI_PHY_CONF0_SELDATAENPOL_MASK 0x02
#define HDMI_PHY_CONF0_SELDATAENPOL_OFFSET 1
#define HDMI_PHY_CONF0_SELDIPIF_MASK 0x01
#define HDMI_PHY_CONF0_SELDIPIF_OFFSET 0
#define HDMI_PHY_TST0_TSTCLR_MASK 0x20
#define HDMI_PHY_TST0_TSTCLR_OFFSET 5
#define HDMI_PHY_HPD 0x02
#define HDMI_PHY_TX_PHY_LOCK 0x01
/* PHY I2C master. */
#define HDMI_PHY_I2CM_SLAVE_ADDR 0x3020
#define HDMI_PHY_I2CM_ADDRESS_ADDR 0x3021
#define HDMI_PHY_I2CM_DATAO_1_ADDR 0x3022
#define HDMI_PHY_I2CM_DATAO_0_ADDR 0x3023
#define HDMI_PHY_I2CM_OPERATION_ADDR 0x3026
#define HDMI_PHY_I2CM_INT_ADDR 0x3027
#define HDMI_PHY_I2CM_CTLINT_ADDR 0x3028
#define HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2 0x69
#define HDMI_PHY_I2CM_OPERATION_ADDR_WRITE 0x10
#define HDMI_PHY_I2CM_INT_ADDR_DONE_POL 0x08
#define HDMI_PHY_I2CM_CTLINT_ADDR_ARBITRATION_POL 0x08
#define HDMI_PHY_I2CM_CTLINT_ADDR_NAC_POL 0x80
#define HDMI_IH_I2CMPHY_STAT0_ERROR 0x01
#define HDMI_IH_I2CMPHY_STAT0_DONE 0x02
/* Main controller. */
#define HDMI_MC_CLKDIS 0x4001
#define HDMI_MC_SWRSTZ 0x4002
#define HDMI_MC_FLOWCTRL 0x4004
#define HDMI_MC_PHYRSTZ 0x4005
#define HDMI_MC_HEACPHY_RST 0x4007
#define HDMI_MC_CLKDIS_PIXELCLK_DISABLE 0x01
#define HDMI_MC_CLKDIS_TMDSCLK_DISABLE 0x02
#define HDMI_MC_CLKDIS_AUDCLK_DISABLE 0x08
#define HDMI_MC_SWRSTZ_TMDSSWRST_REQ 0x02
#define HDMI_MC_SWRSTZ_I2SSWRST_REQ 0x08
#define HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS 0x00
#define HDMI_MC_PHYRSTZ_PHYRSTZ 0x01
#define HDMI_MC_HEACPHY_RST_ASSERT 0x01
/* Color space converter. */
#define HDMI_CSC_CFG 0x4100
#define HDMI_CSC_SCALE 0x4101
#define HDMI_CSC_COEF_A1_MSB 0x4102
#define HDMI_CSC_COEF_A1_LSB 0x4103
#define HDMI_CSC_COEF_B1_MSB 0x410a
#define HDMI_CSC_COEF_B1_LSB 0x410b
#define HDMI_CSC_COEF_C1_MSB 0x4112
#define HDMI_CSC_COEF_C1_LSB 0x4113
#define HDMI_CSC_CFG_INTMODE_DISABLE 0x00
#define HDMI_CSC_CFG_DECMODE_DISABLE 0x00
#define HDMI_CSC_SCALE_CSC_COLORDE_PTH_MASK 0xf0
#define HDMI_CSC_SCALE_CSC_COLORDE_PTH_24BPP 0x00
#define HDMI_CSC_SCALE_CSCSCALE_MASK 0x03
/* HDCP polarity and HDMI/DVI selection. */
#define HDMI_A_HDCPCFG0 0x5000
#define HDMI_A_VIDPOLCFG 0x5009
#define HDMI_A_HDCPCFG0_AVMUTE_MASK 0x08
#define HDMI_A_HDCPCFG0_AVMUTE_DISABLE 0x00
#define HDMI_A_HDCPCFG0_HDMIDVI_MASK 0x01
#define HDMI_A_HDCPCFG0_HDMIDVI_HDMI 0x01
#define HDMI_A_HDCPCFG0_HDMIDVI_DVI 0x00
#define HDMI_A_VIDPOLCFG_DATAENPOL_MASK 0x10
#define HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH 0x10
#define HDMI_A_VIDPOLCFG_VSYNCPOL_MASK 0x08
#define HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_HIGH 0x08
#define HDMI_A_VIDPOLCFG_VSYNCPOL_ACTIVE_LOW 0x00
#define HDMI_A_VIDPOLCFG_HSYNCPOL_MASK 0x02
#define HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_HIGH 0x02
#define HDMI_A_VIDPOLCFG_HSYNCPOL_ACTIVE_LOW 0x00
/* DDC I2C interrupt control. */
#define HDMI_I2CM_INT 0x7e05
#define HDMI_I2CM_CTLINT 0x7e06
#define HDMI_I2CM_INT_DONE_MASK 0x04
#define HDMI_I2CM_CTLINT_ARB_MASK 0x04
#define HDMI_I2CM_CTLINT_NAC_MASK 0x40
/* Synopsys Gen2 PHY internal register addresses. */
#define HDMI_3D_TX_PHY_CKCALCTRL 0x05
#define HDMI_3D_TX_PHY_CPCE_CTRL 0x06
#define HDMI_3D_TX_PHY_CKSYMTXCTRL 0x09
#define HDMI_3D_TX_PHY_VLEVCTRL 0x0e
#define HDMI_3D_TX_PHY_CURRCTRL 0x10
#define HDMI_3D_TX_PHY_PLLPHBYCTRL 0x13
#define HDMI_3D_TX_PHY_GMPCTRL 0x15
#define HDMI_3D_TX_PHY_MSM_CTRL 0x17
#define HDMI_3D_TX_PHY_TXTERM 0x19
#define HDMI_3D_TX_PHY_MSM_CTRL_CKO_SEL_FB_CLK (3 << 1)
#endif /* __DW_HDMI_REGS_H__ */
|