xref: /freebsd/sys/dev/hdmi/dwc_hdmireg.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
106785ff6SJared McNeill /*-
206785ff6SJared McNeill  * Copyright (c) 2015 Oleksandr Tymoshenko <gonzo@freebsd.org>
306785ff6SJared McNeill  * All rights reserved.
406785ff6SJared McNeill  *
506785ff6SJared McNeill  * Redistribution and use in source and binary forms, with or without
606785ff6SJared McNeill  * modification, are permitted provided that the following conditions
706785ff6SJared McNeill  * are met:
806785ff6SJared McNeill  * 1. Redistributions of source code must retain the above copyright
906785ff6SJared McNeill  *    notice, this list of conditions and the following disclaimer.
1006785ff6SJared McNeill  * 2. Redistributions in binary form must reproduce the above copyright
1106785ff6SJared McNeill  *    notice, this list of conditions and the following disclaimer in the
1206785ff6SJared McNeill  *    documentation and/or other materials provided with the distribution.
1306785ff6SJared McNeill  *
1406785ff6SJared McNeill  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1506785ff6SJared McNeill  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1606785ff6SJared McNeill  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1706785ff6SJared McNeill  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1806785ff6SJared McNeill  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1906785ff6SJared McNeill  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2006785ff6SJared McNeill  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2106785ff6SJared McNeill  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2206785ff6SJared McNeill  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2306785ff6SJared McNeill  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2406785ff6SJared McNeill  * SUCH DAMAGE.
2506785ff6SJared McNeill  */
2606785ff6SJared McNeill 
2706785ff6SJared McNeill #ifndef __DWC_HDMIREG_H__
2806785ff6SJared McNeill #define	__DWC_HDMIREG_H__
2906785ff6SJared McNeill #define	HDMI_DESIGN_ID		0x0000
3006785ff6SJared McNeill #define	HDMI_REVISION_ID	0x0001
3106785ff6SJared McNeill #define	HDMI_PRODUCT_ID0	0x0002
3206785ff6SJared McNeill #define	HDMI_PRODUCT_ID1	0x0003
3306785ff6SJared McNeill 
3406785ff6SJared McNeill /* Interrupt Registers */
3506785ff6SJared McNeill #define	HDMI_IH_FC_STAT0			0x0100
3606785ff6SJared McNeill #define	HDMI_IH_FC_STAT1			0x0101
3706785ff6SJared McNeill #define	HDMI_IH_FC_STAT2			0x0102
3806785ff6SJared McNeill #define	HDMI_IH_AS_STAT0			0x0103
3906785ff6SJared McNeill #define	HDMI_IH_PHY_STAT0			0x0104
4006785ff6SJared McNeill #define	  HDMI_IH_PHY_STAT0_HPD	(1 << 0)
4106785ff6SJared McNeill #define	HDMI_IH_I2CM_STAT0			0x0105
4206785ff6SJared McNeill #define	HDMI_IH_CEC_STAT0			0x0106
4306785ff6SJared McNeill #define	HDMI_IH_VP_STAT0			0x0107
4406785ff6SJared McNeill #define	HDMI_IH_I2CMPHY_STAT0			0x0108
4506785ff6SJared McNeill #define	  HDMI_IH_I2CMPHY_STAT0_DONE		(1 << 1)
4606785ff6SJared McNeill #define	  HDMI_IH_I2CMPHY_STAT0_ERROR		(1 << 0)
4706785ff6SJared McNeill #define	HDMI_IH_AHBDMAAUD_STAT0			0x0109
4806785ff6SJared McNeill 
4906785ff6SJared McNeill #define	HDMI_IH_MUTE_FC_STAT0			0x0180
5006785ff6SJared McNeill #define	HDMI_IH_MUTE_FC_STAT1			0x0181
5106785ff6SJared McNeill #define	HDMI_IH_MUTE_FC_STAT2			0x0182
5206785ff6SJared McNeill #define	  HDMI_IH_MUTE_FC_STAT2_OVERFLOW_MASK	(0x3)
5306785ff6SJared McNeill #define	HDMI_IH_MUTE_AS_STAT0			0x0183
5406785ff6SJared McNeill #define	HDMI_IH_MUTE_PHY_STAT0			0x0184
5506785ff6SJared McNeill #define	HDMI_IH_MUTE_I2CM_STAT0			0x0185
5606785ff6SJared McNeill #define	HDMI_IH_MUTE_CEC_STAT0			0x0186
5706785ff6SJared McNeill #define	HDMI_IH_MUTE_VP_STAT0			0x0187
5806785ff6SJared McNeill #define	HDMI_IH_MUTE_I2CMPHY_STAT0		0x0188
5906785ff6SJared McNeill #define	HDMI_IH_MUTE_AHBDMAAUD_STAT0		0x0189
6006785ff6SJared McNeill #define	HDMI_IH_MUTE				0x01FF
6106785ff6SJared McNeill #define	  HDMI_IH_MUTE_MUTE_WAKEUP_INTERRUPT	(1<<1)
6206785ff6SJared McNeill #define	  HDMI_IH_MUTE_MUTE_ALL_INTERRUPT		(1<<0)
6306785ff6SJared McNeill 
6406785ff6SJared McNeill /* Video Sample Registers */
6506785ff6SJared McNeill #define	HDMI_TX_INVID0				0x0200
6606785ff6SJared McNeill #define	  HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_MASK	0x80
6706785ff6SJared McNeill #define	  HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_ENABLE	0x80
6806785ff6SJared McNeill #define	  HDMI_TX_INVID0_INTERNAL_DE_GENERATOR_DISABLE	0x00
6906785ff6SJared McNeill #define	  HDMI_TX_INVID0_VIDEO_MAPPING_MASK		0x1F
7006785ff6SJared McNeill #define	  HDMI_TX_INVID0_VIDEO_MAPPING_OFFSET		0
7106785ff6SJared McNeill #define	HDMI_TX_INSTUFFING			0x0201
7206785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_BDBDATA_STUFFING_MASK	0x4
7306785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_BDBDATA_STUFFING_ENABLE	0x4
7406785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_BDBDATA_STUFFING_DISABLE	0x0
7506785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_RCRDATA_STUFFING_MASK	0x2
7606785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_RCRDATA_STUFFING_ENABLE	0x2
7706785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_RCRDATA_STUFFING_DISABLE	0x0
7806785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_GYDATA_STUFFING_MASK		0x1
7906785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_GYDATA_STUFFING_ENABLE	0x1
8006785ff6SJared McNeill #define	  HDMI_TX_INSTUFFING_GYDATA_STUFFING_DISABLE	0x0
8106785ff6SJared McNeill #define	HDMI_TX_GYDATA0				0x0202
8206785ff6SJared McNeill #define	HDMI_TX_GYDATA1				0x0203
8306785ff6SJared McNeill #define	HDMI_TX_RCRDATA0			0x0204
8406785ff6SJared McNeill #define	HDMI_TX_RCRDATA1			0x0205
8506785ff6SJared McNeill #define	HDMI_TX_BCBDATA0			0x0206
8606785ff6SJared McNeill #define	HDMI_TX_BCBDATA1			0x0207
8706785ff6SJared McNeill 
8806785ff6SJared McNeill /* Video Packetizer Registers */
8906785ff6SJared McNeill #define	HDMI_VP_STATUS				0x0800
9006785ff6SJared McNeill #define	HDMI_VP_PR_CD				0x0801
9106785ff6SJared McNeill #define	  HDMI_VP_PR_CD_COLOR_DEPTH_MASK		0xF0
9206785ff6SJared McNeill #define	  HDMI_VP_PR_CD_COLOR_DEPTH_OFFSET	4
9306785ff6SJared McNeill #define	  HDMI_VP_PR_CD_DESIRED_PR_FACTOR_MASK	0x0F
9406785ff6SJared McNeill #define	  HDMI_VP_PR_CD_DESIRED_PR_FACTOR_OFFSET	0
9506785ff6SJared McNeill 
9606785ff6SJared McNeill #define	HDMI_VP_STUFF				0x0802
9706785ff6SJared McNeill #define	  HDMI_VP_STUFF_IDEFAULT_PHASE_MASK		0x20
9806785ff6SJared McNeill #define	  HDMI_VP_STUFF_IDEFAULT_PHASE_OFFSET		5
9906785ff6SJared McNeill #define	  HDMI_VP_STUFF_IFIX_PP_TO_LAST_MASK		0x10
10006785ff6SJared McNeill #define	  HDMI_VP_STUFF_IFIX_PP_TO_LAST_OFFSET		4
10106785ff6SJared McNeill #define	  HDMI_VP_STUFF_ICX_GOTO_P0_ST_MASK		0x8
10206785ff6SJared McNeill #define	  HDMI_VP_STUFF_ICX_GOTO_P0_ST_OFFSET		3
10306785ff6SJared McNeill #define	  HDMI_VP_STUFF_YCC422_STUFFING_MASK		0x4
10406785ff6SJared McNeill #define	  HDMI_VP_STUFF_YCC422_STUFFING_STUFFING_MODE	0x4
10506785ff6SJared McNeill #define	  HDMI_VP_STUFF_YCC422_STUFFING_DIRECT_MODE	0x0
10606785ff6SJared McNeill #define	  HDMI_VP_STUFF_PP_STUFFING_MASK			0x2
10706785ff6SJared McNeill #define	  HDMI_VP_STUFF_PP_STUFFING_STUFFING_MODE		0x2
10806785ff6SJared McNeill #define	  HDMI_VP_STUFF_PP_STUFFING_DIRECT_MODE		0x0
10906785ff6SJared McNeill #define	  HDMI_VP_STUFF_PR_STUFFING_MASK			0x1
11006785ff6SJared McNeill #define	  HDMI_VP_STUFF_PR_STUFFING_STUFFING_MODE		0x1
11106785ff6SJared McNeill #define	  HDMI_VP_STUFF_PR_STUFFING_DIRECT_MODE		0x0
11206785ff6SJared McNeill #define	HDMI_VP_REMAP				0x0803
11306785ff6SJared McNeill #define	  HDMI_VP_REMAP_MASK			0x3
11406785ff6SJared McNeill #define	  HDMI_VP_REMAP_YCC422_24BIT		0x2
11506785ff6SJared McNeill #define	  HDMI_VP_REMAP_YCC422_20BIT		0x1
11606785ff6SJared McNeill #define	  HDMI_VP_REMAP_YCC422_16BIT		0x0
11706785ff6SJared McNeill #define	HDMI_VP_CONF				0x0804
11806785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_EN_MASK		0x40
11906785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_EN_ENABLE		0x40
12006785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_EN_DISABLE		0x00
12106785ff6SJared McNeill #define	  HDMI_VP_CONF_PP_EN_ENMASK		0x20
12206785ff6SJared McNeill #define	  HDMI_VP_CONF_PP_EN_ENABLE		0x20
12306785ff6SJared McNeill #define	  HDMI_VP_CONF_PP_EN_DISABLE		0x00
12406785ff6SJared McNeill #define	  HDMI_VP_CONF_PR_EN_MASK			0x10
12506785ff6SJared McNeill #define	  HDMI_VP_CONF_PR_EN_ENABLE		0x10
12606785ff6SJared McNeill #define	  HDMI_VP_CONF_PR_EN_DISABLE		0x00
12706785ff6SJared McNeill #define	  HDMI_VP_CONF_YCC422_EN_MASK		0x8
12806785ff6SJared McNeill #define	  HDMI_VP_CONF_YCC422_EN_ENABLE		0x8
12906785ff6SJared McNeill #define	  HDMI_VP_CONF_YCC422_EN_DISABLE		0x0
13006785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_SELECT_MASK		0x4
13106785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_SELECT_VID_PACKETIZER	0x4
13206785ff6SJared McNeill #define	  HDMI_VP_CONF_BYPASS_SELECT_PIX_REPEATER	0x0
13306785ff6SJared McNeill #define	  HDMI_VP_CONF_OUTPUT_SELECTOR_MASK	0x3
13406785ff6SJared McNeill #define	  HDMI_VP_CONF_OUTPUT_SELECTOR_BYPASS	0x3
13506785ff6SJared McNeill #define	  HDMI_VP_CONF_OUTPUT_SELECTOR_YCC422	0x1
13606785ff6SJared McNeill #define	  HDMI_VP_CONF_OUTPUT_SELECTOR_PP		0x0
13706785ff6SJared McNeill #define	HDMI_VP_STAT				0x0805
13806785ff6SJared McNeill #define	HDMI_VP_INT				0x0806
13906785ff6SJared McNeill #define	HDMI_VP_MASK				0x0807
14006785ff6SJared McNeill #define	HDMI_VP_POL				0x0808
14106785ff6SJared McNeill 
14206785ff6SJared McNeill /* Frame Composer Registers */
14306785ff6SJared McNeill #define	HDMI_FC_INVIDCONF			0x1000
14406785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH	0x40
14506785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW	0x00
14606785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_HIGH	0x20
14706785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_HSYNC_IN_POLARITY_ACTIVE_LOW	0x00
14806785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH	0x10
14906785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW	0x00
15006785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE		0x8
15106785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE		0x0
15206785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_HIGH	0x2
15306785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW	0x0
15406785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_IN_I_P_INTERLACED		0x1
15506785ff6SJared McNeill #define	  HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE		0x0
15606785ff6SJared McNeill #define	HDMI_FC_INHACTV0			0x1001
15706785ff6SJared McNeill #define	HDMI_FC_INHACTV1			0x1002
15806785ff6SJared McNeill #define	HDMI_FC_INHBLANK0			0x1003
15906785ff6SJared McNeill #define	HDMI_FC_INHBLANK1			0x1004
16006785ff6SJared McNeill #define	HDMI_FC_INVACTV0			0x1005
16106785ff6SJared McNeill #define	HDMI_FC_INVACTV1			0x1006
16206785ff6SJared McNeill #define	HDMI_FC_INVBLANK			0x1007
16306785ff6SJared McNeill #define	HDMI_FC_HSYNCINDELAY0			0x1008
16406785ff6SJared McNeill #define	HDMI_FC_HSYNCINDELAY1			0x1009
16506785ff6SJared McNeill #define	HDMI_FC_HSYNCINWIDTH0			0x100A
16606785ff6SJared McNeill #define	HDMI_FC_HSYNCINWIDTH1			0x100B
16706785ff6SJared McNeill #define	HDMI_FC_VSYNCINDELAY			0x100C
16806785ff6SJared McNeill #define	HDMI_FC_VSYNCINWIDTH			0x100D
16906785ff6SJared McNeill #define	HDMI_FC_INFREQ0				0x100E
17006785ff6SJared McNeill #define	HDMI_FC_INFREQ1				0x100F
17106785ff6SJared McNeill #define	HDMI_FC_INFREQ2				0x1010
17206785ff6SJared McNeill #define	HDMI_FC_CTRLDUR				0x1011
17306785ff6SJared McNeill #define	HDMI_FC_EXCTRLDUR			0x1012
17406785ff6SJared McNeill #define	HDMI_FC_EXCTRLSPAC			0x1013
17506785ff6SJared McNeill #define	HDMI_FC_CH0PREAM			0x1014
17606785ff6SJared McNeill #define	HDMI_FC_CH1PREAM			0x1015
17706785ff6SJared McNeill #define	HDMI_FC_CH2PREAM			0x1016
17806785ff6SJared McNeill #define	HDMI_FC_AVICONF3			0x1017
17906785ff6SJared McNeill #define	HDMI_FC_GCP				0x1018
18006785ff6SJared McNeill #define	HDMI_FC_AVICONF0			0x1019
18106785ff6SJared McNeill #define	HDMI_FC_AVICONF1			0x101A
18206785ff6SJared McNeill #define	HDMI_FC_AVICONF2			0x101B
18306785ff6SJared McNeill #define	HDMI_FC_AVIVID				0x101C
18406785ff6SJared McNeill #define	HDMI_FC_AVIETB0				0x101D
18506785ff6SJared McNeill #define	HDMI_FC_AVIETB1				0x101E
18606785ff6SJared McNeill #define	HDMI_FC_AVISBB0				0x101F
18706785ff6SJared McNeill #define	HDMI_FC_AVISBB1				0x1020
18806785ff6SJared McNeill #define	HDMI_FC_AVIELB0				0x1021
18906785ff6SJared McNeill #define	HDMI_FC_AVIELB1				0x1022
19006785ff6SJared McNeill #define	HDMI_FC_AVISRB0				0x1023
19106785ff6SJared McNeill #define	HDMI_FC_AVISRB1				0x1024
19206785ff6SJared McNeill #define	HDMI_FC_AUDICONF0			0x1025
19306785ff6SJared McNeill #define	HDMI_FC_AUDICONF1			0x1026
19406785ff6SJared McNeill #define	HDMI_FC_AUDICONF2			0x1027
19506785ff6SJared McNeill #define	HDMI_FC_AUDICONF3			0x1028
19606785ff6SJared McNeill #define	HDMI_FC_VSDIEEEID0			0x1029
19706785ff6SJared McNeill #define	HDMI_FC_VSDSIZE				0x102A
19806785ff6SJared McNeill #define	HDMI_FC_VSDIEEEID1			0x1030
19906785ff6SJared McNeill #define	HDMI_FC_VSDIEEEID2			0x1031
20006785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD0			0x1032
20106785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD1			0x1033
20206785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD2			0x1034
20306785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD3			0x1035
20406785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD4			0x1036
20506785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD5			0x1037
20606785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD6			0x1038
20706785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD7			0x1039
20806785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD8			0x103A
20906785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD9			0x103B
21006785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD10			0x103C
21106785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD11			0x103D
21206785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD12			0x103E
21306785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD13			0x103F
21406785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD14			0x1040
21506785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD15			0x1041
21606785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD16			0x1042
21706785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD17			0x1043
21806785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD18			0x1044
21906785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD19			0x1045
22006785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD20			0x1046
22106785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD21			0x1047
22206785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD22			0x1048
22306785ff6SJared McNeill #define	HDMI_FC_VSDPAYLOAD23			0x1049
22406785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME0			0x104A
22506785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME1			0x104B
22606785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME2			0x104C
22706785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME3			0x104D
22806785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME4			0x104E
22906785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME5			0x104F
23006785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME6			0x1050
23106785ff6SJared McNeill #define	HDMI_FC_SPDVENDORNAME7			0x1051
23206785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME0			0x1052
23306785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME1			0x1053
23406785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME2			0x1054
23506785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME3			0x1055
23606785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME4			0x1056
23706785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME5			0x1057
23806785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME6			0x1058
23906785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME7			0x1059
24006785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME8			0x105A
24106785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME9			0x105B
24206785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME10		0x105C
24306785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME11		0x105D
24406785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME12		0x105E
24506785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME13		0x105F
24606785ff6SJared McNeill #define	HDMI_FC_SDPPRODUCTNAME14		0x1060
24706785ff6SJared McNeill #define	HDMI_FC_SPDPRODUCTNAME15		0x1061
24806785ff6SJared McNeill #define	HDMI_FC_SPDDEVICEINF			0x1062
24906785ff6SJared McNeill #define	HDMI_FC_AUDSCONF			0x1063
25006785ff6SJared McNeill #define	HDMI_FC_AUDSSTAT			0x1064
251*6443acaaSJared McNeill #define	HDMI_FC_AUDSV				0x1065
25206785ff6SJared McNeill #define	HDMI_FC_DATACH0FILL			0x1070
25306785ff6SJared McNeill #define	HDMI_FC_DATACH1FILL			0x1071
25406785ff6SJared McNeill #define	HDMI_FC_DATACH2FILL			0x1072
25506785ff6SJared McNeill #define	HDMI_FC_CTRLQHIGH			0x1073
25606785ff6SJared McNeill #define	HDMI_FC_CTRLQLOW			0x1074
25706785ff6SJared McNeill #define	HDMI_FC_ACP0				0x1075
25806785ff6SJared McNeill #define	HDMI_FC_ACP28				0x1076
25906785ff6SJared McNeill #define	HDMI_FC_ACP27				0x1077
26006785ff6SJared McNeill #define	HDMI_FC_ACP26				0x1078
26106785ff6SJared McNeill #define	HDMI_FC_ACP25				0x1079
26206785ff6SJared McNeill #define	HDMI_FC_ACP24				0x107A
26306785ff6SJared McNeill #define	HDMI_FC_ACP23				0x107B
26406785ff6SJared McNeill #define	HDMI_FC_ACP22				0x107C
26506785ff6SJared McNeill #define	HDMI_FC_ACP21				0x107D
26606785ff6SJared McNeill #define	HDMI_FC_ACP20				0x107E
26706785ff6SJared McNeill #define	HDMI_FC_ACP19				0x107F
26806785ff6SJared McNeill #define	HDMI_FC_ACP18				0x1080
26906785ff6SJared McNeill #define	HDMI_FC_ACP17				0x1081
27006785ff6SJared McNeill #define	HDMI_FC_ACP16				0x1082
27106785ff6SJared McNeill #define	HDMI_FC_ACP15				0x1083
27206785ff6SJared McNeill #define	HDMI_FC_ACP14				0x1084
27306785ff6SJared McNeill #define	HDMI_FC_ACP13				0x1085
27406785ff6SJared McNeill #define	HDMI_FC_ACP12				0x1086
27506785ff6SJared McNeill #define	HDMI_FC_ACP11				0x1087
27606785ff6SJared McNeill #define	HDMI_FC_ACP10				0x1088
27706785ff6SJared McNeill #define	HDMI_FC_ACP9				0x1089
27806785ff6SJared McNeill #define	HDMI_FC_ACP8				0x108A
27906785ff6SJared McNeill #define	HDMI_FC_ACP7				0x108B
28006785ff6SJared McNeill #define	HDMI_FC_ACP6				0x108C
28106785ff6SJared McNeill #define	HDMI_FC_ACP5				0x108D
28206785ff6SJared McNeill #define	HDMI_FC_ACP4				0x108E
28306785ff6SJared McNeill #define	HDMI_FC_ACP3				0x108F
28406785ff6SJared McNeill #define	HDMI_FC_ACP2				0x1090
28506785ff6SJared McNeill #define	HDMI_FC_ACP1				0x1091
28606785ff6SJared McNeill #define	HDMI_FC_ISCR1_0				0x1092
28706785ff6SJared McNeill #define	HDMI_FC_ISCR1_16			0x1093
28806785ff6SJared McNeill #define	HDMI_FC_ISCR1_15			0x1094
28906785ff6SJared McNeill #define	HDMI_FC_ISCR1_14			0x1095
29006785ff6SJared McNeill #define	HDMI_FC_ISCR1_13			0x1096
29106785ff6SJared McNeill #define	HDMI_FC_ISCR1_12			0x1097
29206785ff6SJared McNeill #define	HDMI_FC_ISCR1_11			0x1098
29306785ff6SJared McNeill #define	HDMI_FC_ISCR1_10			0x1099
29406785ff6SJared McNeill #define	HDMI_FC_ISCR1_9				0x109A
29506785ff6SJared McNeill #define	HDMI_FC_ISCR1_8				0x109B
29606785ff6SJared McNeill #define	HDMI_FC_ISCR1_7				0x109C
29706785ff6SJared McNeill #define	HDMI_FC_ISCR1_6				0x109D
29806785ff6SJared McNeill #define	HDMI_FC_ISCR1_5				0x109E
29906785ff6SJared McNeill #define	HDMI_FC_ISCR1_4				0x109F
30006785ff6SJared McNeill #define	HDMI_FC_ISCR1_3				0x10A0
30106785ff6SJared McNeill #define	HDMI_FC_ISCR1_2				0x10A1
30206785ff6SJared McNeill #define	HDMI_FC_ISCR1_1				0x10A2
30306785ff6SJared McNeill #define	HDMI_FC_ISCR2_15			0x10A3
30406785ff6SJared McNeill #define	HDMI_FC_ISCR2_14			0x10A4
30506785ff6SJared McNeill #define	HDMI_FC_ISCR2_13			0x10A5
30606785ff6SJared McNeill #define	HDMI_FC_ISCR2_12			0x10A6
30706785ff6SJared McNeill #define	HDMI_FC_ISCR2_11			0x10A7
30806785ff6SJared McNeill #define	HDMI_FC_ISCR2_10			0x10A8
30906785ff6SJared McNeill #define	HDMI_FC_ISCR2_9				0x10A9
31006785ff6SJared McNeill #define	HDMI_FC_ISCR2_8				0x10AA
31106785ff6SJared McNeill #define	HDMI_FC_ISCR2_7				0x10AB
31206785ff6SJared McNeill #define	HDMI_FC_ISCR2_6				0x10AC
31306785ff6SJared McNeill #define	HDMI_FC_ISCR2_5				0x10AD
31406785ff6SJared McNeill #define	HDMI_FC_ISCR2_4				0x10AE
31506785ff6SJared McNeill #define	HDMI_FC_ISCR2_3				0x10AF
31606785ff6SJared McNeill #define	HDMI_FC_ISCR2_2				0x10B0
31706785ff6SJared McNeill #define	HDMI_FC_ISCR2_1				0x10B1
31806785ff6SJared McNeill #define	HDMI_FC_ISCR2_0				0x10B2
31906785ff6SJared McNeill #define	HDMI_FC_DATAUTO0			0x10B3
32006785ff6SJared McNeill #define	HDMI_FC_DATAUTO1			0x10B4
32106785ff6SJared McNeill #define	HDMI_FC_DATAUTO2			0x10B5
32206785ff6SJared McNeill #define	HDMI_FC_DATMAN				0x10B6
32306785ff6SJared McNeill #define	HDMI_FC_DATAUTO3			0x10B7
32406785ff6SJared McNeill #define	HDMI_FC_RDRB0				0x10B8
32506785ff6SJared McNeill #define	HDMI_FC_RDRB1				0x10B9
32606785ff6SJared McNeill #define	HDMI_FC_RDRB2				0x10BA
32706785ff6SJared McNeill #define	HDMI_FC_RDRB3				0x10BB
32806785ff6SJared McNeill #define	HDMI_FC_RDRB4				0x10BC
32906785ff6SJared McNeill #define	HDMI_FC_RDRB5				0x10BD
33006785ff6SJared McNeill #define	HDMI_FC_RDRB6				0x10BE
33106785ff6SJared McNeill #define	HDMI_FC_RDRB7				0x10BF
33206785ff6SJared McNeill #define	HDMI_FC_STAT0				0x10D0
33306785ff6SJared McNeill #define	HDMI_FC_INT0				0x10D1
33406785ff6SJared McNeill #define	HDMI_FC_MASK0				0x10D2
33506785ff6SJared McNeill #define	HDMI_FC_POL0				0x10D3
33606785ff6SJared McNeill #define	HDMI_FC_STAT1				0x10D4
33706785ff6SJared McNeill #define	HDMI_FC_INT1				0x10D5
33806785ff6SJared McNeill #define	HDMI_FC_MASK1				0x10D6
33906785ff6SJared McNeill #define	HDMI_FC_POL1				0x10D7
34006785ff6SJared McNeill #define	HDMI_FC_STAT2				0x10D8
34106785ff6SJared McNeill #define	HDMI_FC_INT2				0x10D9
34206785ff6SJared McNeill #define	HDMI_FC_MASK2				0x10DA
34306785ff6SJared McNeill #define	  HDMI_FC_MASK2_LOW_PRI		(1 << 1)
34406785ff6SJared McNeill #define	  HDMI_FC_MASK2_HIGH_PRI		(1 << 0)
34506785ff6SJared McNeill #define	HDMI_FC_POL2				0x10DB
34606785ff6SJared McNeill #define	HDMI_FC_PRCONF				0x10E0
34706785ff6SJared McNeill 
34806785ff6SJared McNeill #define	HDMI_FC_GMD_STAT			0x1100
34906785ff6SJared McNeill #define	HDMI_FC_GMD_EN				0x1101
35006785ff6SJared McNeill #define	HDMI_FC_GMD_UP				0x1102
35106785ff6SJared McNeill #define	HDMI_FC_GMD_CONF			0x1103
35206785ff6SJared McNeill #define	HDMI_FC_GMD_HB				0x1104
35306785ff6SJared McNeill #define	HDMI_FC_GMD_PB0				0x1105
35406785ff6SJared McNeill #define	HDMI_FC_GMD_PB1				0x1106
35506785ff6SJared McNeill #define	HDMI_FC_GMD_PB2				0x1107
35606785ff6SJared McNeill #define	HDMI_FC_GMD_PB3				0x1108
35706785ff6SJared McNeill #define	HDMI_FC_GMD_PB4				0x1109
35806785ff6SJared McNeill #define	HDMI_FC_GMD_PB5				0x110A
35906785ff6SJared McNeill #define	HDMI_FC_GMD_PB6				0x110B
36006785ff6SJared McNeill #define	HDMI_FC_GMD_PB7				0x110C
36106785ff6SJared McNeill #define	HDMI_FC_GMD_PB8				0x110D
36206785ff6SJared McNeill #define	HDMI_FC_GMD_PB9				0x110E
36306785ff6SJared McNeill #define	HDMI_FC_GMD_PB10			0x110F
36406785ff6SJared McNeill #define	HDMI_FC_GMD_PB11			0x1110
36506785ff6SJared McNeill #define	HDMI_FC_GMD_PB12			0x1111
36606785ff6SJared McNeill #define	HDMI_FC_GMD_PB13			0x1112
36706785ff6SJared McNeill #define	HDMI_FC_GMD_PB14			0x1113
36806785ff6SJared McNeill #define	HDMI_FC_GMD_PB15			0x1114
36906785ff6SJared McNeill #define	HDMI_FC_GMD_PB16			0x1115
37006785ff6SJared McNeill #define	HDMI_FC_GMD_PB17			0x1116
37106785ff6SJared McNeill #define	HDMI_FC_GMD_PB18			0x1117
37206785ff6SJared McNeill #define	HDMI_FC_GMD_PB19			0x1118
37306785ff6SJared McNeill #define	HDMI_FC_GMD_PB20			0x1119
37406785ff6SJared McNeill #define	HDMI_FC_GMD_PB21			0x111A
37506785ff6SJared McNeill #define	HDMI_FC_GMD_PB22			0x111B
37606785ff6SJared McNeill #define	HDMI_FC_GMD_PB23			0x111C
37706785ff6SJared McNeill #define	HDMI_FC_GMD_PB24			0x111D
37806785ff6SJared McNeill #define	HDMI_FC_GMD_PB25			0x111E
37906785ff6SJared McNeill #define	HDMI_FC_GMD_PB26			0x111F
38006785ff6SJared McNeill #define	HDMI_FC_GMD_PB27			0x1120
38106785ff6SJared McNeill 
38206785ff6SJared McNeill #define	HDMI_FC_DBGFORCE			0x1200
38306785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH0			0x1201
38406785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH0			0x1202
38506785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH0			0x1203
38606785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH1			0x1204
38706785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH1			0x1205
38806785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH1			0x1206
38906785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH2			0x1207
39006785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH2			0x1208
39106785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH2			0x1209
39206785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH3			0x120A
39306785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH3			0x120B
39406785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH3			0x120C
39506785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH4			0x120D
39606785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH4			0x120E
39706785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH4			0x120F
39806785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH5			0x1210
39906785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH5			0x1211
40006785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH5			0x1212
40106785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH6			0x1213
40206785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH6			0x1214
40306785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH6			0x1215
40406785ff6SJared McNeill #define	HDMI_FC_DBGAUD0CH7			0x1216
40506785ff6SJared McNeill #define	HDMI_FC_DBGAUD1CH7			0x1217
40606785ff6SJared McNeill #define	HDMI_FC_DBGAUD2CH7			0x1218
40706785ff6SJared McNeill #define	HDMI_FC_DBGTMDS0			0x1219
40806785ff6SJared McNeill #define	HDMI_FC_DBGTMDS1			0x121A
40906785ff6SJared McNeill #define	HDMI_FC_DBGTMDS2			0x121B
41006785ff6SJared McNeill 
41106785ff6SJared McNeill #define	HDMI_PHY_CONF0				0x3000
41206785ff6SJared McNeill #define	  HDMI_PHY_CONF0_PDZ_MASK			0x80
41306785ff6SJared McNeill #define	  HDMI_PHY_CONF0_PDZ_OFFSET		7
41406785ff6SJared McNeill #define	  HDMI_PHY_CONF0_ENTMDS_MASK		0x40
41506785ff6SJared McNeill #define	  HDMI_PHY_CONF0_ENTMDS_OFFSET		6
41606785ff6SJared McNeill #define	  HDMI_PHY_CONF0_SPARECTRL		0x20
41706785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_PDDQ_MASK		0x10
41806785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET		4
41906785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_TXPWRON_MASK	0x8
42006785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET	3
42106785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_MASK	0x4
42206785ff6SJared McNeill #define	  HDMI_PHY_CONF0_GEN2_ENHPDRXSENSE_OFFSET	2
42306785ff6SJared McNeill #define	  HDMI_PHY_CONF0_SELDATAENPOL_MASK	0x2
42406785ff6SJared McNeill #define	  HDMI_PHY_CONF0_SELDATAENPOL_OFFSET	1
42506785ff6SJared McNeill #define	  HDMI_PHY_CONF0_SELDIPIF_MASK		0x1
42606785ff6SJared McNeill #define	  HDMI_PHY_CONF0_SELDIPIF_OFFSET		0
42706785ff6SJared McNeill #define	HDMI_PHY_TST0				0x3001
42806785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTCLR_MASK		0x20
42906785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTCLR_OFFSET		5
43006785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTEN_MASK		0x10
43106785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTEN_OFFSET		4
43206785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTCLK_MASK		0x1
43306785ff6SJared McNeill #define	  HDMI_PHY_TST0_TSTCLK_OFFSET		0
43406785ff6SJared McNeill #define	HDMI_PHY_TST1				0x3002
43506785ff6SJared McNeill #define	HDMI_PHY_TST2				0x3003
43606785ff6SJared McNeill #define	HDMI_PHY_STAT0				0x3004
43706785ff6SJared McNeill #define	  HDMI_PHY_STAT0_RX_SENSE3		0x80
43806785ff6SJared McNeill #define	  HDMI_PHY_STAT0_RX_SENSE2		0x40
43906785ff6SJared McNeill #define	  HDMI_PHY_STAT0_RX_SENSE1		0x20
44006785ff6SJared McNeill #define	  HDMI_PHY_STAT0_RX_SENSE0		0x10
44106785ff6SJared McNeill #define	  HDMI_PHY_STAT0_RX_SENSE		0xf0
44206785ff6SJared McNeill #define	  HDMI_PHY_STAT0_HPD			0x02
44306785ff6SJared McNeill #define	  HDMI_PHY_TX_PHY_LOCK			0x01
44406785ff6SJared McNeill #define	HDMI_PHY_INT0				0x3005
44506785ff6SJared McNeill #define	HDMI_PHY_MASK0				0x3006
44606785ff6SJared McNeill #define	HDMI_PHY_POL0				0x3007
44706785ff6SJared McNeill #define	  HDMI_PHY_POL0_HPD			0x02
44806785ff6SJared McNeill 
44906785ff6SJared McNeill /* HDMI Master PHY Registers */
45006785ff6SJared McNeill #define	HDMI_PHY_I2CM_SLAVE_ADDR		0x3020
45106785ff6SJared McNeill #define	  HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2	0x69
45206785ff6SJared McNeill #define	  HDMI_PHY_I2CM_SLAVE_ADDR_HEAC_PHY	0x49
45306785ff6SJared McNeill #define	HDMI_PHY_I2CM_ADDRESS_ADDR		0x3021
45406785ff6SJared McNeill #define	HDMI_PHY_I2CM_DATAO_1_ADDR		0x3022
45506785ff6SJared McNeill #define	HDMI_PHY_I2CM_DATAO_0_ADDR		0x3023
45606785ff6SJared McNeill #define	HDMI_PHY_I2CM_DATAI_1_ADDR		0x3024
45706785ff6SJared McNeill #define	HDMI_PHY_I2CM_DATAI_0_ADDR		0x3025
45806785ff6SJared McNeill #define	HDMI_PHY_I2CM_OPERATION_ADDR		0x3026
45906785ff6SJared McNeill #define	HDMI_PHY_I2CM_INT_ADDR			0x3027
46006785ff6SJared McNeill #define	HDMI_PHY_I2CM_CTLINT_ADDR		0x3028
46106785ff6SJared McNeill #define	HDMI_PHY_I2CM_DIV_ADDR			0x3029
46206785ff6SJared McNeill #define	HDMI_PHY_I2CM_SOFTRSTZ_ADDR		0x302a
46306785ff6SJared McNeill #define	HDMI_PHY_I2CM_SS_SCL_HCNT_1_ADDR	0x302b
46406785ff6SJared McNeill #define	HDMI_PHY_I2CM_SS_SCL_HCNT_0_ADDR	0x302c
46506785ff6SJared McNeill #define	HDMI_PHY_I2CM_SS_SCL_LCNT_1_ADDR	0x302d
46606785ff6SJared McNeill #define	HDMI_PHY_I2CM_SS_SCL_LCNT_0_ADDR	0x302e
46706785ff6SJared McNeill #define	HDMI_PHY_I2CM_FS_SCL_HCNT_1_ADDR	0x302f
46806785ff6SJared McNeill #define	HDMI_PHY_I2CM_FS_SCL_HCNT_0_ADDR	0x3030
46906785ff6SJared McNeill #define	HDMI_PHY_I2CM_FS_SCL_LCNT_1_ADDR	0x3031
47006785ff6SJared McNeill #define	HDMI_PHY_I2CM_FS_SCL_LCNT_0_ADDR	0x3032
47106785ff6SJared McNeill 
47206785ff6SJared McNeill /* Audio Sampler Registers */
47306785ff6SJared McNeill #define	HDMI_AUD_CONF0				0x3100
474*6443acaaSJared McNeill #define	  HDMI_AUD_CONF0_INTERFACE_MASK		0x20
475*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_INTERFACE_IIS	0x20
476*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_INTERFACE_SPDIF	0x00
477*6443acaaSJared McNeill #define	  HDMI_AUD_CONF0_I2SINEN_MASK		0x0f
478*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_I2SINEN_CH2		0x01
479*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_I2SINEN_CH4		0x03
480*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_I2SINEN_CH6		0x07
481*6443acaaSJared McNeill #define	    HDMI_AUD_CONF0_I2SINEN_CH8		0x0f
48206785ff6SJared McNeill #define	HDMI_AUD_CONF1				0x3101
483*6443acaaSJared McNeill #define	  HDMI_AUD_CONF1_DATAMODE_MASK		0xe0
484*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATAMODE_IIS		0x00
485*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATAMODE_RIGHT_J	0x20
486*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATAMODE_LEFT_J	0x40
487*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATAMODE_BURST_1	0x60
488*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATAMDOE_BURST_2	0x80
489*6443acaaSJared McNeill #define	  HDMI_AUD_CONF1_DATWIDTH_MASK		0x1f
490*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATWIDTH_16BIT	16
491*6443acaaSJared McNeill #define	    HDMI_AUD_CONF1_DATWIDTH_24BIT	24
49206785ff6SJared McNeill #define	HDMI_AUD_INT				0x3102
49306785ff6SJared McNeill #define	HDMI_AUD_CONF2				0x3103
49406785ff6SJared McNeill #define	HDMI_AUD_N1				0x3200
49506785ff6SJared McNeill #define	HDMI_AUD_N2				0x3201
49606785ff6SJared McNeill #define	HDMI_AUD_N3				0x3202
49706785ff6SJared McNeill #define	HDMI_AUD_CTS1				0x3203
49806785ff6SJared McNeill #define	HDMI_AUD_CTS2				0x3204
49906785ff6SJared McNeill #define	HDMI_AUD_CTS3				0x3205
500*6443acaaSJared McNeill #define	  HDMI_AUD_CTS3_N_SHIFT_MASK		0xe0
501*6443acaaSJared McNeill #define	  HDMI_AUD_CTS3_CTS_MANUAL		0x10
50206785ff6SJared McNeill #define	HDMI_AUD_INPUTCLKFS			0x3206
503*6443acaaSJared McNeill #define	  HDMI_AUD_INPUTCLKFS_128		0
504*6443acaaSJared McNeill #define	  HDMI_AUD_INPUTCLKFS_256		1
505*6443acaaSJared McNeill #define	  HDMI_AUD_INPUTCLKFS_512		2
506*6443acaaSJared McNeill #define	  HDMI_AUD_INPUTCLKFS_1024		3
507*6443acaaSJared McNeill #define	  HDMI_AUD_INPUTCLKFS_64		4
50806785ff6SJared McNeill #define	HDMI_AUD_SPDIFINT			0x3302
50906785ff6SJared McNeill #define	HDMI_AUD_CONF0_HBR			0x3400
51006785ff6SJared McNeill #define	HDMI_AUD_HBR_STATUS			0x3401
51106785ff6SJared McNeill #define	HDMI_AUD_HBR_INT			0x3402
51206785ff6SJared McNeill #define	HDMI_AUD_HBR_POL			0x3403
51306785ff6SJared McNeill #define	HDMI_AUD_HBR_MASK			0x3404
51406785ff6SJared McNeill 
51506785ff6SJared McNeill /*
51606785ff6SJared McNeill  * Generic Parallel Audio Interface Registers
51706785ff6SJared McNeill  * Not used as GPAUD interface is not enabled in hw
51806785ff6SJared McNeill  */
51906785ff6SJared McNeill #define	HDMI_GP_CONF0				0x3500
52006785ff6SJared McNeill #define	HDMI_GP_CONF1				0x3501
52106785ff6SJared McNeill #define	HDMI_GP_CONF2				0x3502
52206785ff6SJared McNeill #define	HDMI_GP_STAT				0x3503
52306785ff6SJared McNeill #define	HDMI_GP_INT				0x3504
52406785ff6SJared McNeill #define	HDMI_GP_MASK				0x3505
52506785ff6SJared McNeill #define	HDMI_GP_POL				0x3506
52606785ff6SJared McNeill 
52706785ff6SJared McNeill /* Main Controller Registers */
52806785ff6SJared McNeill #define	HDMI_MC_SFRDIV				0x4000
52906785ff6SJared McNeill #define	HDMI_MC_CLKDIS				0x4001
53006785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_HDCPCLK_DISABLE		(1 << 6)
53106785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_CECCLK_DISABLE		(1 << 5)
53206785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_CSCCLK_DISABLE		(1 << 4)
53306785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_AUDCLK_DISABLE		(1 << 3)
53406785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_PREPCLK_DISABLE		(1 << 2)
53506785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_TMDSCLK_DISABLE		(1 << 1)
53606785ff6SJared McNeill #define	  HDMI_MC_CLKDIS_PIXELCLK_DISABLE		(1 << 0)
53706785ff6SJared McNeill 
53806785ff6SJared McNeill #define	HDMI_MC_SWRSTZ				0x4002
53906785ff6SJared McNeill #define	  HDMI_MC_SWRSTZ_TMDSSWRST_REQ		0x02
54006785ff6SJared McNeill #define	HDMI_MC_OPCTRL				0x4003
54106785ff6SJared McNeill #define	HDMI_MC_FLOWCTRL			0x4004
54206785ff6SJared McNeill #define	  HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_MASK		0x1
54306785ff6SJared McNeill #define	  HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH	0x1
54406785ff6SJared McNeill #define	  HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_BYPASS	0x0
54506785ff6SJared McNeill #define	HDMI_MC_PHYRSTZ				0x4005
54606785ff6SJared McNeill #define	  HDMI_MC_PHYRSTZ_ASSERT			0x0
54706785ff6SJared McNeill #define	  HDMI_MC_PHYRSTZ_DEASSERT		0x1
54806785ff6SJared McNeill #define	HDMI_MC_LOCKONCLOCK			0x4006
54906785ff6SJared McNeill #define	HDMI_MC_HEACPHY_RST			0x4007
55006785ff6SJared McNeill #define	  HDMI_MC_HEACPHY_RST_ASSERT		0x1
55106785ff6SJared McNeill #define	  HDMI_MC_HEACPHY_RST_DEASSERT		0x0
55206785ff6SJared McNeill 
55306785ff6SJared McNeill /* HDCP Encryption Engine Registers */
55406785ff6SJared McNeill #define	HDMI_A_HDCPCFG0				0x5000
55506785ff6SJared McNeill #define	  HDMI_A_HDCPCFG0_RXDETECT_MASK			0x4
55606785ff6SJared McNeill #define	  HDMI_A_HDCPCFG0_RXDETECT_ENABLE		0x4
55706785ff6SJared McNeill #define	  HDMI_A_HDCPCFG0_RXDETECT_DISABLE		0x0
55806785ff6SJared McNeill #define	HDMI_A_HDCPCFG1				0x5001
55906785ff6SJared McNeill #define	  HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_MASK	0x2
56006785ff6SJared McNeill #define	  HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_DISABLE	0x2
56106785ff6SJared McNeill #define	  HDMI_A_HDCPCFG1_ENCRYPTIONDISABLE_ENABLE	0x0
56206785ff6SJared McNeill #define	HDMI_A_HDCPOBS0				0x5002
56306785ff6SJared McNeill #define	HDMI_A_HDCPOBS1				0x5003
56406785ff6SJared McNeill #define	HDMI_A_HDCPOBS2				0x5004
56506785ff6SJared McNeill #define	HDMI_A_HDCPOBS3				0x5005
56606785ff6SJared McNeill #define	HDMI_A_APIINTCLR			0x5006
56706785ff6SJared McNeill #define	HDMI_A_APIINTSTAT			0x5007
56806785ff6SJared McNeill #define	HDMI_A_APIINTMSK			0x5008
56906785ff6SJared McNeill #define	HDMI_A_VIDPOLCFG			0x5009
57006785ff6SJared McNeill #define	  HDMI_A_VIDPOLCFG_DATAENPOL_MASK		0x10
57106785ff6SJared McNeill #define	  HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_HIGH	0x10
57206785ff6SJared McNeill #define	  HDMI_A_VIDPOLCFG_DATAENPOL_ACTIVE_LOW		0x0
57306785ff6SJared McNeill #define	HDMI_A_OESSWCFG				0x500A
57406785ff6SJared McNeill #define	HDMI_A_TIMER1SETUP0			0x500B
57506785ff6SJared McNeill #define	HDMI_A_TIMER1SETUP1			0x500C
57606785ff6SJared McNeill #define	HDMI_A_TIMER2SETUP0			0x500D
57706785ff6SJared McNeill #define	HDMI_A_TIMER2SETUP1			0x500E
57806785ff6SJared McNeill #define	HDMI_A_100MSCFG				0x500F
57906785ff6SJared McNeill #define	HDMI_A_2SCFG0				0x5010
58006785ff6SJared McNeill #define	HDMI_A_2SCFG1				0x5011
58106785ff6SJared McNeill #define	HDMI_A_5SCFG0				0x5012
58206785ff6SJared McNeill #define	HDMI_A_5SCFG1				0x5013
58306785ff6SJared McNeill #define	HDMI_A_SRMVERLSB			0x5014
58406785ff6SJared McNeill #define	HDMI_A_SRMVERMSB			0x5015
58506785ff6SJared McNeill #define	HDMI_A_SRMCTRL				0x5016
58606785ff6SJared McNeill #define	HDMI_A_SFRSETUP				0x5017
58706785ff6SJared McNeill #define	HDMI_A_I2CHSETUP			0x5018
58806785ff6SJared McNeill #define	HDMI_A_INTSETUP				0x5019
58906785ff6SJared McNeill #define	HDMI_A_PRESETUP				0x501A
59006785ff6SJared McNeill #define	HDMI_A_SRM_BASE				0x5020
59106785ff6SJared McNeill 
59206785ff6SJared McNeill /* CEC Engine Registers */
59306785ff6SJared McNeill #define	HDMI_CEC_CTRL				0x7D00
59406785ff6SJared McNeill #define	HDMI_CEC_STAT				0x7D01
59506785ff6SJared McNeill #define	HDMI_CEC_MASK				0x7D02
59606785ff6SJared McNeill #define	HDMI_CEC_POLARITY			0x7D03
59706785ff6SJared McNeill #define	HDMI_CEC_INT				0x7D04
59806785ff6SJared McNeill #define	HDMI_CEC_ADDR_L				0x7D05
59906785ff6SJared McNeill #define	HDMI_CEC_ADDR_H				0x7D06
60006785ff6SJared McNeill #define	HDMI_CEC_TX_CNT				0x7D07
60106785ff6SJared McNeill #define	HDMI_CEC_RX_CNT				0x7D08
60206785ff6SJared McNeill #define	HDMI_CEC_TX_DATA0			0x7D10
60306785ff6SJared McNeill #define	HDMI_CEC_TX_DATA1			0x7D11
60406785ff6SJared McNeill #define	HDMI_CEC_TX_DATA2			0x7D12
60506785ff6SJared McNeill #define	HDMI_CEC_TX_DATA3			0x7D13
60606785ff6SJared McNeill #define	HDMI_CEC_TX_DATA4			0x7D14
60706785ff6SJared McNeill #define	HDMI_CEC_TX_DATA5			0x7D15
60806785ff6SJared McNeill #define	HDMI_CEC_TX_DATA6			0x7D16
60906785ff6SJared McNeill #define	HDMI_CEC_TX_DATA7			0x7D17
61006785ff6SJared McNeill #define	HDMI_CEC_TX_DATA8			0x7D18
61106785ff6SJared McNeill #define	HDMI_CEC_TX_DATA9			0x7D19
61206785ff6SJared McNeill #define	HDMI_CEC_TX_DATA10			0x7D1a
61306785ff6SJared McNeill #define	HDMI_CEC_TX_DATA11			0x7D1b
61406785ff6SJared McNeill #define	HDMI_CEC_TX_DATA12			0x7D1c
61506785ff6SJared McNeill #define	HDMI_CEC_TX_DATA13			0x7D1d
61606785ff6SJared McNeill #define	HDMI_CEC_TX_DATA14			0x7D1e
61706785ff6SJared McNeill #define	HDMI_CEC_TX_DATA15			0x7D1f
61806785ff6SJared McNeill #define	HDMI_CEC_RX_DATA0			0x7D20
61906785ff6SJared McNeill #define	HDMI_CEC_RX_DATA1			0x7D21
62006785ff6SJared McNeill #define	HDMI_CEC_RX_DATA2			0x7D22
62106785ff6SJared McNeill #define	HDMI_CEC_RX_DATA3			0x7D23
62206785ff6SJared McNeill #define	HDMI_CEC_RX_DATA4			0x7D24
62306785ff6SJared McNeill #define	HDMI_CEC_RX_DATA5			0x7D25
62406785ff6SJared McNeill #define	HDMI_CEC_RX_DATA6			0x7D26
62506785ff6SJared McNeill #define	HDMI_CEC_RX_DATA7			0x7D27
62606785ff6SJared McNeill #define	HDMI_CEC_RX_DATA8			0x7D28
62706785ff6SJared McNeill #define	HDMI_CEC_RX_DATA9			0x7D29
62806785ff6SJared McNeill #define	HDMI_CEC_RX_DATA10			0x7D2a
62906785ff6SJared McNeill #define	HDMI_CEC_RX_DATA11			0x7D2b
63006785ff6SJared McNeill #define	HDMI_CEC_RX_DATA12			0x7D2c
63106785ff6SJared McNeill #define	HDMI_CEC_RX_DATA13			0x7D2d
63206785ff6SJared McNeill #define	HDMI_CEC_RX_DATA14			0x7D2e
63306785ff6SJared McNeill #define	HDMI_CEC_RX_DATA15			0x7D2f
63406785ff6SJared McNeill #define	HDMI_CEC_LOCK				0x7D30
63506785ff6SJared McNeill #define	HDMI_CEC_WKUPCTRL			0x7D31
63606785ff6SJared McNeill 
63706785ff6SJared McNeill /* I2C Master Registers (E-DDC) */
63806785ff6SJared McNeill #define	HDMI_I2CM_SLAVE				0x7E00
63906785ff6SJared McNeill #define	HDMI_I2CMESS				0x7E01
64006785ff6SJared McNeill #define	HDMI_I2CM_DATAO				0x7E02
64106785ff6SJared McNeill #define	HDMI_I2CM_DATAI				0x7E03
64206785ff6SJared McNeill #define	HDMI_I2CM_OPERATION			0x7E04
64306785ff6SJared McNeill #define	  HDMI_PHY_I2CM_OPERATION_ADDR_WRITE	0x10
64406785ff6SJared McNeill #define	  HDMI_PHY_I2CM_OPERATION_ADDR_READ	0x1
64506785ff6SJared McNeill #define	HDMI_I2CM_INT				0x7E05
64606785ff6SJared McNeill #define	HDMI_I2CM_CTLINT			0x7E06
64706785ff6SJared McNeill #define	HDMI_I2CM_DIV				0x7E07
64806785ff6SJared McNeill #define	HDMI_I2CM_SEGADDR			0x7E08
64906785ff6SJared McNeill #define	HDMI_I2CM_SOFTRSTZ			0x7E09
65006785ff6SJared McNeill #define	HDMI_I2CM_SEGPTR			0x7E0A
65106785ff6SJared McNeill #define	HDMI_I2CM_SS_SCL_HCNT_1_ADDR		0x7E0B
65206785ff6SJared McNeill #define	HDMI_I2CM_SS_SCL_HCNT_0_ADDR		0x7E0C
65306785ff6SJared McNeill #define	HDMI_I2CM_SS_SCL_LCNT_1_ADDR		0x7E0D
65406785ff6SJared McNeill #define	HDMI_I2CM_SS_SCL_LCNT_0_ADDR		0x7E0E
65506785ff6SJared McNeill #define	HDMI_I2CM_FS_SCL_HCNT_1_ADDR		0x7E0F
65606785ff6SJared McNeill #define	HDMI_I2CM_FS_SCL_HCNT_0_ADDR		0x7E10
65706785ff6SJared McNeill #define	HDMI_I2CM_FS_SCL_LCNT_1_ADDR		0x7E11
65806785ff6SJared McNeill #define	HDMI_I2CM_FS_SCL_LCNT_0_ADDR		0x7E12
65906785ff6SJared McNeill 
66006785ff6SJared McNeill /* HDMI PHY register with access through I2C */
66106785ff6SJared McNeill #define	HDMI_PHY_I2C_CKCALCTRL	0x5
66206785ff6SJared McNeill #define	  CKCALCTRL_OVERRIDE	(1 << 15)
66306785ff6SJared McNeill #define	HDMI_PHY_I2C_CPCE_CTRL	0x6
66406785ff6SJared McNeill #define	  CPCE_CTRL_45_25		((3 << 7) | (3 << 5))
66506785ff6SJared McNeill #define	  CPCE_CTRL_92_50		((2 << 7) | (2 << 5))
66606785ff6SJared McNeill #define	  CPCE_CTRL_185		((1 << 7) | (1 << 5))
66706785ff6SJared McNeill #define	  CPCE_CTRL_370		((0 << 7) | (0 << 5))
66806785ff6SJared McNeill #define	HDMI_PHY_I2C_CKSYMTXCTRL	0x9
66906785ff6SJared McNeill #define	  CKSYMTXCTRL_OVERRIDE	(1 << 15)
67006785ff6SJared McNeill #define	  CKSYMTXCTRL_TX_SYMON	(1 << 3)
67106785ff6SJared McNeill #define	  CKSYMTXCTRL_TX_TRAON	(1 << 2)
67206785ff6SJared McNeill #define	  CKSYMTXCTRL_TX_TRBON	(1 << 1)
67306785ff6SJared McNeill #define	  CKSYMTXCTRL_TX_CK_SYMON	(1 << 0)
67406785ff6SJared McNeill #define	HDMI_PHY_I2C_VLEVCTRL		0x0E
67506785ff6SJared McNeill #define	HDMI_PHY_I2C_CURRCTRL		0x10
67606785ff6SJared McNeill #define	HDMI_PHY_I2C_PLLPHBYCTRL	0x13
67706785ff6SJared McNeill #define	  VLEVCTRL_TX_LVL(x)	((x) << 5)
67806785ff6SJared McNeill #define	  VLEVCTRL_CK_LVL(x)	(x)
67906785ff6SJared McNeill #define	HDMI_PHY_I2C_GMPCTRL	0x15
68006785ff6SJared McNeill #define	  GMPCTRL_45_25		0x00
68106785ff6SJared McNeill #define	  GMPCTRL_92_50		0x05
68206785ff6SJared McNeill #define	  GMPCTRL_185		0x0a
68306785ff6SJared McNeill #define	  GMPCTRL_370		0x0f
68406785ff6SJared McNeill #define	HDMI_PHY_I2C_MSM_CTRL	0x17
68506785ff6SJared McNeill #define	  MSM_CTRL_FB_CLK		(0x3 << 1)
68606785ff6SJared McNeill #define	HDMI_PHY_I2C_TXTERM	0x19
68706785ff6SJared McNeill #define	  TXTERM_133		0x5
68806785ff6SJared McNeill 
68906785ff6SJared McNeill #endif	/* __DWC_HDMIREG_H__ */
690