Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Registers of Silicon Image SiI8620 Mobile HD Transmitter
0004  *
0005  * Copyright (C) 2015, Samsung Electronics Co., Ltd.
0006  * Andrzej Hajda <a.hajda@samsung.com>
0007  *
0008  * Based on MHL driver for Android devices.
0009  * Copyright (C) 2013-2014 Silicon Image, Inc.
0010  */
0011 
0012 #ifndef __SIL_SII8620_H__
0013 #define __SIL_SII8620_H__
0014 
0015 /* Vendor ID Low byte, default value: 0x01 */
0016 #define REG_VND_IDL             0x0000
0017 
0018 /* Vendor ID High byte, default value: 0x00 */
0019 #define REG_VND_IDH             0x0001
0020 
0021 /* Device ID Low byte, default value: 0x60 */
0022 #define REG_DEV_IDL             0x0002
0023 
0024 /* Device ID High byte, default value: 0x86 */
0025 #define REG_DEV_IDH             0x0003
0026 
0027 /* Device Revision, default value: 0x10 */
0028 #define REG_DEV_REV             0x0004
0029 
0030 /* OTP DBYTE510, default value: 0x00 */
0031 #define REG_OTP_DBYTE510            0x0006
0032 
0033 /* System Control #1, default value: 0x00 */
0034 #define REG_SYS_CTRL1               0x0008
0035 #define BIT_SYS_CTRL1_OTPVMUTEOVR_SET       BIT(7)
0036 #define BIT_SYS_CTRL1_VSYNCPIN          BIT(6)
0037 #define BIT_SYS_CTRL1_OTPADROPOVR_SET       BIT(5)
0038 #define BIT_SYS_CTRL1_BLOCK_DDC_BY_HPD      BIT(4)
0039 #define BIT_SYS_CTRL1_OTP2XVOVR_EN      BIT(3)
0040 #define BIT_SYS_CTRL1_OTP2XAOVR_EN      BIT(2)
0041 #define BIT_SYS_CTRL1_TX_CTRL_HDMI      BIT(1)
0042 #define BIT_SYS_CTRL1_OTPAMUTEOVR_SET       BIT(0)
0043 
0044 /* System Control DPD, default value: 0x90 */
0045 #define REG_DPD                 0x000b
0046 #define BIT_DPD_PWRON_PLL           BIT(7)
0047 #define BIT_DPD_PDNTX12             BIT(6)
0048 #define BIT_DPD_PDNRX12             BIT(5)
0049 #define BIT_DPD_OSC_EN              BIT(4)
0050 #define BIT_DPD_PWRON_HSIC          BIT(3)
0051 #define BIT_DPD_PDIDCK_N            BIT(2)
0052 #define BIT_DPD_PD_MHL_CLK_N            BIT(1)
0053 
0054 /* Dual link Control, default value: 0x00 */
0055 #define REG_DCTL                0x000d
0056 #define BIT_DCTL_TDM_LCLK_PHASE         BIT(7)
0057 #define BIT_DCTL_HSIC_CLK_PHASE         BIT(6)
0058 #define BIT_DCTL_CTS_TCK_PHASE          BIT(5)
0059 #define BIT_DCTL_EXT_DDC_SEL            BIT(4)
0060 #define BIT_DCTL_TRANSCODE          BIT(3)
0061 #define BIT_DCTL_HSIC_RX_STROBE_PHASE       BIT(2)
0062 #define BIT_DCTL_HSIC_TX_BIST_START_SEL     BIT(1)
0063 #define BIT_DCTL_TCLKNX_PHASE           BIT(0)
0064 
0065 /* PWD Software Reset, default value: 0x20 */
0066 #define REG_PWD_SRST                0x000e
0067 #define BIT_PWD_SRST_COC_DOC_RST        BIT(7)
0068 #define BIT_PWD_SRST_CBUS_RST_SW        BIT(6)
0069 #define BIT_PWD_SRST_CBUS_RST_SW_EN     BIT(5)
0070 #define BIT_PWD_SRST_MHLFIFO_RST        BIT(4)
0071 #define BIT_PWD_SRST_CBUS_RST           BIT(3)
0072 #define BIT_PWD_SRST_SW_RST_AUTO        BIT(2)
0073 #define BIT_PWD_SRST_HDCP2X_SW_RST      BIT(1)
0074 #define BIT_PWD_SRST_SW_RST         BIT(0)
0075 
0076 /* AKSV_1, default value: 0x00 */
0077 #define REG_AKSV_1              0x001d
0078 
0079 /* Video H Resolution #1, default value: 0x00 */
0080 #define REG_H_RESL              0x003a
0081 
0082 /* Video Mode, default value: 0x00 */
0083 #define REG_VID_MODE                0x004a
0084 #define BIT_VID_MODE_M1080P         BIT(6)
0085 
0086 /* Video Input Mode, default value: 0xc0 */
0087 #define REG_VID_OVRRD               0x0051
0088 #define BIT_VID_OVRRD_PP_AUTO_DISABLE       BIT(7)
0089 #define BIT_VID_OVRRD_M1080P_OVRRD      BIT(6)
0090 #define BIT_VID_OVRRD_MINIVSYNC_ON      BIT(5)
0091 #define BIT_VID_OVRRD_3DCONV_EN_FRAME_PACK  BIT(4)
0092 #define BIT_VID_OVRRD_ENABLE_AUTO_PATH_EN   BIT(3)
0093 #define BIT_VID_OVRRD_ENRGB2YCBCR_OVRRD     BIT(2)
0094 #define BIT_VID_OVRRD_ENDOWNSAMPLE_OVRRD    BIT(0)
0095 
0096 /* I2C Address reassignment, default value: 0x00 */
0097 #define REG_PAGE_MHLSPEC_ADDR           0x0057
0098 #define REG_PAGE7_ADDR              0x0058
0099 #define REG_PAGE8_ADDR              0x005c
0100 
0101 /* Fast Interrupt Status, default value: 0x00 */
0102 #define REG_FAST_INTR_STAT          0x005f
0103 #define LEN_FAST_INTR_STAT          7
0104 #define BIT_FAST_INTR_STAT_TIMR         8
0105 #define BIT_FAST_INTR_STAT_INT2         9
0106 #define BIT_FAST_INTR_STAT_DDC          10
0107 #define BIT_FAST_INTR_STAT_SCDT         11
0108 #define BIT_FAST_INTR_STAT_INFR         13
0109 #define BIT_FAST_INTR_STAT_EDID         14
0110 #define BIT_FAST_INTR_STAT_HDCP         15
0111 #define BIT_FAST_INTR_STAT_MSC          16
0112 #define BIT_FAST_INTR_STAT_MERR         17
0113 #define BIT_FAST_INTR_STAT_G2WB         18
0114 #define BIT_FAST_INTR_STAT_G2WB_ERR     19
0115 #define BIT_FAST_INTR_STAT_DISC         28
0116 #define BIT_FAST_INTR_STAT_BLOCK        30
0117 #define BIT_FAST_INTR_STAT_LTRN         31
0118 #define BIT_FAST_INTR_STAT_HDCP2        32
0119 #define BIT_FAST_INTR_STAT_TDM          42
0120 #define BIT_FAST_INTR_STAT_COC          51
0121 
0122 /* GPIO Control, default value: 0x15 */
0123 #define REG_GPIO_CTRL1              0x006e
0124 #define BIT_CTRL1_GPIO_I_8          BIT(5)
0125 #define BIT_CTRL1_GPIO_OEN_8            BIT(4)
0126 #define BIT_CTRL1_GPIO_I_7          BIT(3)
0127 #define BIT_CTRL1_GPIO_OEN_7            BIT(2)
0128 #define BIT_CTRL1_GPIO_I_6          BIT(1)
0129 #define BIT_CTRL1_GPIO_OEN_6            BIT(0)
0130 
0131 /* Interrupt Control, default value: 0x06 */
0132 #define REG_INT_CTRL                0x006f
0133 #define BIT_INT_CTRL_SOFTWARE_WP        BIT(7)
0134 #define BIT_INT_CTRL_INTR_OD            BIT(2)
0135 #define BIT_INT_CTRL_INTR_POLARITY      BIT(1)
0136 
0137 /* Interrupt State, default value: 0x00 */
0138 #define REG_INTR_STATE              0x0070
0139 #define BIT_INTR_STATE_INTR_STATE       BIT(0)
0140 
0141 /* Interrupt Source #1, default value: 0x00 */
0142 #define REG_INTR1               0x0071
0143 
0144 /* Interrupt Source #2, default value: 0x00 */
0145 #define REG_INTR2               0x0072
0146 
0147 /* Interrupt Source #3, default value: 0x01 */
0148 #define REG_INTR3               0x0073
0149 #define BIT_DDC_CMD_DONE            BIT(3)
0150 
0151 /* Interrupt Source #5, default value: 0x00 */
0152 #define REG_INTR5               0x0074
0153 
0154 /* Interrupt #1 Mask, default value: 0x00 */
0155 #define REG_INTR1_MASK              0x0075
0156 
0157 /* Interrupt #2 Mask, default value: 0x00 */
0158 #define REG_INTR2_MASK              0x0076
0159 
0160 /* Interrupt #3 Mask, default value: 0x00 */
0161 #define REG_INTR3_MASK              0x0077
0162 
0163 /* Interrupt #5 Mask, default value: 0x00 */
0164 #define REG_INTR5_MASK              0x0078
0165 #define BIT_INTR_SCDT_CHANGE            BIT(0)
0166 
0167 /* Hot Plug Connection Control, default value: 0x45 */
0168 #define REG_HPD_CTRL                0x0079
0169 #define BIT_HPD_CTRL_HPD_DS_SIGNAL      BIT(7)
0170 #define BIT_HPD_CTRL_HPD_OUT_OD_EN      BIT(6)
0171 #define BIT_HPD_CTRL_HPD_HIGH           BIT(5)
0172 #define BIT_HPD_CTRL_HPD_OUT_OVR_EN     BIT(4)
0173 #define BIT_HPD_CTRL_GPIO_I_1           BIT(3)
0174 #define BIT_HPD_CTRL_GPIO_OEN_1         BIT(2)
0175 #define BIT_HPD_CTRL_GPIO_I_0           BIT(1)
0176 #define BIT_HPD_CTRL_GPIO_OEN_0         BIT(0)
0177 
0178 /* GPIO Control, default value: 0x55 */
0179 #define REG_GPIO_CTRL               0x007a
0180 #define BIT_CTRL_GPIO_I_5           BIT(7)
0181 #define BIT_CTRL_GPIO_OEN_5         BIT(6)
0182 #define BIT_CTRL_GPIO_I_4           BIT(5)
0183 #define BIT_CTRL_GPIO_OEN_4         BIT(4)
0184 #define BIT_CTRL_GPIO_I_3           BIT(3)
0185 #define BIT_CTRL_GPIO_OEN_3         BIT(2)
0186 #define BIT_CTRL_GPIO_I_2           BIT(1)
0187 #define BIT_CTRL_GPIO_OEN_2         BIT(0)
0188 
0189 /* Interrupt Source 7, default value: 0x00 */
0190 #define REG_INTR7               0x007b
0191 
0192 /* Interrupt Source 8, default value: 0x00 */
0193 #define REG_INTR8               0x007c
0194 
0195 /* Interrupt #7 Mask, default value: 0x00 */
0196 #define REG_INTR7_MASK              0x007d
0197 
0198 /* Interrupt #8 Mask, default value: 0x00 */
0199 #define REG_INTR8_MASK              0x007e
0200 #define BIT_CEA_NEW_VSI             BIT(2)
0201 #define BIT_CEA_NEW_AVI             BIT(1)
0202 
0203 /* IEEE, default value: 0x10 */
0204 #define REG_TMDS_CCTRL              0x0080
0205 #define BIT_TMDS_CCTRL_TMDS_OE          BIT(4)
0206 
0207 /* TMDS Control #4, default value: 0x02 */
0208 #define REG_TMDS_CTRL4              0x0085
0209 #define BIT_TMDS_CTRL4_SCDT_CKDT_SEL        BIT(1)
0210 #define BIT_TMDS_CTRL4_TX_EN_BY_SCDT        BIT(0)
0211 
0212 /* BIST CNTL, default value: 0x00 */
0213 #define REG_BIST_CTRL               0x00bb
0214 #define BIT_RXBIST_VGB_EN           BIT(7)
0215 #define BIT_TXBIST_VGB_EN           BIT(6)
0216 #define BIT_BIST_START_SEL          BIT(5)
0217 #define BIT_BIST_START_BIT          BIT(4)
0218 #define BIT_BIST_ALWAYS_ON          BIT(3)
0219 #define BIT_BIST_TRANS              BIT(2)
0220 #define BIT_BIST_RESET              BIT(1)
0221 #define BIT_BIST_EN             BIT(0)
0222 
0223 /* BIST DURATION0, default value: 0x00 */
0224 #define REG_BIST_TEST_SEL           0x00bd
0225 #define MSK_BIST_TEST_SEL_BIST_PATT_SEL     0x0f
0226 
0227 /* BIST VIDEO_MODE, default value: 0x00 */
0228 #define REG_BIST_VIDEO_MODE         0x00be
0229 #define MSK_BIST_VIDEO_MODE_BIST_VIDEO_MODE_3_0 0x0f
0230 
0231 /* BIST DURATION0, default value: 0x00 */
0232 #define REG_BIST_DURATION_0         0x00bf
0233 
0234 /* BIST DURATION1, default value: 0x00 */
0235 #define REG_BIST_DURATION_1         0x00c0
0236 
0237 /* BIST DURATION2, default value: 0x00 */
0238 #define REG_BIST_DURATION_2         0x00c1
0239 
0240 /* BIST 8BIT_PATTERN, default value: 0x00 */
0241 #define REG_BIST_8BIT_PATTERN           0x00c2
0242 
0243 /* LM DDC, default value: 0x80 */
0244 #define REG_LM_DDC              0x00c7
0245 #define BIT_LM_DDC_SW_TPI_EN_DISABLED       BIT(7)
0246 
0247 #define BIT_LM_DDC_VIDEO_MUTE_EN        BIT(5)
0248 #define BIT_LM_DDC_DDC_TPI_SW           BIT(2)
0249 #define BIT_LM_DDC_DDC_GRANT            BIT(1)
0250 #define BIT_LM_DDC_DDC_GPU_REQUEST      BIT(0)
0251 
0252 /* DDC I2C Manual, default value: 0x03 */
0253 #define REG_DDC_MANUAL              0x00ec
0254 #define BIT_DDC_MANUAL_MAN_DDC          BIT(7)
0255 #define BIT_DDC_MANUAL_VP_SEL           BIT(6)
0256 #define BIT_DDC_MANUAL_DSDA         BIT(5)
0257 #define BIT_DDC_MANUAL_DSCL         BIT(4)
0258 #define BIT_DDC_MANUAL_GCP_HW_CTL_EN        BIT(3)
0259 #define BIT_DDC_MANUAL_DDCM_ABORT_WP        BIT(2)
0260 #define BIT_DDC_MANUAL_IO_DSDA          BIT(1)
0261 #define BIT_DDC_MANUAL_IO_DSCL          BIT(0)
0262 
0263 /* DDC I2C Target Slave Address, default value: 0x00 */
0264 #define REG_DDC_ADDR                0x00ed
0265 #define MSK_DDC_ADDR_DDC_ADDR           0xfe
0266 
0267 /* DDC I2C Target Segment Address, default value: 0x00 */
0268 #define REG_DDC_SEGM                0x00ee
0269 
0270 /* DDC I2C Target Offset Address, default value: 0x00 */
0271 #define REG_DDC_OFFSET              0x00ef
0272 
0273 /* DDC I2C Data In count #1, default value: 0x00 */
0274 #define REG_DDC_DIN_CNT1            0x00f0
0275 
0276 /* DDC I2C Data In count #2, default value: 0x00 */
0277 #define REG_DDC_DIN_CNT2            0x00f1
0278 #define MSK_DDC_DIN_CNT2_DDC_DIN_CNT_9_8    0x03
0279 
0280 /* DDC I2C Status, default value: 0x04 */
0281 #define REG_DDC_STATUS              0x00f2
0282 #define BIT_DDC_STATUS_DDC_BUS_LOW      BIT(6)
0283 #define BIT_DDC_STATUS_DDC_NO_ACK       BIT(5)
0284 #define BIT_DDC_STATUS_DDC_I2C_IN_PROG      BIT(4)
0285 #define BIT_DDC_STATUS_DDC_FIFO_FULL        BIT(3)
0286 #define BIT_DDC_STATUS_DDC_FIFO_EMPTY       BIT(2)
0287 #define BIT_DDC_STATUS_DDC_FIFO_READ_IN_SUE BIT(1)
0288 #define BIT_DDC_STATUS_DDC_FIFO_WRITE_IN_USE    BIT(0)
0289 
0290 /* DDC I2C Command, default value: 0x70 */
0291 #define REG_DDC_CMD             0x00f3
0292 #define BIT_DDC_CMD_HDCP_DDC_EN         BIT(6)
0293 #define BIT_DDC_CMD_SDA_DEL_EN          BIT(5)
0294 #define BIT_DDC_CMD_DDC_FLT_EN          BIT(4)
0295 
0296 #define MSK_DDC_CMD_DDC_CMD         0x0f
0297 #define VAL_DDC_CMD_ENH_DDC_READ_NO_ACK     0x04
0298 #define VAL_DDC_CMD_DDC_CMD_CLEAR_FIFO      0x09
0299 #define VAL_DDC_CMD_DDC_CMD_ABORT       0x0f
0300 
0301 /* DDC I2C FIFO Data In/Out, default value: 0x00 */
0302 #define REG_DDC_DATA                0x00f4
0303 
0304 /* DDC I2C Data Out Counter, default value: 0x00 */
0305 #define REG_DDC_DOUT_CNT            0x00f5
0306 #define BIT_DDC_DOUT_CNT_DDC_DELAY_CNT_8    BIT(7)
0307 #define MSK_DDC_DOUT_CNT_DDC_DATA_OUT_CNT   0x1f
0308 
0309 /* DDC I2C Delay Count, default value: 0x14 */
0310 #define REG_DDC_DELAY_CNT           0x00f6
0311 
0312 /* Test Control, default value: 0x80 */
0313 #define REG_TEST_TXCTRL             0x00f7
0314 #define BIT_TEST_TXCTRL_RCLK_REF_SEL        BIT(7)
0315 #define BIT_TEST_TXCTRL_PCLK_REF_SEL        BIT(6)
0316 #define MSK_TEST_TXCTRL_BYPASS_PLL_CLK      0x3c
0317 #define BIT_TEST_TXCTRL_HDMI_MODE       BIT(1)
0318 #define BIT_TEST_TXCTRL_TST_PLLCK       BIT(0)
0319 
0320 /* CBUS Address, default value: 0x00 */
0321 #define REG_PAGE_CBUS_ADDR          0x00f8
0322 
0323 /* I2C Device Address re-assignment */
0324 #define REG_PAGE1_ADDR              0x00fc
0325 #define REG_PAGE2_ADDR              0x00fd
0326 #define REG_PAGE3_ADDR              0x00fe
0327 #define REG_HW_TPI_ADDR             0x00ff
0328 
0329 /* USBT CTRL0, default value: 0x00 */
0330 #define REG_UTSRST              0x0100
0331 #define BIT_UTSRST_FC_SRST          BIT(5)
0332 #define BIT_UTSRST_KEEPER_SRST          BIT(4)
0333 #define BIT_UTSRST_HTX_SRST         BIT(3)
0334 #define BIT_UTSRST_TRX_SRST         BIT(2)
0335 #define BIT_UTSRST_TTX_SRST         BIT(1)
0336 #define BIT_UTSRST_HRX_SRST         BIT(0)
0337 
0338 /* HSIC RX Control3, default value: 0x07 */
0339 #define REG_HRXCTRL3                0x0104
0340 #define MSK_HRXCTRL3_HRX_AFFCTRL        0xf0
0341 #define BIT_HRXCTRL3_HRX_OUT_EN         BIT(2)
0342 #define BIT_HRXCTRL3_STATUS_EN          BIT(1)
0343 #define BIT_HRXCTRL3_HRX_STAY_RESET     BIT(0)
0344 
0345 /* HSIC RX INT Registers */
0346 #define REG_HRXINTL             0x0111
0347 #define REG_HRXINTH             0x0112
0348 
0349 /* TDM TX NUMBITS, default value: 0x0c */
0350 #define REG_TTXNUMB             0x0116
0351 #define MSK_TTXNUMB_TTX_AFFCTRL_3_0     0xf0
0352 #define BIT_TTXNUMB_TTX_COM1_AT_SYNC_WAIT   BIT(3)
0353 #define MSK_TTXNUMB_TTX_NUMBPS          0x07
0354 
0355 /* TDM TX NUMSPISYM, default value: 0x04 */
0356 #define REG_TTXSPINUMS              0x0117
0357 
0358 /* TDM TX NUMHSICSYM, default value: 0x14 */
0359 #define REG_TTXHSICNUMS             0x0118
0360 
0361 /* TDM TX NUMTOTSYM, default value: 0x18 */
0362 #define REG_TTXTOTNUMS              0x0119
0363 
0364 /* TDM TX INT Low, default value: 0x00 */
0365 #define REG_TTXINTL             0x0136
0366 #define BIT_TTXINTL_TTX_INTR7           BIT(7)
0367 #define BIT_TTXINTL_TTX_INTR6           BIT(6)
0368 #define BIT_TTXINTL_TTX_INTR5           BIT(5)
0369 #define BIT_TTXINTL_TTX_INTR4           BIT(4)
0370 #define BIT_TTXINTL_TTX_INTR3           BIT(3)
0371 #define BIT_TTXINTL_TTX_INTR2           BIT(2)
0372 #define BIT_TTXINTL_TTX_INTR1           BIT(1)
0373 #define BIT_TTXINTL_TTX_INTR0           BIT(0)
0374 
0375 /* TDM TX INT High, default value: 0x00 */
0376 #define REG_TTXINTH             0x0137
0377 #define BIT_TTXINTH_TTX_INTR15          BIT(7)
0378 #define BIT_TTXINTH_TTX_INTR14          BIT(6)
0379 #define BIT_TTXINTH_TTX_INTR13          BIT(5)
0380 #define BIT_TTXINTH_TTX_INTR12          BIT(4)
0381 #define BIT_TTXINTH_TTX_INTR11          BIT(3)
0382 #define BIT_TTXINTH_TTX_INTR10          BIT(2)
0383 #define BIT_TTXINTH_TTX_INTR9           BIT(1)
0384 #define BIT_TTXINTH_TTX_INTR8           BIT(0)
0385 
0386 /* TDM RX Control, default value: 0x1c */
0387 #define REG_TRXCTRL             0x013b
0388 #define BIT_TRXCTRL_TRX_CLR_WVALLOW     BIT(4)
0389 #define BIT_TRXCTRL_TRX_FROM_SE_COC     BIT(3)
0390 #define MSK_TRXCTRL_TRX_NUMBPS_2_0      0x07
0391 
0392 /* TDM RX NUMSPISYM, default value: 0x04 */
0393 #define REG_TRXSPINUMS              0x013c
0394 
0395 /* TDM RX NUMHSICSYM, default value: 0x14 */
0396 #define REG_TRXHSICNUMS             0x013d
0397 
0398 /* TDM RX NUMTOTSYM, default value: 0x18 */
0399 #define REG_TRXTOTNUMS              0x013e
0400 
0401 /* TDM RX Status 2nd, default value: 0x00 */
0402 #define REG_TRXSTA2             0x015c
0403 #define MSK_TDM_SYNCHRONIZED            0xc0
0404 #define VAL_TDM_SYNCHRONIZED            0x80
0405 
0406 /* TDM RX INT Low, default value: 0x00 */
0407 #define REG_TRXINTL             0x0163
0408 
0409 /* TDM RX INT High, default value: 0x00 */
0410 #define REG_TRXINTH             0x0164
0411 #define BIT_TDM_INTR_SYNC_DATA          BIT(0)
0412 #define BIT_TDM_INTR_SYNC_WAIT          BIT(1)
0413 
0414 /* TDM RX INTMASK High, default value: 0x00 */
0415 #define REG_TRXINTMH                0x0166
0416 
0417 /* HSIC TX CRTL, default value: 0x00 */
0418 #define REG_HTXCTRL             0x0169
0419 #define BIT_HTXCTRL_HTX_ALLSBE_SOP      BIT(4)
0420 #define BIT_HTXCTRL_HTX_RGDINV_USB      BIT(3)
0421 #define BIT_HTXCTRL_HTX_RSPTDM_BUSY     BIT(2)
0422 #define BIT_HTXCTRL_HTX_DRVCONN1        BIT(1)
0423 #define BIT_HTXCTRL_HTX_DRVRST1         BIT(0)
0424 
0425 /* HSIC TX INT Low, default value: 0x00 */
0426 #define REG_HTXINTL             0x017d
0427 
0428 /* HSIC TX INT High, default value: 0x00 */
0429 #define REG_HTXINTH             0x017e
0430 
0431 /* HSIC Keeper, default value: 0x00 */
0432 #define REG_KEEPER              0x0181
0433 #define MSK_KEEPER_MODE             0x03
0434 #define VAL_KEEPER_MODE_HOST            0
0435 #define VAL_KEEPER_MODE_DEVICE          2
0436 
0437 /* HSIC Flow Control General, default value: 0x02 */
0438 #define REG_FCGC                0x0183
0439 #define BIT_FCGC_HSIC_HOSTMODE          BIT(1)
0440 #define BIT_FCGC_HSIC_ENABLE            BIT(0)
0441 
0442 /* HSIC Flow Control CTR13, default value: 0xfc */
0443 #define REG_FCCTR13             0x0191
0444 
0445 /* HSIC Flow Control CTR14, default value: 0xff */
0446 #define REG_FCCTR14             0x0192
0447 
0448 /* HSIC Flow Control CTR15, default value: 0xff */
0449 #define REG_FCCTR15             0x0193
0450 
0451 /* HSIC Flow Control CTR50, default value: 0x03 */
0452 #define REG_FCCTR50             0x01b6
0453 
0454 /* HSIC Flow Control INTR0, default value: 0x00 */
0455 #define REG_FCINTR0             0x01ec
0456 #define REG_FCINTR1             0x01ed
0457 #define REG_FCINTR2             0x01ee
0458 #define REG_FCINTR3             0x01ef
0459 #define REG_FCINTR4             0x01f0
0460 #define REG_FCINTR5             0x01f1
0461 #define REG_FCINTR6             0x01f2
0462 #define REG_FCINTR7             0x01f3
0463 
0464 /* TDM Low Latency, default value: 0x20 */
0465 #define REG_TDMLLCTL                0x01fc
0466 #define MSK_TDMLLCTL_TRX_LL_SEL_MANUAL      0xc0
0467 #define MSK_TDMLLCTL_TRX_LL_SEL_MODE        0x30
0468 #define MSK_TDMLLCTL_TTX_LL_SEL_MANUAL      0x0c
0469 #define BIT_TDMLLCTL_TTX_LL_TIE_LOW     BIT(1)
0470 #define BIT_TDMLLCTL_TTX_LL_SEL_MODE        BIT(0)
0471 
0472 /* TMDS 0 Clock Control, default value: 0x10 */
0473 #define REG_TMDS0_CCTRL1            0x0210
0474 #define MSK_TMDS0_CCTRL1_TEST_SEL       0xc0
0475 #define MSK_TMDS0_CCTRL1_CLK1X_CTL      0x30
0476 
0477 /* TMDS Clock Enable, default value: 0x00 */
0478 #define REG_TMDS_CLK_EN             0x0211
0479 #define BIT_TMDS_CLK_EN_CLK_EN          BIT(0)
0480 
0481 /* TMDS Channel Enable, default value: 0x00 */
0482 #define REG_TMDS_CH_EN              0x0212
0483 #define BIT_TMDS_CH_EN_CH0_EN           BIT(4)
0484 #define BIT_TMDS_CH_EN_CH12_EN          BIT(0)
0485 
0486 /* BGR_BIAS, default value: 0x07 */
0487 #define REG_BGR_BIAS                0x0215
0488 #define BIT_BGR_BIAS_BGR_EN         BIT(7)
0489 #define MSK_BGR_BIAS_BIAS_BGR_D         0x0f
0490 
0491 /* TMDS 0 Digital I2C BW, default value: 0x0a */
0492 #define REG_ALICE0_BW_I2C           0x0231
0493 
0494 /* TMDS 0 Digital Zone Control, default value: 0xe0 */
0495 #define REG_ALICE0_ZONE_CTRL            0x024c
0496 #define BIT_ALICE0_ZONE_CTRL_ICRST_N        BIT(7)
0497 #define BIT_ALICE0_ZONE_CTRL_USE_INT_DIV20  BIT(6)
0498 #define MSK_ALICE0_ZONE_CTRL_SZONE_I2C      0x30
0499 #define MSK_ALICE0_ZONE_CTRL_ZONE_CTRL      0x0f
0500 
0501 /* TMDS 0 Digital PLL Mode Control, default value: 0x00 */
0502 #define REG_ALICE0_MODE_CTRL            0x024d
0503 #define MSK_ALICE0_MODE_CTRL_PLL_MODE_I2C   0x0c
0504 #define MSK_ALICE0_MODE_CTRL_DIV20_CTRL     0x03
0505 
0506 /* MHL Tx Control 6th, default value: 0xa0 */
0507 #define REG_MHLTX_CTL6              0x0285
0508 #define MSK_MHLTX_CTL6_EMI_SEL          0xe0
0509 #define MSK_MHLTX_CTL6_TX_CLK_SHAPE_9_8     0x03
0510 
0511 /* Packet Filter0, default value: 0x00 */
0512 #define REG_PKT_FILTER_0            0x0290
0513 #define BIT_PKT_FILTER_0_DROP_CEA_GAMUT_PKT BIT(7)
0514 #define BIT_PKT_FILTER_0_DROP_CEA_CP_PKT    BIT(6)
0515 #define BIT_PKT_FILTER_0_DROP_MPEG_PKT      BIT(5)
0516 #define BIT_PKT_FILTER_0_DROP_SPIF_PKT      BIT(4)
0517 #define BIT_PKT_FILTER_0_DROP_AIF_PKT       BIT(3)
0518 #define BIT_PKT_FILTER_0_DROP_AVI_PKT       BIT(2)
0519 #define BIT_PKT_FILTER_0_DROP_CTS_PKT       BIT(1)
0520 #define BIT_PKT_FILTER_0_DROP_GCP_PKT       BIT(0)
0521 
0522 /* Packet Filter1, default value: 0x00 */
0523 #define REG_PKT_FILTER_1            0x0291
0524 #define BIT_PKT_FILTER_1_VSI_OVERRIDE_DIS   BIT(7)
0525 #define BIT_PKT_FILTER_1_AVI_OVERRIDE_DIS   BIT(6)
0526 #define BIT_PKT_FILTER_1_DROP_AUDIO_PKT     BIT(3)
0527 #define BIT_PKT_FILTER_1_DROP_GEN2_PKT      BIT(2)
0528 #define BIT_PKT_FILTER_1_DROP_GEN_PKT       BIT(1)
0529 #define BIT_PKT_FILTER_1_DROP_VSIF_PKT      BIT(0)
0530 
0531 /* TMDS Clock Status, default value: 0x10 */
0532 #define REG_TMDS_CSTAT_P3           0x02a0
0533 #define BIT_TMDS_CSTAT_P3_RX_HDMI_CP_CLR_MUTE   BIT(7)
0534 #define BIT_TMDS_CSTAT_P3_RX_HDMI_CP_SET_MUTE   BIT(6)
0535 #define BIT_TMDS_CSTAT_P3_RX_HDMI_CP_NEW_CP BIT(5)
0536 #define BIT_TMDS_CSTAT_P3_CLR_AVI       BIT(3)
0537 #define BIT_TMDS_CSTAT_P3_SCDT_CLR_AVI_DIS  BIT(2)
0538 #define BIT_TMDS_CSTAT_P3_SCDT          BIT(1)
0539 #define BIT_TMDS_CSTAT_P3_CKDT          BIT(0)
0540 
0541 /* RX_HDMI Control, default value: 0x10 */
0542 #define REG_RX_HDMI_CTRL0           0x02a1
0543 #define BIT_RX_HDMI_CTRL0_BYP_DVIFILT_SYNC  BIT(5)
0544 #define BIT_RX_HDMI_CTRL0_HDMI_MODE_EN_ITSELF_CLR BIT(4)
0545 #define BIT_RX_HDMI_CTRL0_HDMI_MODE_SW_VALUE    BIT(3)
0546 #define BIT_RX_HDMI_CTRL0_HDMI_MODE_OVERWRITE   BIT(2)
0547 #define BIT_RX_HDMI_CTRL0_RX_HDMI_HDMI_MODE_EN  BIT(1)
0548 #define BIT_RX_HDMI_CTRL0_RX_HDMI_HDMI_MODE BIT(0)
0549 
0550 /* RX_HDMI Control, default value: 0x38 */
0551 #define REG_RX_HDMI_CTRL2           0x02a3
0552 #define MSK_RX_HDMI_CTRL2_IDLE_CNT      0xf0
0553 #define VAL_RX_HDMI_CTRL2_IDLE_CNT(n)       ((n) << 4)
0554 #define BIT_RX_HDMI_CTRL2_USE_AV_MUTE       BIT(3)
0555 #define BIT_RX_HDMI_CTRL2_VSI_MON_SEL_VSI   BIT(0)
0556 
0557 /* RX_HDMI Control, default value: 0x0f */
0558 #define REG_RX_HDMI_CTRL3           0x02a4
0559 #define MSK_RX_HDMI_CTRL3_PP_MODE_CLK_EN    0x0f
0560 
0561 /* rx_hdmi Clear Buffer, default value: 0x00 */
0562 #define REG_RX_HDMI_CLR_BUFFER          0x02ac
0563 #define MSK_RX_HDMI_CLR_BUFFER_AIF4VSI_CMP  0xc0
0564 #define BIT_RX_HDMI_CLR_BUFFER_USE_AIF4VSI  BIT(5)
0565 #define BIT_RX_HDMI_CLR_BUFFER_VSI_CLR_W_AVI    BIT(4)
0566 #define BIT_RX_HDMI_CLR_BUFFER_VSI_IEEE_ID_CHK_EN BIT(3)
0567 #define BIT_RX_HDMI_CLR_BUFFER_SWAP_VSI_IEEE_ID BIT(2)
0568 #define BIT_RX_HDMI_CLR_BUFFER_AIF_CLR_EN   BIT(1)
0569 #define BIT_RX_HDMI_CLR_BUFFER_VSI_CLR_EN   BIT(0)
0570 
0571 /* RX_HDMI VSI Header1, default value: 0x00 */
0572 #define REG_RX_HDMI_MON_PKT_HEADER1     0x02b8
0573 
0574 /* RX_HDMI VSI MHL Monitor, default value: 0x3c */
0575 #define REG_RX_HDMI_VSIF_MHL_MON        0x02d7
0576 
0577 #define MSK_RX_HDMI_VSIF_MHL_MON_RX_HDMI_MHL_3D_FORMAT 0x3c
0578 #define MSK_RX_HDMI_VSIF_MHL_MON_RX_HDMI_MHL_VID_FORMAT 0x03
0579 
0580 /* Interrupt Source 9, default value: 0x00 */
0581 #define REG_INTR9               0x02e0
0582 #define BIT_INTR9_EDID_ERROR            BIT(6)
0583 #define BIT_INTR9_EDID_DONE         BIT(5)
0584 #define BIT_INTR9_DEVCAP_DONE           BIT(4)
0585 
0586 /* Interrupt 9 Mask, default value: 0x00 */
0587 #define REG_INTR9_MASK              0x02e1
0588 
0589 /* TPI CBUS Start, default value: 0x00 */
0590 #define REG_TPI_CBUS_START          0x02e2
0591 #define BIT_TPI_CBUS_START_RCP_REQ_START    BIT(7)
0592 #define BIT_TPI_CBUS_START_RCPK_REPLY_START BIT(6)
0593 #define BIT_TPI_CBUS_START_RCPE_REPLY_START BIT(5)
0594 #define BIT_TPI_CBUS_START_PUT_LINK_MODE_START  BIT(4)
0595 #define BIT_TPI_CBUS_START_PUT_DCAPCHG_START    BIT(3)
0596 #define BIT_TPI_CBUS_START_PUT_DCAPRDY_START    BIT(2)
0597 #define BIT_TPI_CBUS_START_GET_EDID_START_0 BIT(1)
0598 #define BIT_TPI_CBUS_START_GET_DEVCAP_START BIT(0)
0599 
0600 /* EDID Control, default value: 0x10 */
0601 #define REG_EDID_CTRL               0x02e3
0602 #define BIT_EDID_CTRL_EDID_PRIME_VALID      BIT(7)
0603 #define BIT_EDID_CTRL_XDEVCAP_EN        BIT(6)
0604 #define BIT_EDID_CTRL_DEVCAP_SELECT_DEVCAP  BIT(5)
0605 #define BIT_EDID_CTRL_EDID_FIFO_ADDR_AUTO   BIT(4)
0606 #define BIT_EDID_CTRL_EDID_FIFO_ACCESS_ALWAYS_EN BIT(3)
0607 #define BIT_EDID_CTRL_EDID_FIFO_BLOCK_SEL   BIT(2)
0608 #define BIT_EDID_CTRL_INVALID_BKSV      BIT(1)
0609 #define BIT_EDID_CTRL_EDID_MODE_EN      BIT(0)
0610 
0611 /* EDID FIFO Addr, default value: 0x00 */
0612 #define REG_EDID_FIFO_ADDR          0x02e9
0613 
0614 /* EDID FIFO Write Data, default value: 0x00 */
0615 #define REG_EDID_FIFO_WR_DATA           0x02ea
0616 
0617 /* EDID/DEVCAP FIFO Internal Addr, default value: 0x00 */
0618 #define REG_EDID_FIFO_ADDR_MON          0x02eb
0619 
0620 /* EDID FIFO Read Data, default value: 0x00 */
0621 #define REG_EDID_FIFO_RD_DATA           0x02ec
0622 
0623 /* EDID DDC Segment Pointer, default value: 0x00 */
0624 #define REG_EDID_START_EXT          0x02ed
0625 
0626 /* TX IP BIST CNTL and Status, default value: 0x00 */
0627 #define REG_TX_IP_BIST_CNTLSTA          0x02f2
0628 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_QUARTER_CLK_SEL BIT(6)
0629 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_DONE  BIT(5)
0630 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_ON    BIT(4)
0631 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_RUN   BIT(3)
0632 #define BIT_TX_IP_BIST_CNTLSTA_TXCLK_HALF_SEL   BIT(2)
0633 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_EN    BIT(1)
0634 #define BIT_TX_IP_BIST_CNTLSTA_TXBIST_SEL   BIT(0)
0635 
0636 /* TX IP BIST INST LOW, default value: 0x00 */
0637 #define REG_TX_IP_BIST_INST_LOW         0x02f3
0638 #define REG_TX_IP_BIST_INST_HIGH        0x02f4
0639 
0640 /* TX IP BIST PATTERN LOW, default value: 0x00 */
0641 #define REG_TX_IP_BIST_PAT_LOW          0x02f5
0642 #define REG_TX_IP_BIST_PAT_HIGH         0x02f6
0643 
0644 /* TX IP BIST CONFIGURE LOW, default value: 0x00 */
0645 #define REG_TX_IP_BIST_CONF_LOW         0x02f7
0646 #define REG_TX_IP_BIST_CONF_HIGH        0x02f8
0647 
0648 /* E-MSC General Control, default value: 0x80 */
0649 #define REG_GENCTL              0x0300
0650 #define BIT_GENCTL_SPEC_TRANS_DIS       BIT(7)
0651 #define BIT_GENCTL_DIS_XMIT_ERR_STATE       BIT(6)
0652 #define BIT_GENCTL_SPI_MISO_EDGE        BIT(5)
0653 #define BIT_GENCTL_SPI_MOSI_EDGE        BIT(4)
0654 #define BIT_GENCTL_CLR_EMSC_RFIFO       BIT(3)
0655 #define BIT_GENCTL_CLR_EMSC_XFIFO       BIT(2)
0656 #define BIT_GENCTL_START_TRAIN_SEQ      BIT(1)
0657 #define BIT_GENCTL_EMSC_EN          BIT(0)
0658 
0659 /* E-MSC Comma ErrorCNT, default value: 0x03 */
0660 #define REG_COMMECNT                0x0305
0661 #define BIT_COMMECNT_I2C_TO_EMSC_EN     BIT(7)
0662 #define MSK_COMMECNT_COMMA_CHAR_ERR_CNT     0x0f
0663 
0664 /* E-MSC RFIFO ByteCnt, default value: 0x00 */
0665 #define REG_EMSCRFIFOBCNTL          0x031a
0666 #define REG_EMSCRFIFOBCNTH          0x031b
0667 
0668 /* SPI Burst Cnt Status, default value: 0x00 */
0669 #define REG_SPIBURSTCNT             0x031e
0670 
0671 /* SPI Burst Status and SWRST, default value: 0x00 */
0672 #define REG_SPIBURSTSTAT            0x0322
0673 #define BIT_SPIBURSTSTAT_SPI_HDCPRST        BIT(7)
0674 #define BIT_SPIBURSTSTAT_SPI_CBUSRST        BIT(6)
0675 #define BIT_SPIBURSTSTAT_SPI_SRST       BIT(5)
0676 #define BIT_SPIBURSTSTAT_EMSC_NORMAL_MODE   BIT(0)
0677 
0678 /* E-MSC 1st Interrupt, default value: 0x00 */
0679 #define REG_EMSCINTR                0x0323
0680 #define BIT_EMSCINTR_EMSC_XFIFO_EMPTY       BIT(7)
0681 #define BIT_EMSCINTR_EMSC_XMIT_ACK_TOUT     BIT(6)
0682 #define BIT_EMSCINTR_EMSC_RFIFO_READ_ERR    BIT(5)
0683 #define BIT_EMSCINTR_EMSC_XFIFO_WRITE_ERR   BIT(4)
0684 #define BIT_EMSCINTR_EMSC_COMMA_CHAR_ERR    BIT(3)
0685 #define BIT_EMSCINTR_EMSC_XMIT_DONE     BIT(2)
0686 #define BIT_EMSCINTR_EMSC_XMIT_GNT_TOUT     BIT(1)
0687 #define BIT_EMSCINTR_SPI_DVLD       BIT(0)
0688 
0689 /* E-MSC Interrupt Mask, default value: 0x00 */
0690 #define REG_EMSCINTRMASK            0x0324
0691 
0692 /* I2C E-MSC XMIT FIFO Write Port, default value: 0x00 */
0693 #define REG_EMSC_XMIT_WRITE_PORT        0x032a
0694 
0695 /* I2C E-MSC RCV FIFO Write Port, default value: 0x00 */
0696 #define REG_EMSC_RCV_READ_PORT          0x032b
0697 
0698 /* E-MSC 2nd Interrupt, default value: 0x00 */
0699 #define REG_EMSCINTR1               0x032c
0700 #define BIT_EMSCINTR1_EMSC_TRAINING_COMMA_ERR   BIT(0)
0701 
0702 /* E-MSC Interrupt Mask, default value: 0x00 */
0703 #define REG_EMSCINTRMASK1           0x032d
0704 #define BIT_EMSCINTRMASK1_EMSC_INTRMASK1_0  BIT(0)
0705 
0706 /* MHL Top Ctl, default value: 0x00 */
0707 #define REG_MHL_TOP_CTL             0x0330
0708 #define BIT_MHL_TOP_CTL_MHL3_DOC_SEL        BIT(7)
0709 #define BIT_MHL_TOP_CTL_MHL_PP_SEL      BIT(6)
0710 #define MSK_MHL_TOP_CTL_IF_TIMING_CTL       0x03
0711 
0712 /* MHL DataPath 1st Ctl, default value: 0xbc */
0713 #define REG_MHL_DP_CTL0             0x0331
0714 #define BIT_MHL_DP_CTL0_DP_OE           BIT(7)
0715 #define BIT_MHL_DP_CTL0_TX_OE_OVR       BIT(6)
0716 #define MSK_MHL_DP_CTL0_TX_OE           0x3f
0717 
0718 /* MHL DataPath 2nd Ctl, default value: 0xbb */
0719 #define REG_MHL_DP_CTL1             0x0332
0720 #define MSK_MHL_DP_CTL1_CK_SWING_CTL        0xf0
0721 #define MSK_MHL_DP_CTL1_DT_SWING_CTL        0x0f
0722 
0723 /* MHL DataPath 3rd Ctl, default value: 0x2f */
0724 #define REG_MHL_DP_CTL2             0x0333
0725 #define BIT_MHL_DP_CTL2_CLK_BYPASS_EN       BIT(7)
0726 #define MSK_MHL_DP_CTL2_DAMP_TERM_SEL       0x30
0727 #define MSK_MHL_DP_CTL2_CK_TERM_SEL     0x0c
0728 #define MSK_MHL_DP_CTL2_DT_TERM_SEL     0x03
0729 
0730 /* MHL DataPath 4th Ctl, default value: 0x48 */
0731 #define REG_MHL_DP_CTL3             0x0334
0732 #define MSK_MHL_DP_CTL3_DT_DRV_VNBC_CTL     0xf0
0733 #define MSK_MHL_DP_CTL3_DT_DRV_VNB_CTL      0x0f
0734 
0735 /* MHL DataPath 5th Ctl, default value: 0x48 */
0736 #define REG_MHL_DP_CTL4             0x0335
0737 #define MSK_MHL_DP_CTL4_CK_DRV_VNBC_CTL     0xf0
0738 #define MSK_MHL_DP_CTL4_CK_DRV_VNB_CTL      0x0f
0739 
0740 /* MHL DataPath 6th Ctl, default value: 0x3f */
0741 #define REG_MHL_DP_CTL5             0x0336
0742 #define BIT_MHL_DP_CTL5_RSEN_EN_OVR     BIT(7)
0743 #define BIT_MHL_DP_CTL5_RSEN_EN         BIT(6)
0744 #define MSK_MHL_DP_CTL5_DAMP_TERM_VGS_CTL   0x30
0745 #define MSK_MHL_DP_CTL5_CK_TERM_VGS_CTL     0x0c
0746 #define MSK_MHL_DP_CTL5_DT_TERM_VGS_CTL     0x03
0747 
0748 /* MHL PLL 1st Ctl, default value: 0x05 */
0749 #define REG_MHL_PLL_CTL0            0x0337
0750 #define BIT_MHL_PLL_CTL0_AUD_CLK_EN     BIT(7)
0751 
0752 #define MSK_MHL_PLL_CTL0_AUD_CLK_RATIO      0x70
0753 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_10 0x70
0754 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_6  0x60
0755 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_4  0x50
0756 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_2  0x40
0757 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_5  0x30
0758 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_3  0x20
0759 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_2_PRIME 0x10
0760 #define VAL_MHL_PLL_CTL0_AUD_CLK_RATIO_5_1  0x00
0761 
0762 #define MSK_MHL_PLL_CTL0_HDMI_CLK_RATIO     0x0c
0763 #define VAL_MHL_PLL_CTL0_HDMI_CLK_RATIO_4X  0x0c
0764 #define VAL_MHL_PLL_CTL0_HDMI_CLK_RATIO_2X  0x08
0765 #define VAL_MHL_PLL_CTL0_HDMI_CLK_RATIO_1X  0x04
0766 #define VAL_MHL_PLL_CTL0_HDMI_CLK_RATIO_HALF_X  0x00
0767 
0768 #define BIT_MHL_PLL_CTL0_CRYSTAL_CLK_SEL    BIT(1)
0769 #define BIT_MHL_PLL_CTL0_ZONE_MASK_OE       BIT(0)
0770 
0771 /* MHL PLL 3rd Ctl, default value: 0x80 */
0772 #define REG_MHL_PLL_CTL2            0x0339
0773 #define BIT_MHL_PLL_CTL2_CLKDETECT_EN       BIT(7)
0774 #define BIT_MHL_PLL_CTL2_MEAS_FVCO      BIT(3)
0775 #define BIT_MHL_PLL_CTL2_PLL_FAST_LOCK      BIT(2)
0776 #define MSK_MHL_PLL_CTL2_PLL_LF_SEL     0x03
0777 
0778 /* MHL CBUS 1st Ctl, default value: 0x12 */
0779 #define REG_MHL_CBUS_CTL0           0x0340
0780 #define BIT_MHL_CBUS_CTL0_CBUS_RGND_TEST_MODE   BIT(7)
0781 
0782 #define MSK_MHL_CBUS_CTL0_CBUS_RGND_VTH_CTL 0x30
0783 #define VAL_MHL_CBUS_CTL0_CBUS_RGND_VBIAS_734   0x00
0784 #define VAL_MHL_CBUS_CTL0_CBUS_RGND_VBIAS_747   0x10
0785 #define VAL_MHL_CBUS_CTL0_CBUS_RGND_VBIAS_740   0x20
0786 #define VAL_MHL_CBUS_CTL0_CBUS_RGND_VBIAS_754   0x30
0787 
0788 #define MSK_MHL_CBUS_CTL0_CBUS_RES_TEST_SEL 0x0c
0789 
0790 #define MSK_MHL_CBUS_CTL0_CBUS_DRV_SEL      0x03
0791 #define VAL_MHL_CBUS_CTL0_CBUS_DRV_SEL_WEAKEST  0x00
0792 #define VAL_MHL_CBUS_CTL0_CBUS_DRV_SEL_WEAK 0x01
0793 #define VAL_MHL_CBUS_CTL0_CBUS_DRV_SEL_STRONG   0x02
0794 #define VAL_MHL_CBUS_CTL0_CBUS_DRV_SEL_STRONGEST 0x03
0795 
0796 /* MHL CBUS 2nd Ctl, default value: 0x03 */
0797 #define REG_MHL_CBUS_CTL1           0x0341
0798 #define MSK_MHL_CBUS_CTL1_CBUS_RGND_RES_CTL 0x07
0799 #define VAL_MHL_CBUS_CTL1_0888_OHM      0x00
0800 #define VAL_MHL_CBUS_CTL1_1115_OHM      0x04
0801 #define VAL_MHL_CBUS_CTL1_1378_OHM      0x07
0802 
0803 /* MHL CoC 1st Ctl, default value: 0xc3 */
0804 #define REG_MHL_COC_CTL0            0x0342
0805 #define BIT_MHL_COC_CTL0_COC_BIAS_EN        BIT(7)
0806 #define MSK_MHL_COC_CTL0_COC_BIAS_CTL       0x70
0807 #define MSK_MHL_COC_CTL0_COC_TERM_CTL       0x07
0808 
0809 /* MHL CoC 2nd Ctl, default value: 0x87 */
0810 #define REG_MHL_COC_CTL1            0x0343
0811 #define BIT_MHL_COC_CTL1_COC_EN         BIT(7)
0812 #define MSK_MHL_COC_CTL1_COC_DRV_CTL        0x3f
0813 
0814 /* MHL CoC 4th Ctl, default value: 0x00 */
0815 #define REG_MHL_COC_CTL3            0x0345
0816 #define BIT_MHL_COC_CTL3_COC_AECHO_EN       BIT(0)
0817 
0818 /* MHL CoC 5th Ctl, default value: 0x28 */
0819 #define REG_MHL_COC_CTL4            0x0346
0820 #define MSK_MHL_COC_CTL4_COC_IF_CTL     0xf0
0821 #define MSK_MHL_COC_CTL4_COC_SLEW_CTL       0x0f
0822 
0823 /* MHL CoC 6th Ctl, default value: 0x0d */
0824 #define REG_MHL_COC_CTL5            0x0347
0825 
0826 /* MHL DoC 1st Ctl, default value: 0x18 */
0827 #define REG_MHL_DOC_CTL0            0x0349
0828 #define BIT_MHL_DOC_CTL0_DOC_RXDATA_EN      BIT(7)
0829 #define MSK_MHL_DOC_CTL0_DOC_DM_TERM        0x38
0830 #define MSK_MHL_DOC_CTL0_DOC_OPMODE     0x06
0831 #define BIT_MHL_DOC_CTL0_DOC_RXBIAS_EN      BIT(0)
0832 
0833 /* MHL DataPath 7th Ctl, default value: 0x2a */
0834 #define REG_MHL_DP_CTL6             0x0350
0835 #define BIT_MHL_DP_CTL6_DP_TAP2_SGN     BIT(5)
0836 #define BIT_MHL_DP_CTL6_DP_TAP2_EN      BIT(4)
0837 #define BIT_MHL_DP_CTL6_DP_TAP1_SGN     BIT(3)
0838 #define BIT_MHL_DP_CTL6_DP_TAP1_EN      BIT(2)
0839 #define BIT_MHL_DP_CTL6_DT_PREDRV_FEEDCAP_EN    BIT(1)
0840 #define BIT_MHL_DP_CTL6_DP_PRE_POST_SEL     BIT(0)
0841 
0842 /* MHL DataPath 8th Ctl, default value: 0x06 */
0843 #define REG_MHL_DP_CTL7             0x0351
0844 #define MSK_MHL_DP_CTL7_DT_DRV_VBIAS_CASCTL 0xf0
0845 #define MSK_MHL_DP_CTL7_DT_DRV_IREF_CTL     0x0f
0846 
0847 #define REG_MHL_DP_CTL8             0x0352
0848 
0849 /* Tx Zone Ctl1, default value: 0x00 */
0850 #define REG_TX_ZONE_CTL1            0x0361
0851 #define VAL_TX_ZONE_CTL1_TX_ZONE_CTRL_MODE  0x08
0852 
0853 /* MHL3 Tx Zone Ctl, default value: 0x00 */
0854 #define REG_MHL3_TX_ZONE_CTL            0x0364
0855 #define BIT_MHL3_TX_ZONE_CTL_MHL2_INTPLT_ZONE_MANU_EN BIT(7)
0856 #define MSK_MHL3_TX_ZONE_CTL_MHL3_TX_ZONE   0x03
0857 
0858 #define MSK_TX_ZONE_CTL3_TX_ZONE        0x03
0859 #define VAL_TX_ZONE_CTL3_TX_ZONE_6GBPS      0x00
0860 #define VAL_TX_ZONE_CTL3_TX_ZONE_3GBPS      0x01
0861 #define VAL_TX_ZONE_CTL3_TX_ZONE_1_5GBPS    0x02
0862 
0863 /* HDCP Polling Control and Status, default value: 0x70 */
0864 #define REG_HDCP2X_POLL_CS          0x0391
0865 
0866 #define BIT_HDCP2X_POLL_CS_HDCP2X_MSG_SZ_CLR_OPTION BIT(6)
0867 #define BIT_HDCP2X_POLL_CS_HDCP2X_RPT_READY_CLR_OPTION BIT(5)
0868 #define BIT_HDCP2X_POLL_CS_HDCP2X_REAUTH_REQ_CLR_OPTION BIT(4)
0869 #define MSK_HDCP2X_POLL_CS_         0x0c
0870 #define BIT_HDCP2X_POLL_CS_HDCP2X_DIS_POLL_GNT  BIT(1)
0871 #define BIT_HDCP2X_POLL_CS_HDCP2X_DIS_POLL_EN   BIT(0)
0872 
0873 /* HDCP Interrupt 0, default value: 0x00 */
0874 #define REG_HDCP2X_INTR0            0x0398
0875 
0876 /* HDCP Interrupt 0 Mask, default value: 0x00 */
0877 #define REG_HDCP2X_INTR0_MASK           0x0399
0878 
0879 /* HDCP General Control 0, default value: 0x02 */
0880 #define REG_HDCP2X_CTRL_0           0x03a0
0881 #define BIT_HDCP2X_CTRL_0_HDCP2X_ENCRYPT_EN BIT(7)
0882 #define BIT_HDCP2X_CTRL_0_HDCP2X_POLINT_SEL BIT(6)
0883 #define BIT_HDCP2X_CTRL_0_HDCP2X_POLINT_OVR BIT(5)
0884 #define BIT_HDCP2X_CTRL_0_HDCP2X_PRECOMPUTE BIT(4)
0885 #define BIT_HDCP2X_CTRL_0_HDCP2X_HDMIMODE   BIT(3)
0886 #define BIT_HDCP2X_CTRL_0_HDCP2X_REPEATER   BIT(2)
0887 #define BIT_HDCP2X_CTRL_0_HDCP2X_HDCPTX     BIT(1)
0888 #define BIT_HDCP2X_CTRL_0_HDCP2X_EN     BIT(0)
0889 
0890 /* HDCP General Control 1, default value: 0x08 */
0891 #define REG_HDCP2X_CTRL_1           0x03a1
0892 #define MSK_HDCP2X_CTRL_1_HDCP2X_REAUTH_MSK_3_0 0xf0
0893 #define BIT_HDCP2X_CTRL_1_HDCP2X_HPD_SW     BIT(3)
0894 #define BIT_HDCP2X_CTRL_1_HDCP2X_HPD_OVR    BIT(2)
0895 #define BIT_HDCP2X_CTRL_1_HDCP2X_CTL3MSK    BIT(1)
0896 #define BIT_HDCP2X_CTRL_1_HDCP2X_REAUTH_SW  BIT(0)
0897 
0898 /* HDCP Misc Control, default value: 0x00 */
0899 #define REG_HDCP2X_MISC_CTRL            0x03a5
0900 #define BIT_HDCP2X_MISC_CTRL_HDCP2X_RPT_SMNG_XFER_START BIT(4)
0901 #define BIT_HDCP2X_MISC_CTRL_HDCP2X_RPT_SMNG_WR_START BIT(3)
0902 #define BIT_HDCP2X_MISC_CTRL_HDCP2X_RPT_SMNG_WR BIT(2)
0903 #define BIT_HDCP2X_MISC_CTRL_HDCP2X_RPT_RCVID_RD_START BIT(1)
0904 #define BIT_HDCP2X_MISC_CTRL_HDCP2X_RPT_RCVID_RD    BIT(0)
0905 
0906 /* HDCP RPT SMNG K, default value: 0x00 */
0907 #define REG_HDCP2X_RPT_SMNG_K           0x03a6
0908 
0909 /* HDCP RPT SMNG In, default value: 0x00 */
0910 #define REG_HDCP2X_RPT_SMNG_IN          0x03a7
0911 
0912 /* HDCP Auth Status, default value: 0x00 */
0913 #define REG_HDCP2X_AUTH_STAT            0x03aa
0914 
0915 /* HDCP RPT RCVID Out, default value: 0x00 */
0916 #define REG_HDCP2X_RPT_RCVID_OUT        0x03ac
0917 
0918 /* HDCP TP1, default value: 0x62 */
0919 #define REG_HDCP2X_TP1              0x03b4
0920 
0921 /* HDCP GP Out 0, default value: 0x00 */
0922 #define REG_HDCP2X_GP_OUT0          0x03c7
0923 
0924 /* HDCP Repeater RCVR ID 0, default value: 0x00 */
0925 #define REG_HDCP2X_RPT_RCVR_ID0         0x03d1
0926 
0927 /* HDCP DDCM Status, default value: 0x00 */
0928 #define REG_HDCP2X_DDCM_STS         0x03d8
0929 #define MSK_HDCP2X_DDCM_STS_HDCP2X_DDCM_ERR_STS_3_0 0xf0
0930 #define MSK_HDCP2X_DDCM_STS_HDCP2X_DDCM_CTL_CS_3_0 0x0f
0931 
0932 /* HDMI2MHL3 Control, default value: 0x0a */
0933 #define REG_M3_CTRL             0x03e0
0934 #define BIT_M3_CTRL_H2M_SWRST           BIT(4)
0935 #define BIT_M3_CTRL_SW_MHL3_SEL         BIT(3)
0936 #define BIT_M3_CTRL_M3AV_EN         BIT(2)
0937 #define BIT_M3_CTRL_ENC_TMDS            BIT(1)
0938 #define BIT_M3_CTRL_MHL3_MASTER_EN      BIT(0)
0939 
0940 #define VAL_M3_CTRL_MHL1_2_VALUE (BIT_M3_CTRL_SW_MHL3_SEL \
0941                   | BIT_M3_CTRL_ENC_TMDS)
0942 #define VAL_M3_CTRL_MHL3_VALUE (BIT_M3_CTRL_SW_MHL3_SEL \
0943                 | BIT_M3_CTRL_M3AV_EN \
0944                 | BIT_M3_CTRL_ENC_TMDS \
0945                 | BIT_M3_CTRL_MHL3_MASTER_EN)
0946 
0947 /* HDMI2MHL3 Port0 Control, default value: 0x04 */
0948 #define REG_M3_P0CTRL               0x03e1
0949 #define BIT_M3_P0CTRL_MHL3_P0_HDCP_ENC_EN   BIT(4)
0950 #define BIT_M3_P0CTRL_MHL3_P0_UNLIMIT_EN    BIT(3)
0951 #define BIT_M3_P0CTRL_MHL3_P0_HDCP_EN       BIT(2)
0952 #define BIT_M3_P0CTRL_MHL3_P0_PIXEL_MODE_PACKED BIT(1)
0953 #define BIT_M3_P0CTRL_MHL3_P0_PORT_EN       BIT(0)
0954 
0955 #define REG_M3_POSTM                0x03e2
0956 #define MSK_M3_POSTM_RRP_DECODE         0xf8
0957 #define MSK_M3_POSTM_MHL3_P0_STM_ID     0x07
0958 
0959 /* HDMI2MHL3 Scramble Control, default value: 0x41 */
0960 #define REG_M3_SCTRL                0x03e6
0961 #define MSK_M3_SCTRL_MHL3_SR_LENGTH     0xf0
0962 #define BIT_M3_SCTRL_MHL3_SCRAMBLER_EN      BIT(0)
0963 
0964 /* HSIC Div Ctl, default value: 0x05 */
0965 #define REG_DIV_CTL_MAIN            0x03f2
0966 #define MSK_DIV_CTL_MAIN_PRE_DIV_CTL_MAIN   0x1c
0967 #define MSK_DIV_CTL_MAIN_FB_DIV_CTL_MAIN    0x03
0968 
0969 /* MHL Capability 1st Byte, default value: 0x00 */
0970 #define REG_MHL_DEVCAP_0            0x0400
0971 
0972 /* MHL Interrupt 1st Byte, default value: 0x00 */
0973 #define REG_MHL_INT_0               0x0420
0974 
0975 /* Device Status 1st byte, default value: 0x00 */
0976 #define REG_MHL_STAT_0              0x0430
0977 
0978 /* CBUS Scratch Pad 1st Byte, default value: 0x00 */
0979 #define REG_MHL_SCRPAD_0            0x0440
0980 
0981 /* MHL Extended Capability 1st Byte, default value: 0x00 */
0982 #define REG_MHL_EXTDEVCAP_0         0x0480
0983 
0984 /* Device Extended Status 1st byte, default value: 0x00 */
0985 #define REG_MHL_EXTSTAT_0           0x0490
0986 
0987 /* TPI DTD Byte2, default value: 0x00 */
0988 #define REG_TPI_DTD_B2              0x0602
0989 
0990 #define VAL_TPI_QUAN_RANGE_LIMITED      0x01
0991 #define VAL_TPI_QUAN_RANGE_FULL         0x02
0992 #define VAL_TPI_FORMAT_RGB          0x00
0993 #define VAL_TPI_FORMAT_YCBCR444         0x01
0994 #define VAL_TPI_FORMAT_YCBCR422         0x02
0995 #define VAL_TPI_FORMAT_INTERNAL_RGB     0x03
0996 #define VAL_TPI_FORMAT(_fmt, _qr) \
0997         (VAL_TPI_FORMAT_##_fmt | (VAL_TPI_QUAN_RANGE_##_qr << 2))
0998 
0999 /* Input Format, default value: 0x00 */
1000 #define REG_TPI_INPUT               0x0609
1001 #define BIT_TPI_INPUT_EXTENDEDBITMODE       BIT(7)
1002 #define BIT_TPI_INPUT_ENDITHER          BIT(6)
1003 #define MSK_TPI_INPUT_INPUT_QUAN_RANGE      0x0c
1004 #define MSK_TPI_INPUT_INPUT_FORMAT      0x03
1005 
1006 /* Output Format, default value: 0x00 */
1007 #define REG_TPI_OUTPUT              0x060a
1008 #define BIT_TPI_OUTPUT_CSCMODE709       BIT(4)
1009 #define MSK_TPI_OUTPUT_OUTPUT_QUAN_RANGE    0x0c
1010 #define MSK_TPI_OUTPUT_OUTPUT_FORMAT        0x03
1011 
1012 /* TPI AVI Check Sum, default value: 0x00 */
1013 #define REG_TPI_AVI_CHSUM           0x060c
1014 
1015 /* TPI System Control, default value: 0x00 */
1016 #define REG_TPI_SC              0x061a
1017 #define BIT_TPI_SC_TPI_UPDATE_FLG       BIT(7)
1018 #define BIT_TPI_SC_TPI_REAUTH_CTL       BIT(6)
1019 #define BIT_TPI_SC_TPI_OUTPUT_MODE_1        BIT(5)
1020 #define BIT_TPI_SC_REG_TMDS_OE_POWER_DOWN   BIT(4)
1021 #define BIT_TPI_SC_TPI_AV_MUTE          BIT(3)
1022 #define BIT_TPI_SC_DDC_GPU_REQUEST      BIT(2)
1023 #define BIT_TPI_SC_DDC_TPI_SW           BIT(1)
1024 #define BIT_TPI_SC_TPI_OUTPUT_MODE_0_HDMI   BIT(0)
1025 
1026 /* TPI COPP Query Data, default value: 0x00 */
1027 #define REG_TPI_COPP_DATA1          0x0629
1028 #define BIT_TPI_COPP_DATA1_COPP_GPROT       BIT(7)
1029 #define BIT_TPI_COPP_DATA1_COPP_LPROT       BIT(6)
1030 #define MSK_TPI_COPP_DATA1_COPP_LINK_STATUS 0x30
1031 #define VAL_TPI_COPP_LINK_STATUS_NORMAL     0x00
1032 #define VAL_TPI_COPP_LINK_STATUS_LINK_LOST  0x10
1033 #define VAL_TPI_COPP_LINK_STATUS_RENEGOTIATION_REQ 0x20
1034 #define VAL_TPI_COPP_LINK_STATUS_LINK_SUSPENDED 0x30
1035 #define BIT_TPI_COPP_DATA1_COPP_HDCP_REP    BIT(3)
1036 #define BIT_TPI_COPP_DATA1_COPP_CONNTYPE_0  BIT(2)
1037 #define BIT_TPI_COPP_DATA1_COPP_PROTYPE     BIT(1)
1038 #define BIT_TPI_COPP_DATA1_COPP_CONNTYPE_1  BIT(0)
1039 
1040 /* TPI COPP Control Data, default value: 0x00 */
1041 #define REG_TPI_COPP_DATA2          0x062a
1042 #define BIT_TPI_COPP_DATA2_INTR_ENCRYPTION  BIT(5)
1043 #define BIT_TPI_COPP_DATA2_KSV_FORWARD      BIT(4)
1044 #define BIT_TPI_COPP_DATA2_INTERM_RI_CHECK_EN   BIT(3)
1045 #define BIT_TPI_COPP_DATA2_DOUBLE_RI_CHECK  BIT(2)
1046 #define BIT_TPI_COPP_DATA2_DDC_SHORT_RI_RD  BIT(1)
1047 #define BIT_TPI_COPP_DATA2_COPP_PROTLEVEL   BIT(0)
1048 
1049 /* TPI Interrupt Enable, default value: 0x00 */
1050 #define REG_TPI_INTR_EN             0x063c
1051 
1052 /* TPI Interrupt Status Low Byte, default value: 0x00 */
1053 #define REG_TPI_INTR_ST0            0x063d
1054 #define BIT_TPI_INTR_ST0_TPI_AUTH_CHNGE_STAT    BIT(7)
1055 #define BIT_TPI_INTR_ST0_TPI_V_RDY_STAT     BIT(6)
1056 #define BIT_TPI_INTR_ST0_TPI_COPP_CHNGE_STAT    BIT(5)
1057 #define BIT_TPI_INTR_ST0_KSV_FIFO_FIRST_STAT    BIT(3)
1058 #define BIT_TPI_INTR_ST0_READ_BKSV_BCAPS_DONE_STAT BIT(2)
1059 #define BIT_TPI_INTR_ST0_READ_BKSV_BCAPS_ERR_STAT BIT(1)
1060 #define BIT_TPI_INTR_ST0_READ_BKSV_ERR_STAT BIT(0)
1061 
1062 /* TPI DS BCAPS Status, default value: 0x00 */
1063 #define REG_TPI_DS_BCAPS            0x0644
1064 
1065 /* TPI BStatus1, default value: 0x00 */
1066 #define REG_TPI_BSTATUS1            0x0645
1067 #define BIT_TPI_BSTATUS1_DS_DEV_EXCEED      BIT(7)
1068 #define MSK_TPI_BSTATUS1_DS_DEV_CNT     0x7f
1069 
1070 /* TPI BStatus2, default value: 0x10 */
1071 #define REG_TPI_BSTATUS2            0x0646
1072 #define MSK_TPI_BSTATUS2_DS_BSTATUS     0xe0
1073 #define BIT_TPI_BSTATUS2_DS_HDMI_MODE       BIT(4)
1074 #define BIT_TPI_BSTATUS2_DS_CASC_EXCEED     BIT(3)
1075 #define MSK_TPI_BSTATUS2_DS_DEPTH       0x07
1076 
1077 /* TPI HW Optimization Control #3, default value: 0x00 */
1078 #define REG_TPI_HW_OPT3             0x06bb
1079 #define BIT_TPI_HW_OPT3_DDC_DEBUG       BIT(7)
1080 #define BIT_TPI_HW_OPT3_RI_CHECK_SKIP       BIT(3)
1081 #define BIT_TPI_HW_OPT3_TPI_DDC_BURST_MODE  BIT(2)
1082 #define MSK_TPI_HW_OPT3_TPI_DDC_REQ_LEVEL   0x03
1083 
1084 /* TPI Info Frame Select, default value: 0x00 */
1085 #define REG_TPI_INFO_FSEL           0x06bf
1086 #define BIT_TPI_INFO_FSEL_EN            BIT(7)
1087 #define BIT_TPI_INFO_FSEL_RPT           BIT(6)
1088 #define BIT_TPI_INFO_FSEL_READ_FLAG     BIT(5)
1089 #define MSK_TPI_INFO_FSEL_PKT           0x07
1090 #define VAL_TPI_INFO_FSEL_AVI           0x00
1091 #define VAL_TPI_INFO_FSEL_SPD           0x01
1092 #define VAL_TPI_INFO_FSEL_AUD           0x02
1093 #define VAL_TPI_INFO_FSEL_MPG           0x03
1094 #define VAL_TPI_INFO_FSEL_GEN           0x04
1095 #define VAL_TPI_INFO_FSEL_GEN2          0x05
1096 #define VAL_TPI_INFO_FSEL_VSI           0x06
1097 
1098 /* TPI Info Byte #0, default value: 0x00 */
1099 #define REG_TPI_INFO_B0             0x06c0
1100 
1101 /* CoC Status, default value: 0x00 */
1102 #define REG_COC_STAT_0              0x0700
1103 #define BIT_COC_STAT_0_PLL_LOCKED       BIT(7)
1104 #define MSK_COC_STAT_0_FSM_STATE        0x0f
1105 
1106 #define REG_COC_STAT_1              0x0701
1107 #define REG_COC_STAT_2              0x0702
1108 #define REG_COC_STAT_3              0x0703
1109 #define REG_COC_STAT_4              0x0704
1110 #define REG_COC_STAT_5              0x0705
1111 
1112 /* CoC 1st Ctl, default value: 0x40 */
1113 #define REG_COC_CTL0                0x0710
1114 
1115 /* CoC 2nd Ctl, default value: 0x0a */
1116 #define REG_COC_CTL1                0x0711
1117 #define MSK_COC_CTL1_COC_CTRL1_7_6      0xc0
1118 #define MSK_COC_CTL1_COC_CTRL1_5_0      0x3f
1119 
1120 /* CoC 3rd Ctl, default value: 0x14 */
1121 #define REG_COC_CTL2                0x0712
1122 #define MSK_COC_CTL2_COC_CTRL2_7_6      0xc0
1123 #define MSK_COC_CTL2_COC_CTRL2_5_0      0x3f
1124 
1125 /* CoC 4th Ctl, default value: 0x40 */
1126 #define REG_COC_CTL3                0x0713
1127 #define BIT_COC_CTL3_COC_CTRL3_7        BIT(7)
1128 #define MSK_COC_CTL3_COC_CTRL3_6_0      0x7f
1129 
1130 /* CoC 7th Ctl, default value: 0x00 */
1131 #define REG_COC_CTL6                0x0716
1132 #define BIT_COC_CTL6_COC_CTRL6_7        BIT(7)
1133 #define BIT_COC_CTL6_COC_CTRL6_6        BIT(6)
1134 #define MSK_COC_CTL6_COC_CTRL6_5_0      0x3f
1135 
1136 /* CoC 8th Ctl, default value: 0x06 */
1137 #define REG_COC_CTL7                0x0717
1138 #define BIT_COC_CTL7_COC_CTRL7_7        BIT(7)
1139 #define BIT_COC_CTL7_COC_CTRL7_6        BIT(6)
1140 #define BIT_COC_CTL7_COC_CTRL7_5        BIT(5)
1141 #define MSK_COC_CTL7_COC_CTRL7_4_3      0x18
1142 #define MSK_COC_CTL7_COC_CTRL7_2_0      0x07
1143 
1144 /* CoC 10th Ctl, default value: 0x00 */
1145 #define REG_COC_CTL9                0x0719
1146 
1147 /* CoC 11th Ctl, default value: 0x00 */
1148 #define REG_COC_CTLA                0x071a
1149 
1150 /* CoC 12th Ctl, default value: 0x00 */
1151 #define REG_COC_CTLB                0x071b
1152 
1153 /* CoC 13th Ctl, default value: 0x0f */
1154 #define REG_COC_CTLC                0x071c
1155 
1156 /* CoC 14th Ctl, default value: 0x0a */
1157 #define REG_COC_CTLD                0x071d
1158 #define BIT_COC_CTLD_COC_CTRLD_7        BIT(7)
1159 #define MSK_COC_CTLD_COC_CTRLD_6_0      0x7f
1160 
1161 /* CoC 15th Ctl, default value: 0x0a */
1162 #define REG_COC_CTLE                0x071e
1163 #define BIT_COC_CTLE_COC_CTRLE_7        BIT(7)
1164 #define MSK_COC_CTLE_COC_CTRLE_6_0      0x7f
1165 
1166 /* CoC 16th Ctl, default value: 0x00 */
1167 #define REG_COC_CTLF                0x071f
1168 #define MSK_COC_CTLF_COC_CTRLF_7_3      0xf8
1169 #define MSK_COC_CTLF_COC_CTRLF_2_0      0x07
1170 
1171 /* CoC 18th Ctl, default value: 0x32 */
1172 #define REG_COC_CTL11               0x0721
1173 #define MSK_COC_CTL11_COC_CTRL11_7_4        0xf0
1174 #define MSK_COC_CTL11_COC_CTRL11_3_0        0x0f
1175 
1176 /* CoC 21st Ctl, default value: 0x00 */
1177 #define REG_COC_CTL14               0x0724
1178 #define MSK_COC_CTL14_COC_CTRL14_7_4        0xf0
1179 #define MSK_COC_CTL14_COC_CTRL14_3_0        0x0f
1180 
1181 /* CoC 22nd Ctl, default value: 0x00 */
1182 #define REG_COC_CTL15               0x0725
1183 #define BIT_COC_CTL15_COC_CTRL15_7      BIT(7)
1184 #define MSK_COC_CTL15_COC_CTRL15_6_4        0x70
1185 #define MSK_COC_CTL15_COC_CTRL15_3_0        0x0f
1186 
1187 /* CoC Interrupt, default value: 0x00 */
1188 #define REG_COC_INTR                0x0726
1189 
1190 /* CoC Interrupt Mask, default value: 0x00 */
1191 #define REG_COC_INTR_MASK           0x0727
1192 #define BIT_COC_PLL_LOCK_STATUS_CHANGE      BIT(0)
1193 #define BIT_COC_CALIBRATION_DONE        BIT(1)
1194 
1195 /* CoC Misc Ctl, default value: 0x00 */
1196 #define REG_COC_MISC_CTL0           0x0728
1197 #define BIT_COC_MISC_CTL0_FSM_MON       BIT(7)
1198 
1199 /* CoC 24th Ctl, default value: 0x00 */
1200 #define REG_COC_CTL17               0x072a
1201 #define MSK_COC_CTL17_COC_CTRL17_7_4        0xf0
1202 #define MSK_COC_CTL17_COC_CTRL17_3_0        0x0f
1203 
1204 /* CoC 25th Ctl, default value: 0x00 */
1205 #define REG_COC_CTL18               0x072b
1206 #define MSK_COC_CTL18_COC_CTRL18_7_4        0xf0
1207 #define MSK_COC_CTL18_COC_CTRL18_3_0        0x0f
1208 
1209 /* CoC 26th Ctl, default value: 0x00 */
1210 #define REG_COC_CTL19               0x072c
1211 #define MSK_COC_CTL19_COC_CTRL19_7_4        0xf0
1212 #define MSK_COC_CTL19_COC_CTRL19_3_0        0x0f
1213 
1214 /* CoC 27th Ctl, default value: 0x00 */
1215 #define REG_COC_CTL1A               0x072d
1216 #define MSK_COC_CTL1A_COC_CTRL1A_7_2        0xfc
1217 #define MSK_COC_CTL1A_COC_CTRL1A_1_0        0x03
1218 
1219 /* DoC 9th Status, default value: 0x00 */
1220 #define REG_DOC_STAT_8              0x0740
1221 
1222 /* DoC 10th Status, default value: 0x00 */
1223 #define REG_DOC_STAT_9              0x0741
1224 
1225 /* DoC 5th CFG, default value: 0x00 */
1226 #define REG_DOC_CFG4                0x074e
1227 #define MSK_DOC_CFG4_DBG_STATE_DOC_FSM      0x0f
1228 
1229 /* DoC 1st Ctl, default value: 0x40 */
1230 #define REG_DOC_CTL0                0x0751
1231 
1232 /* DoC 7th Ctl, default value: 0x00 */
1233 #define REG_DOC_CTL6                0x0757
1234 #define BIT_DOC_CTL6_DOC_CTRL6_7        BIT(7)
1235 #define BIT_DOC_CTL6_DOC_CTRL6_6        BIT(6)
1236 #define MSK_DOC_CTL6_DOC_CTRL6_5_4      0x30
1237 #define MSK_DOC_CTL6_DOC_CTRL6_3_0      0x0f
1238 
1239 /* DoC 8th Ctl, default value: 0x00 */
1240 #define REG_DOC_CTL7                0x0758
1241 #define BIT_DOC_CTL7_DOC_CTRL7_7        BIT(7)
1242 #define BIT_DOC_CTL7_DOC_CTRL7_6        BIT(6)
1243 #define BIT_DOC_CTL7_DOC_CTRL7_5        BIT(5)
1244 #define MSK_DOC_CTL7_DOC_CTRL7_4_3      0x18
1245 #define MSK_DOC_CTL7_DOC_CTRL7_2_0      0x07
1246 
1247 /* DoC 9th Ctl, default value: 0x00 */
1248 #define REG_DOC_CTL8                0x076c
1249 #define BIT_DOC_CTL8_DOC_CTRL8_7        BIT(7)
1250 #define MSK_DOC_CTL8_DOC_CTRL8_6_4      0x70
1251 #define MSK_DOC_CTL8_DOC_CTRL8_3_2      0x0c
1252 #define MSK_DOC_CTL8_DOC_CTRL8_1_0      0x03
1253 
1254 /* DoC 10th Ctl, default value: 0x00 */
1255 #define REG_DOC_CTL9                0x076d
1256 
1257 /* DoC 11th Ctl, default value: 0x00 */
1258 #define REG_DOC_CTLA                0x076e
1259 
1260 /* DoC 15th Ctl, default value: 0x00 */
1261 #define REG_DOC_CTLE                0x0772
1262 #define BIT_DOC_CTLE_DOC_CTRLE_7        BIT(7)
1263 #define BIT_DOC_CTLE_DOC_CTRLE_6        BIT(6)
1264 #define MSK_DOC_CTLE_DOC_CTRLE_5_4      0x30
1265 #define MSK_DOC_CTLE_DOC_CTRLE_3_0      0x0f
1266 
1267 /* Interrupt Mask 1st, default value: 0x00 */
1268 #define REG_MHL_INT_0_MASK          0x0580
1269 
1270 /* Interrupt Mask 2nd, default value: 0x00 */
1271 #define REG_MHL_INT_1_MASK          0x0581
1272 
1273 /* Interrupt Mask 3rd, default value: 0x00 */
1274 #define REG_MHL_INT_2_MASK          0x0582
1275 
1276 /* Interrupt Mask 4th, default value: 0x00 */
1277 #define REG_MHL_INT_3_MASK          0x0583
1278 
1279 /* MDT Receive Time Out, default value: 0x00 */
1280 #define REG_MDT_RCV_TIMEOUT         0x0584
1281 
1282 /* MDT Transmit Time Out, default value: 0x00 */
1283 #define REG_MDT_XMIT_TIMEOUT            0x0585
1284 
1285 /* MDT Receive Control, default value: 0x00 */
1286 #define REG_MDT_RCV_CTRL            0x0586
1287 #define BIT_MDT_RCV_CTRL_MDT_RCV_EN     BIT(7)
1288 #define BIT_MDT_RCV_CTRL_MDT_DELAY_RCV_EN   BIT(6)
1289 #define BIT_MDT_RCV_CTRL_MDT_RFIFO_OVER_WR_EN   BIT(4)
1290 #define BIT_MDT_RCV_CTRL_MDT_XFIFO_OVER_WR_EN   BIT(3)
1291 #define BIT_MDT_RCV_CTRL_MDT_DISABLE        BIT(2)
1292 #define BIT_MDT_RCV_CTRL_MDT_RFIFO_CLR_ALL  BIT(1)
1293 #define BIT_MDT_RCV_CTRL_MDT_RFIFO_CLR_CUR  BIT(0)
1294 
1295 /* MDT Receive Read Port, default value: 0x00 */
1296 #define REG_MDT_RCV_READ_PORT           0x0587
1297 
1298 /* MDT Transmit Control, default value: 0x70 */
1299 #define REG_MDT_XMIT_CTRL           0x0588
1300 #define BIT_MDT_XMIT_CTRL_EN            BIT(7)
1301 #define BIT_MDT_XMIT_CTRL_CMD_MERGE_EN      BIT(6)
1302 #define BIT_MDT_XMIT_CTRL_FIXED_BURST_LEN   BIT(5)
1303 #define BIT_MDT_XMIT_CTRL_FIXED_AID     BIT(4)
1304 #define BIT_MDT_XMIT_CTRL_SINGLE_RUN_EN     BIT(3)
1305 #define BIT_MDT_XMIT_CTRL_CLR_ABORT_WAIT    BIT(2)
1306 #define BIT_MDT_XMIT_CTRL_XFIFO_CLR_ALL     BIT(1)
1307 #define BIT_MDT_XMIT_CTRL_XFIFO_CLR_CUR     BIT(0)
1308 
1309 /* MDT Receive WRITE Port, default value: 0x00 */
1310 #define REG_MDT_XMIT_WRITE_PORT         0x0589
1311 
1312 /* MDT RFIFO Status, default value: 0x00 */
1313 #define REG_MDT_RFIFO_STAT          0x058a
1314 #define MSK_MDT_RFIFO_STAT_MDT_RFIFO_CNT    0xe0
1315 #define MSK_MDT_RFIFO_STAT_MDT_RFIFO_CUR_BYTE_CNT 0x1f
1316 
1317 /* MDT XFIFO Status, default value: 0x80 */
1318 #define REG_MDT_XFIFO_STAT          0x058b
1319 #define MSK_MDT_XFIFO_STAT_MDT_XFIFO_LEVEL_AVAIL 0xe0
1320 #define BIT_MDT_XFIFO_STAT_MDT_XMIT_PRE_HS_EN   BIT(4)
1321 #define MSK_MDT_XFIFO_STAT_MDT_WRITE_BURST_LEN  0x0f
1322 
1323 /* MDT Interrupt 0, default value: 0x0c */
1324 #define REG_MDT_INT_0               0x058c
1325 #define BIT_MDT_RFIFO_DATA_RDY          BIT(0)
1326 #define BIT_MDT_IDLE_AFTER_HAWB_DISABLE     BIT(2)
1327 #define BIT_MDT_XFIFO_EMPTY         BIT(3)
1328 
1329 /* MDT Interrupt 0 Mask, default value: 0x00 */
1330 #define REG_MDT_INT_0_MASK          0x058d
1331 
1332 /* MDT Interrupt 1, default value: 0x00 */
1333 #define REG_MDT_INT_1               0x058e
1334 #define BIT_MDT_RCV_TIMEOUT         BIT(0)
1335 #define BIT_MDT_RCV_SM_ABORT_PKT_RCVD       BIT(1)
1336 #define BIT_MDT_RCV_SM_ERROR            BIT(2)
1337 #define BIT_MDT_XMIT_TIMEOUT            BIT(5)
1338 #define BIT_MDT_XMIT_SM_ABORT_PKT_RCVD      BIT(6)
1339 #define BIT_MDT_XMIT_SM_ERROR           BIT(7)
1340 
1341 /* MDT Interrupt 1 Mask, default value: 0x00 */
1342 #define REG_MDT_INT_1_MASK          0x058f
1343 
1344 /* CBUS Vendor ID, default value: 0x01 */
1345 #define REG_CBUS_VENDOR_ID          0x0590
1346 
1347 /* CBUS Connection Status, default value: 0x00 */
1348 #define REG_CBUS_STATUS             0x0591
1349 #define BIT_CBUS_STATUS_MHL_CABLE_PRESENT   BIT(4)
1350 #define BIT_CBUS_STATUS_MSC_HB_SUCCESS      BIT(3)
1351 #define BIT_CBUS_STATUS_CBUS_HPD        BIT(2)
1352 #define BIT_CBUS_STATUS_MHL_MODE        BIT(1)
1353 #define BIT_CBUS_STATUS_CBUS_CONNECTED      BIT(0)
1354 
1355 /* CBUS Interrupt 1st, default value: 0x00 */
1356 #define REG_CBUS_INT_0              0x0592
1357 #define BIT_CBUS_MSC_MT_DONE_NACK       BIT(7)
1358 #define BIT_CBUS_MSC_MR_SET_INT         BIT(6)
1359 #define BIT_CBUS_MSC_MR_WRITE_BURST     BIT(5)
1360 #define BIT_CBUS_MSC_MR_MSC_MSG         BIT(4)
1361 #define BIT_CBUS_MSC_MR_WRITE_STAT      BIT(3)
1362 #define BIT_CBUS_HPD_CHG            BIT(2)
1363 #define BIT_CBUS_MSC_MT_DONE            BIT(1)
1364 #define BIT_CBUS_CNX_CHG            BIT(0)
1365 
1366 /* CBUS Interrupt Mask 1st, default value: 0x00 */
1367 #define REG_CBUS_INT_0_MASK         0x0593
1368 
1369 /* CBUS Interrupt 2nd, default value: 0x00 */
1370 #define REG_CBUS_INT_1              0x0594
1371 #define BIT_CBUS_CMD_ABORT          BIT(6)
1372 #define BIT_CBUS_MSC_ABORT_RCVD         BIT(3)
1373 #define BIT_CBUS_DDC_ABORT          BIT(2)
1374 #define BIT_CBUS_CEC_ABORT          BIT(1)
1375 
1376 /* CBUS Interrupt Mask 2nd, default value: 0x00 */
1377 #define REG_CBUS_INT_1_MASK         0x0595
1378 
1379 /* CBUS DDC Abort Interrupt, default value: 0x00 */
1380 #define REG_DDC_ABORT_INT           0x0598
1381 
1382 /* CBUS DDC Abort Interrupt Mask, default value: 0x00 */
1383 #define REG_DDC_ABORT_INT_MASK          0x0599
1384 
1385 /* CBUS MSC Requester Abort Interrupt, default value: 0x00 */
1386 #define REG_MSC_MT_ABORT_INT            0x059a
1387 
1388 /* CBUS MSC Requester Abort Interrupt Mask, default value: 0x00 */
1389 #define REG_MSC_MT_ABORT_INT_MASK       0x059b
1390 
1391 /* CBUS MSC Responder Abort Interrupt, default value: 0x00 */
1392 #define REG_MSC_MR_ABORT_INT            0x059c
1393 
1394 /* CBUS MSC Responder Abort Interrupt Mask, default value: 0x00 */
1395 #define REG_MSC_MR_ABORT_INT_MASK       0x059d
1396 
1397 /* CBUS RX DISCOVERY interrupt, default value: 0x00 */
1398 #define REG_CBUS_RX_DISC_INT0           0x059e
1399 
1400 /* CBUS RX DISCOVERY Interrupt Mask, default value: 0x00 */
1401 #define REG_CBUS_RX_DISC_INT0_MASK      0x059f
1402 
1403 /* CBUS_Link_Layer Control #8, default value: 0x00 */
1404 #define REG_CBUS_LINK_CTRL_8            0x05a7
1405 
1406 /* MDT State Machine Status, default value: 0x00 */
1407 #define REG_MDT_SM_STAT             0x05b5
1408 #define MSK_MDT_SM_STAT_MDT_RCV_STATE       0xf0
1409 #define MSK_MDT_SM_STAT_MDT_XMIT_STATE      0x0f
1410 
1411 /* CBUS MSC command trigger, default value: 0x00 */
1412 #define REG_MSC_COMMAND_START           0x05b8
1413 #define BIT_MSC_COMMAND_START_DEBUG     BIT(5)
1414 #define BIT_MSC_COMMAND_START_WRITE_BURST   BIT(4)
1415 #define BIT_MSC_COMMAND_START_WRITE_STAT    BIT(3)
1416 #define BIT_MSC_COMMAND_START_READ_DEVCAP   BIT(2)
1417 #define BIT_MSC_COMMAND_START_MSC_MSG       BIT(1)
1418 #define BIT_MSC_COMMAND_START_PEER      BIT(0)
1419 
1420 /* CBUS MSC Command/Offset, default value: 0x00 */
1421 #define REG_MSC_CMD_OR_OFFSET           0x05b9
1422 
1423 /* CBUS MSC Transmit Data */
1424 #define REG_MSC_1ST_TRANSMIT_DATA       0x05ba
1425 #define REG_MSC_2ND_TRANSMIT_DATA       0x05bb
1426 
1427 /* CBUS MSC Requester Received Data */
1428 #define REG_MSC_MT_RCVD_DATA0           0x05bc
1429 #define REG_MSC_MT_RCVD_DATA1           0x05bd
1430 
1431 /* CBUS MSC Responder MSC_MSG Received Data */
1432 #define REG_MSC_MR_MSC_MSG_RCVD_1ST_DATA    0x05bf
1433 #define REG_MSC_MR_MSC_MSG_RCVD_2ND_DATA    0x05c0
1434 
1435 /* CBUS MSC Heartbeat Control, default value: 0x27 */
1436 #define REG_MSC_HEARTBEAT_CTRL          0x05c4
1437 #define BIT_MSC_HEARTBEAT_CTRL_MSC_HB_EN    BIT(7)
1438 #define MSK_MSC_HEARTBEAT_CTRL_MSC_HB_FAIL_LIMIT 0x70
1439 #define MSK_MSC_HEARTBEAT_CTRL_MSC_HB_PERIOD_MSB 0x0f
1440 
1441 /* CBUS MSC Compatibility Control, default value: 0x02 */
1442 #define REG_CBUS_MSC_COMPAT_CTRL        0x05c7
1443 #define BIT_CBUS_MSC_COMPAT_CTRL_XDEVCAP_EN BIT(7)
1444 #define BIT_CBUS_MSC_COMPAT_CTRL_DISABLE_MSC_ON_CBUS BIT(6)
1445 #define BIT_CBUS_MSC_COMPAT_CTRL_DISABLE_DDC_ON_CBUS BIT(5)
1446 #define BIT_CBUS_MSC_COMPAT_CTRL_DISABLE_GET_DDC_ERRORCODE BIT(3)
1447 #define BIT_CBUS_MSC_COMPAT_CTRL_DISABLE_GET_VS1_ERRORCODE BIT(2)
1448 
1449 /* CBUS3 Converter Control, default value: 0x24 */
1450 #define REG_CBUS3_CNVT              0x05dc
1451 #define MSK_CBUS3_CNVT_CBUS3_RETRYLMT       0xf0
1452 #define MSK_CBUS3_CNVT_CBUS3_PEERTOUT_SEL   0x0c
1453 #define BIT_CBUS3_CNVT_TEARCBUS_EN      BIT(1)
1454 #define BIT_CBUS3_CNVT_CBUS3CNVT_EN     BIT(0)
1455 
1456 /* Discovery Control1, default value: 0x24 */
1457 #define REG_DISC_CTRL1              0x05e0
1458 #define BIT_DISC_CTRL1_CBUS_INTR_EN     BIT(7)
1459 #define BIT_DISC_CTRL1_HB_ONLY          BIT(6)
1460 #define MSK_DISC_CTRL1_DISC_ATT         0x30
1461 #define MSK_DISC_CTRL1_DISC_CYC         0x0c
1462 #define BIT_DISC_CTRL1_DISC_EN          BIT(0)
1463 
1464 #define VAL_PUP_OFF             0
1465 #define VAL_PUP_20K             1
1466 #define VAL_PUP_5K              2
1467 
1468 /* Discovery Control4, default value: 0x80 */
1469 #define REG_DISC_CTRL4              0x05e3
1470 #define MSK_DISC_CTRL4_CBUSDISC_PUP_SEL     0xc0
1471 #define MSK_DISC_CTRL4_CBUSIDLE_PUP_SEL     0x30
1472 #define VAL_DISC_CTRL4(pup_disc, pup_idle) (((pup_disc) << 6) | (pup_idle << 4))
1473 
1474 /* Discovery Control5, default value: 0x03 */
1475 #define REG_DISC_CTRL5              0x05e4
1476 #define BIT_DISC_CTRL5_DSM_OVRIDE       BIT(3)
1477 #define MSK_DISC_CTRL5_CBUSMHL_PUP_SEL      0x03
1478 
1479 /* Discovery Control8, default value: 0x81 */
1480 #define REG_DISC_CTRL8              0x05e7
1481 #define BIT_DISC_CTRL8_NOMHLINT_CLR_BYPASS  BIT(7)
1482 #define BIT_DISC_CTRL8_DELAY_CBUS_INTR_EN   BIT(0)
1483 
1484 /* Discovery Control9, default value: 0x54 */
1485 #define REG_DISC_CTRL9          0x05e8
1486 #define BIT_DISC_CTRL9_MHL3_RSEN_BYP        BIT(7)
1487 #define BIT_DISC_CTRL9_MHL3DISC_EN      BIT(6)
1488 #define BIT_DISC_CTRL9_WAKE_DRVFLT      BIT(4)
1489 #define BIT_DISC_CTRL9_NOMHL_EST        BIT(3)
1490 #define BIT_DISC_CTRL9_DISC_PULSE_PROCEED   BIT(2)
1491 #define BIT_DISC_CTRL9_WAKE_PULSE_BYPASS    BIT(1)
1492 #define BIT_DISC_CTRL9_VBUS_OUTPUT_CAPABILITY_SRC BIT(0)
1493 
1494 /* Discovery Status1, default value: 0x00 */
1495 #define REG_DISC_STAT1              0x05eb
1496 #define BIT_DISC_STAT1_PSM_OVRIDE       BIT(5)
1497 #define MSK_DISC_STAT1_DISC_SM          0x0f
1498 
1499 /* Discovery Status2, default value: 0x00 */
1500 #define REG_DISC_STAT2              0x05ec
1501 #define BIT_DISC_STAT2_CBUS_OE_POL      BIT(6)
1502 #define BIT_DISC_STAT2_CBUS_SATUS       BIT(5)
1503 #define BIT_DISC_STAT2_RSEN         BIT(4)
1504 
1505 #define MSK_DISC_STAT2_MHL_VRSN         0x0c
1506 #define VAL_DISC_STAT2_DEFAULT          0x00
1507 #define VAL_DISC_STAT2_MHL1_2           0x04
1508 #define VAL_DISC_STAT2_MHL3         0x08
1509 #define VAL_DISC_STAT2_RESERVED         0x0c
1510 
1511 #define MSK_DISC_STAT2_RGND         0x03
1512 #define VAL_RGND_OPEN               0x00
1513 #define VAL_RGND_2K             0x01
1514 #define VAL_RGND_1K             0x02
1515 #define VAL_RGND_SHORT              0x03
1516 
1517 /* Interrupt CBUS_reg1 INTR0, default value: 0x00 */
1518 #define REG_CBUS_DISC_INTR0         0x05ed
1519 #define BIT_RGND_READY_INT          BIT(6)
1520 #define BIT_CBUS_MHL12_DISCON_INT       BIT(5)
1521 #define BIT_CBUS_MHL3_DISCON_INT        BIT(4)
1522 #define BIT_NOT_MHL_EST_INT         BIT(3)
1523 #define BIT_MHL_EST_INT             BIT(2)
1524 #define BIT_MHL3_EST_INT            BIT(1)
1525 #define VAL_CBUS_MHL_DISCON (BIT_CBUS_MHL12_DISCON_INT \
1526                 | BIT_CBUS_MHL3_DISCON_INT \
1527                 | BIT_NOT_MHL_EST_INT)
1528 
1529 /* Interrupt CBUS_reg1 INTR0 Mask, default value: 0x00 */
1530 #define REG_CBUS_DISC_INTR0_MASK        0x05ee
1531 
1532 #endif /* __SIL_SII8620_H__ */