Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *
0004  *  Cloned from drivers/media/video/s5p-tv/regs-hdmi.h
0005  *
0006  * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
0007  * http://www.samsung.com/
0008  *
0009  * HDMI register header file for Samsung TVOUT driver
0010 */
0011 
0012 #ifndef SAMSUNG_REGS_HDMI_H
0013 #define SAMSUNG_REGS_HDMI_H
0014 
0015 /*
0016  * Register part
0017 */
0018 
0019 /* HDMI Version 1.3 & Common */
0020 #define HDMI_CTRL_BASE(x)       ((x) + 0x00000000)
0021 #define HDMI_CORE_BASE(x)       ((x) + 0x00010000)
0022 #define HDMI_I2S_BASE(x)        ((x) + 0x00040000)
0023 #define HDMI_TG_BASE(x)         ((x) + 0x00050000)
0024 
0025 /* Control registers */
0026 #define HDMI_INTC_CON           HDMI_CTRL_BASE(0x0000)
0027 #define HDMI_INTC_FLAG          HDMI_CTRL_BASE(0x0004)
0028 #define HDMI_HPD_STATUS         HDMI_CTRL_BASE(0x000C)
0029 #define HDMI_V13_PHY_RSTOUT     HDMI_CTRL_BASE(0x0014)
0030 #define HDMI_V13_PHY_VPLL       HDMI_CTRL_BASE(0x0018)
0031 #define HDMI_V13_PHY_CMU        HDMI_CTRL_BASE(0x001C)
0032 #define HDMI_V13_CORE_RSTOUT        HDMI_CTRL_BASE(0x0020)
0033 
0034 /* Core registers */
0035 #define HDMI_CON_0          HDMI_CORE_BASE(0x0000)
0036 #define HDMI_CON_1          HDMI_CORE_BASE(0x0004)
0037 #define HDMI_CON_2          HDMI_CORE_BASE(0x0008)
0038 #define HDMI_SYS_STATUS         HDMI_CORE_BASE(0x0010)
0039 #define HDMI_V13_PHY_STATUS     HDMI_CORE_BASE(0x0014)
0040 #define HDMI_STATUS_EN          HDMI_CORE_BASE(0x0020)
0041 #define HDMI_HPD            HDMI_CORE_BASE(0x0030)
0042 #define HDMI_MODE_SEL           HDMI_CORE_BASE(0x0040)
0043 #define HDMI_ENC_EN         HDMI_CORE_BASE(0x0044)
0044 #define HDMI_V13_BLUE_SCREEN_0      HDMI_CORE_BASE(0x0050)
0045 #define HDMI_V13_BLUE_SCREEN_1      HDMI_CORE_BASE(0x0054)
0046 #define HDMI_V13_BLUE_SCREEN_2      HDMI_CORE_BASE(0x0058)
0047 #define HDMI_H_BLANK_0          HDMI_CORE_BASE(0x00A0)
0048 #define HDMI_H_BLANK_1          HDMI_CORE_BASE(0x00A4)
0049 #define HDMI_V13_V_BLANK_0      HDMI_CORE_BASE(0x00B0)
0050 #define HDMI_V13_V_BLANK_1      HDMI_CORE_BASE(0x00B4)
0051 #define HDMI_V13_V_BLANK_2      HDMI_CORE_BASE(0x00B8)
0052 #define HDMI_V13_H_V_LINE_0     HDMI_CORE_BASE(0x00C0)
0053 #define HDMI_V13_H_V_LINE_1     HDMI_CORE_BASE(0x00C4)
0054 #define HDMI_V13_H_V_LINE_2     HDMI_CORE_BASE(0x00C8)
0055 #define HDMI_VSYNC_POL          HDMI_CORE_BASE(0x00E4)
0056 #define HDMI_INT_PRO_MODE       HDMI_CORE_BASE(0x00E8)
0057 #define HDMI_V13_V_BLANK_F_0        HDMI_CORE_BASE(0x0110)
0058 #define HDMI_V13_V_BLANK_F_1        HDMI_CORE_BASE(0x0114)
0059 #define HDMI_V13_V_BLANK_F_2        HDMI_CORE_BASE(0x0118)
0060 #define HDMI_V13_H_SYNC_GEN_0       HDMI_CORE_BASE(0x0120)
0061 #define HDMI_V13_H_SYNC_GEN_1       HDMI_CORE_BASE(0x0124)
0062 #define HDMI_V13_H_SYNC_GEN_2       HDMI_CORE_BASE(0x0128)
0063 #define HDMI_V13_V_SYNC_GEN_1_0     HDMI_CORE_BASE(0x0130)
0064 #define HDMI_V13_V_SYNC_GEN_1_1     HDMI_CORE_BASE(0x0134)
0065 #define HDMI_V13_V_SYNC_GEN_1_2     HDMI_CORE_BASE(0x0138)
0066 #define HDMI_V13_V_SYNC_GEN_2_0     HDMI_CORE_BASE(0x0140)
0067 #define HDMI_V13_V_SYNC_GEN_2_1     HDMI_CORE_BASE(0x0144)
0068 #define HDMI_V13_V_SYNC_GEN_2_2     HDMI_CORE_BASE(0x0148)
0069 #define HDMI_V13_V_SYNC_GEN_3_0     HDMI_CORE_BASE(0x0150)
0070 #define HDMI_V13_V_SYNC_GEN_3_1     HDMI_CORE_BASE(0x0154)
0071 #define HDMI_V13_V_SYNC_GEN_3_2     HDMI_CORE_BASE(0x0158)
0072 #define HDMI_V13_AVI_CON        HDMI_CORE_BASE(0x0300)
0073 #define HDMI_V13_AVI_BYTE(n)        HDMI_CORE_BASE(0x0320 + 4 * (n))
0074 #define HDMI_V13_DC_CONTROL     HDMI_CORE_BASE(0x05C0)
0075 #define HDMI_V13_VIDEO_PATTERN_GEN  HDMI_CORE_BASE(0x05C4)
0076 #define HDMI_V13_HPD_GEN        HDMI_CORE_BASE(0x05C8)
0077 #define HDMI_V13_AUI_CON        HDMI_CORE_BASE(0x0360)
0078 #define HDMI_V13_SPD_CON        HDMI_CORE_BASE(0x0400)
0079 
0080 /* Timing generator registers */
0081 #define HDMI_TG_CMD         HDMI_TG_BASE(0x0000)
0082 #define HDMI_TG_H_FSZ_L         HDMI_TG_BASE(0x0018)
0083 #define HDMI_TG_H_FSZ_H         HDMI_TG_BASE(0x001C)
0084 #define HDMI_TG_HACT_ST_L       HDMI_TG_BASE(0x0020)
0085 #define HDMI_TG_HACT_ST_H       HDMI_TG_BASE(0x0024)
0086 #define HDMI_TG_HACT_SZ_L       HDMI_TG_BASE(0x0028)
0087 #define HDMI_TG_HACT_SZ_H       HDMI_TG_BASE(0x002C)
0088 #define HDMI_TG_V_FSZ_L         HDMI_TG_BASE(0x0030)
0089 #define HDMI_TG_V_FSZ_H         HDMI_TG_BASE(0x0034)
0090 #define HDMI_TG_VSYNC_L         HDMI_TG_BASE(0x0038)
0091 #define HDMI_TG_VSYNC_H         HDMI_TG_BASE(0x003C)
0092 #define HDMI_TG_VSYNC2_L        HDMI_TG_BASE(0x0040)
0093 #define HDMI_TG_VSYNC2_H        HDMI_TG_BASE(0x0044)
0094 #define HDMI_TG_VACT_ST_L       HDMI_TG_BASE(0x0048)
0095 #define HDMI_TG_VACT_ST_H       HDMI_TG_BASE(0x004C)
0096 #define HDMI_TG_VACT_SZ_L       HDMI_TG_BASE(0x0050)
0097 #define HDMI_TG_VACT_SZ_H       HDMI_TG_BASE(0x0054)
0098 #define HDMI_TG_FIELD_CHG_L     HDMI_TG_BASE(0x0058)
0099 #define HDMI_TG_FIELD_CHG_H     HDMI_TG_BASE(0x005C)
0100 #define HDMI_TG_VACT_ST2_L      HDMI_TG_BASE(0x0060)
0101 #define HDMI_TG_VACT_ST2_H      HDMI_TG_BASE(0x0064)
0102 #define HDMI_TG_VSYNC_TOP_HDMI_L    HDMI_TG_BASE(0x0078)
0103 #define HDMI_TG_VSYNC_TOP_HDMI_H    HDMI_TG_BASE(0x007C)
0104 #define HDMI_TG_VSYNC_BOT_HDMI_L    HDMI_TG_BASE(0x0080)
0105 #define HDMI_TG_VSYNC_BOT_HDMI_H    HDMI_TG_BASE(0x0084)
0106 #define HDMI_TG_FIELD_TOP_HDMI_L    HDMI_TG_BASE(0x0088)
0107 #define HDMI_TG_FIELD_TOP_HDMI_H    HDMI_TG_BASE(0x008C)
0108 #define HDMI_TG_FIELD_BOT_HDMI_L    HDMI_TG_BASE(0x0090)
0109 #define HDMI_TG_FIELD_BOT_HDMI_H    HDMI_TG_BASE(0x0094)
0110 
0111 /*
0112  * Bit definition part
0113  */
0114 
0115 /* HDMI_INTC_CON */
0116 #define HDMI_INTC_EN_GLOBAL     (1 << 6)
0117 #define HDMI_INTC_EN_HPD_PLUG       (1 << 3)
0118 #define HDMI_INTC_EN_HPD_UNPLUG     (1 << 2)
0119 
0120 /* HDMI_INTC_FLAG */
0121 #define HDMI_INTC_FLAG_HPD_PLUG     (1 << 3)
0122 #define HDMI_INTC_FLAG_HPD_UNPLUG   (1 << 2)
0123 
0124 /* HDMI_PHY_RSTOUT */
0125 #define HDMI_PHY_SW_RSTOUT      (1 << 0)
0126 
0127 /* HDMI_CORE_RSTOUT */
0128 #define HDMI_CORE_SW_RSTOUT     (1 << 0)
0129 
0130 /* HDMI_CON_0 */
0131 #define HDMI_BLUE_SCR_EN        (1 << 5)
0132 #define HDMI_ASP_EN         (1 << 2)
0133 #define HDMI_ASP_DIS            (0 << 2)
0134 #define HDMI_ASP_MASK           (1 << 2)
0135 #define HDMI_EN             (1 << 0)
0136 
0137 /* HDMI_CON_2 */
0138 #define HDMI_VID_PREAMBLE_DIS       (1 << 5)
0139 #define HDMI_GUARD_BAND_DIS     (1 << 1)
0140 
0141 /* HDMI_PHY_STATUS */
0142 #define HDMI_PHY_STATUS_READY       (1 << 0)
0143 
0144 /* HDMI_MODE_SEL */
0145 #define HDMI_MODE_HDMI_EN       (1 << 1)
0146 #define HDMI_MODE_DVI_EN        (1 << 0)
0147 #define HDMI_MODE_MASK          (3 << 0)
0148 
0149 /* HDMI_TG_CMD */
0150 #define HDMI_TG_EN          (1 << 0)
0151 #define HDMI_FIELD_EN           (1 << 1)
0152 
0153 
0154 /* HDMI Version 1.4 */
0155 /* Control registers */
0156 /* #define HDMI_INTC_CON        HDMI_CTRL_BASE(0x0000) */
0157 /* #define HDMI_INTC_FLAG       HDMI_CTRL_BASE(0x0004) */
0158 #define HDMI_HDCP_KEY_LOAD      HDMI_CTRL_BASE(0x0008)
0159 /* #define HDMI_HPD_STATUS      HDMI_CTRL_BASE(0x000C) */
0160 #define HDMI_INTC_CON_1         HDMI_CTRL_BASE(0x0010)
0161 #define HDMI_INTC_FLAG_1        HDMI_CTRL_BASE(0x0014)
0162 #define HDMI_PHY_STATUS_0       HDMI_CTRL_BASE(0x0020)
0163 #define HDMI_PHY_STATUS_CMU     HDMI_CTRL_BASE(0x0024)
0164 #define HDMI_PHY_STATUS_PLL     HDMI_CTRL_BASE(0x0028)
0165 #define HDMI_PHY_CON_0          HDMI_CTRL_BASE(0x0030)
0166 #define HDMI_HPD_CTRL           HDMI_CTRL_BASE(0x0040)
0167 #define HDMI_HPD_ST         HDMI_CTRL_BASE(0x0044)
0168 #define HDMI_HPD_TH_X           HDMI_CTRL_BASE(0x0050)
0169 #define HDMI_AUDIO_CLKSEL       HDMI_CTRL_BASE(0x0070)
0170 #define HDMI_V14_PHY_RSTOUT     HDMI_CTRL_BASE(0x0074)
0171 #define HDMI_PHY_VPLL           HDMI_CTRL_BASE(0x0078)
0172 #define HDMI_PHY_CMU            HDMI_CTRL_BASE(0x007C)
0173 #define HDMI_CORE_RSTOUT        HDMI_CTRL_BASE(0x0080)
0174 
0175 /* PHY Control bit definition */
0176 
0177 /* HDMI_PHY_CON_0 */
0178 #define HDMI_PHY_POWER_OFF_EN       (1 << 0)
0179 
0180 /* Video related registers */
0181 #define HDMI_YMAX           HDMI_CORE_BASE(0x0060)
0182 #define HDMI_YMIN           HDMI_CORE_BASE(0x0064)
0183 #define HDMI_CMAX           HDMI_CORE_BASE(0x0068)
0184 #define HDMI_CMIN           HDMI_CORE_BASE(0x006C)
0185 
0186 #define HDMI_V2_BLANK_0         HDMI_CORE_BASE(0x00B0)
0187 #define HDMI_V2_BLANK_1         HDMI_CORE_BASE(0x00B4)
0188 #define HDMI_V1_BLANK_0         HDMI_CORE_BASE(0x00B8)
0189 #define HDMI_V1_BLANK_1         HDMI_CORE_BASE(0x00BC)
0190 
0191 #define HDMI_V_LINE_0           HDMI_CORE_BASE(0x00C0)
0192 #define HDMI_V_LINE_1           HDMI_CORE_BASE(0x00C4)
0193 #define HDMI_H_LINE_0           HDMI_CORE_BASE(0x00C8)
0194 #define HDMI_H_LINE_1           HDMI_CORE_BASE(0x00CC)
0195 
0196 #define HDMI_HSYNC_POL          HDMI_CORE_BASE(0x00E0)
0197 
0198 #define HDMI_V_BLANK_F0_0       HDMI_CORE_BASE(0x0110)
0199 #define HDMI_V_BLANK_F0_1       HDMI_CORE_BASE(0x0114)
0200 #define HDMI_V_BLANK_F1_0       HDMI_CORE_BASE(0x0118)
0201 #define HDMI_V_BLANK_F1_1       HDMI_CORE_BASE(0x011C)
0202 
0203 #define HDMI_H_SYNC_START_0     HDMI_CORE_BASE(0x0120)
0204 #define HDMI_H_SYNC_START_1     HDMI_CORE_BASE(0x0124)
0205 #define HDMI_H_SYNC_END_0       HDMI_CORE_BASE(0x0128)
0206 #define HDMI_H_SYNC_END_1       HDMI_CORE_BASE(0x012C)
0207 
0208 #define HDMI_V_SYNC_LINE_BEF_2_0    HDMI_CORE_BASE(0x0130)
0209 #define HDMI_V_SYNC_LINE_BEF_2_1    HDMI_CORE_BASE(0x0134)
0210 #define HDMI_V_SYNC_LINE_BEF_1_0    HDMI_CORE_BASE(0x0138)
0211 #define HDMI_V_SYNC_LINE_BEF_1_1    HDMI_CORE_BASE(0x013C)
0212 
0213 #define HDMI_V_SYNC_LINE_AFT_2_0    HDMI_CORE_BASE(0x0140)
0214 #define HDMI_V_SYNC_LINE_AFT_2_1    HDMI_CORE_BASE(0x0144)
0215 #define HDMI_V_SYNC_LINE_AFT_1_0    HDMI_CORE_BASE(0x0148)
0216 #define HDMI_V_SYNC_LINE_AFT_1_1    HDMI_CORE_BASE(0x014C)
0217 
0218 #define HDMI_V_SYNC_LINE_AFT_PXL_2_0    HDMI_CORE_BASE(0x0150)
0219 #define HDMI_V_SYNC_LINE_AFT_PXL_2_1    HDMI_CORE_BASE(0x0154)
0220 #define HDMI_V_SYNC_LINE_AFT_PXL_1_0    HDMI_CORE_BASE(0x0158)
0221 #define HDMI_V_SYNC_LINE_AFT_PXL_1_1    HDMI_CORE_BASE(0x015C)
0222 
0223 #define HDMI_V_BLANK_F2_0       HDMI_CORE_BASE(0x0160)
0224 #define HDMI_V_BLANK_F2_1       HDMI_CORE_BASE(0x0164)
0225 #define HDMI_V_BLANK_F3_0       HDMI_CORE_BASE(0x0168)
0226 #define HDMI_V_BLANK_F3_1       HDMI_CORE_BASE(0x016C)
0227 #define HDMI_V_BLANK_F4_0       HDMI_CORE_BASE(0x0170)
0228 #define HDMI_V_BLANK_F4_1       HDMI_CORE_BASE(0x0174)
0229 #define HDMI_V_BLANK_F5_0       HDMI_CORE_BASE(0x0178)
0230 #define HDMI_V_BLANK_F5_1       HDMI_CORE_BASE(0x017C)
0231 
0232 #define HDMI_V_SYNC_LINE_AFT_3_0    HDMI_CORE_BASE(0x0180)
0233 #define HDMI_V_SYNC_LINE_AFT_3_1    HDMI_CORE_BASE(0x0184)
0234 #define HDMI_V_SYNC_LINE_AFT_4_0    HDMI_CORE_BASE(0x0188)
0235 #define HDMI_V_SYNC_LINE_AFT_4_1    HDMI_CORE_BASE(0x018C)
0236 #define HDMI_V_SYNC_LINE_AFT_5_0    HDMI_CORE_BASE(0x0190)
0237 #define HDMI_V_SYNC_LINE_AFT_5_1    HDMI_CORE_BASE(0x0194)
0238 #define HDMI_V_SYNC_LINE_AFT_6_0    HDMI_CORE_BASE(0x0198)
0239 #define HDMI_V_SYNC_LINE_AFT_6_1    HDMI_CORE_BASE(0x019C)
0240 
0241 #define HDMI_V_SYNC_LINE_AFT_PXL_3_0    HDMI_CORE_BASE(0x01A0)
0242 #define HDMI_V_SYNC_LINE_AFT_PXL_3_1    HDMI_CORE_BASE(0x01A4)
0243 #define HDMI_V_SYNC_LINE_AFT_PXL_4_0    HDMI_CORE_BASE(0x01A8)
0244 #define HDMI_V_SYNC_LINE_AFT_PXL_4_1    HDMI_CORE_BASE(0x01AC)
0245 #define HDMI_V_SYNC_LINE_AFT_PXL_5_0    HDMI_CORE_BASE(0x01B0)
0246 #define HDMI_V_SYNC_LINE_AFT_PXL_5_1    HDMI_CORE_BASE(0x01B4)
0247 #define HDMI_V_SYNC_LINE_AFT_PXL_6_0    HDMI_CORE_BASE(0x01B8)
0248 #define HDMI_V_SYNC_LINE_AFT_PXL_6_1    HDMI_CORE_BASE(0x01BC)
0249 
0250 #define HDMI_VACT_SPACE_1_0     HDMI_CORE_BASE(0x01C0)
0251 #define HDMI_VACT_SPACE_1_1     HDMI_CORE_BASE(0x01C4)
0252 #define HDMI_VACT_SPACE_2_0     HDMI_CORE_BASE(0x01C8)
0253 #define HDMI_VACT_SPACE_2_1     HDMI_CORE_BASE(0x01CC)
0254 #define HDMI_VACT_SPACE_3_0     HDMI_CORE_BASE(0x01D0)
0255 #define HDMI_VACT_SPACE_3_1     HDMI_CORE_BASE(0x01D4)
0256 #define HDMI_VACT_SPACE_4_0     HDMI_CORE_BASE(0x01D8)
0257 #define HDMI_VACT_SPACE_4_1     HDMI_CORE_BASE(0x01DC)
0258 #define HDMI_VACT_SPACE_5_0     HDMI_CORE_BASE(0x01E0)
0259 #define HDMI_VACT_SPACE_5_1     HDMI_CORE_BASE(0x01E4)
0260 #define HDMI_VACT_SPACE_6_0     HDMI_CORE_BASE(0x01E8)
0261 #define HDMI_VACT_SPACE_6_1     HDMI_CORE_BASE(0x01EC)
0262 
0263 #define HDMI_GCP_CON            HDMI_CORE_BASE(0x0200)
0264 #define HDMI_GCP_BYTE1          HDMI_CORE_BASE(0x0210)
0265 #define HDMI_GCP_BYTE2          HDMI_CORE_BASE(0x0214)
0266 #define HDMI_GCP_BYTE3          HDMI_CORE_BASE(0x0218)
0267 
0268 /* Audio related registers */
0269 #define HDMI_ASP_CON            HDMI_CORE_BASE(0x0300)
0270 #define HDMI_ASP_SP_FLAT        HDMI_CORE_BASE(0x0304)
0271 #define HDMI_ASP_CHCFG0         HDMI_CORE_BASE(0x0310)
0272 #define HDMI_ASP_CHCFG1         HDMI_CORE_BASE(0x0314)
0273 #define HDMI_ASP_CHCFG2         HDMI_CORE_BASE(0x0318)
0274 #define HDMI_ASP_CHCFG3         HDMI_CORE_BASE(0x031C)
0275 
0276 #define HDMI_V13_ACR_CON        HDMI_CORE_BASE(0x0180)
0277 #define HDMI_V13_ACR_MCTS0      HDMI_CORE_BASE(0x0184)
0278 #define HDMI_V13_ACR_MCTS1      HDMI_CORE_BASE(0x0188)
0279 #define HDMI_V13_ACR_MCTS2      HDMI_CORE_BASE(0x018C)
0280 #define HDMI_V13_ACR_CTS0       HDMI_CORE_BASE(0x0190)
0281 #define HDMI_V13_ACR_CTS1       HDMI_CORE_BASE(0x0194)
0282 #define HDMI_V13_ACR_CTS2       HDMI_CORE_BASE(0x0198)
0283 #define HDMI_V13_ACR_N0         HDMI_CORE_BASE(0x01A0)
0284 #define HDMI_V13_ACR_N1         HDMI_CORE_BASE(0x01A4)
0285 #define HDMI_V13_ACR_N2         HDMI_CORE_BASE(0x01A8)
0286 #define HDMI_V14_ACR_CON        HDMI_CORE_BASE(0x0400)
0287 #define HDMI_V14_ACR_MCTS0      HDMI_CORE_BASE(0x0410)
0288 #define HDMI_V14_ACR_MCTS1      HDMI_CORE_BASE(0x0414)
0289 #define HDMI_V14_ACR_MCTS2      HDMI_CORE_BASE(0x0418)
0290 #define HDMI_V14_ACR_CTS0       HDMI_CORE_BASE(0x0420)
0291 #define HDMI_V14_ACR_CTS1       HDMI_CORE_BASE(0x0424)
0292 #define HDMI_V14_ACR_CTS2       HDMI_CORE_BASE(0x0428)
0293 #define HDMI_V14_ACR_N0         HDMI_CORE_BASE(0x0430)
0294 #define HDMI_V14_ACR_N1         HDMI_CORE_BASE(0x0434)
0295 #define HDMI_V14_ACR_N2         HDMI_CORE_BASE(0x0438)
0296 
0297 /* Packet related registers */
0298 #define HDMI_ACP_CON            HDMI_CORE_BASE(0x0500)
0299 #define HDMI_ACP_TYPE           HDMI_CORE_BASE(0x0514)
0300 #define HDMI_ACP_DATA(n)        HDMI_CORE_BASE(0x0520 + 4 * (n))
0301 
0302 #define HDMI_ISRC_CON           HDMI_CORE_BASE(0x0600)
0303 #define HDMI_ISRC1_HEADER1      HDMI_CORE_BASE(0x0614)
0304 #define HDMI_ISRC1_DATA(n)      HDMI_CORE_BASE(0x0620 + 4 * (n))
0305 #define HDMI_ISRC2_DATA(n)      HDMI_CORE_BASE(0x06A0 + 4 * (n))
0306 
0307 #define HDMI_AVI_CON            HDMI_CORE_BASE(0x0700)
0308 #define HDMI_AVI_HEADER0        HDMI_CORE_BASE(0x0710)
0309 #define HDMI_AVI_HEADER1        HDMI_CORE_BASE(0x0714)
0310 #define HDMI_AVI_HEADER2        HDMI_CORE_BASE(0x0718)
0311 #define HDMI_AVI_CHECK_SUM      HDMI_CORE_BASE(0x071C)
0312 #define HDMI_AVI_BYTE(n)        HDMI_CORE_BASE(0x0720 + 4 * (n-1))
0313 
0314 #define HDMI_AUI_CON            HDMI_CORE_BASE(0x0800)
0315 #define HDMI_AUI_HEADER0        HDMI_CORE_BASE(0x0810)
0316 #define HDMI_AUI_HEADER1        HDMI_CORE_BASE(0x0814)
0317 #define HDMI_AUI_HEADER2        HDMI_CORE_BASE(0x0818)
0318 #define HDMI_AUI_CHECK_SUM      HDMI_CORE_BASE(0x081C)
0319 #define HDMI_AUI_BYTE(n)        HDMI_CORE_BASE(0x0820 + 4 * (n-1))
0320 
0321 #define HDMI_MPG_CON            HDMI_CORE_BASE(0x0900)
0322 #define HDMI_MPG_CHECK_SUM      HDMI_CORE_BASE(0x091C)
0323 #define HDMI_MPG_DATA(n)        HDMI_CORE_BASE(0x0920 + 4 * (n))
0324 
0325 #define HDMI_SPD_CON            HDMI_CORE_BASE(0x0A00)
0326 #define HDMI_SPD_HEADER0        HDMI_CORE_BASE(0x0A10)
0327 #define HDMI_SPD_HEADER1        HDMI_CORE_BASE(0x0A14)
0328 #define HDMI_SPD_HEADER2        HDMI_CORE_BASE(0x0A18)
0329 #define HDMI_SPD_DATA(n)        HDMI_CORE_BASE(0x0A20 + 4 * (n))
0330 
0331 #define HDMI_GAMUT_CON          HDMI_CORE_BASE(0x0B00)
0332 #define HDMI_GAMUT_HEADER0      HDMI_CORE_BASE(0x0B10)
0333 #define HDMI_GAMUT_HEADER1      HDMI_CORE_BASE(0x0B14)
0334 #define HDMI_GAMUT_HEADER2      HDMI_CORE_BASE(0x0B18)
0335 #define HDMI_GAMUT_METADATA(n)      HDMI_CORE_BASE(0x0B20 + 4 * (n))
0336 
0337 #define HDMI_VSI_CON            HDMI_CORE_BASE(0x0C00)
0338 #define HDMI_VSI_HEADER0        HDMI_CORE_BASE(0x0C10)
0339 #define HDMI_VSI_HEADER1        HDMI_CORE_BASE(0x0C14)
0340 #define HDMI_VSI_HEADER2        HDMI_CORE_BASE(0x0C18)
0341 #define HDMI_VSI_DATA(n)        HDMI_CORE_BASE(0x0C20 + 4 * (n))
0342 
0343 #define HDMI_DC_CONTROL         HDMI_CORE_BASE(0x0D00)
0344 #define HDMI_VIDEO_PATTERN_GEN      HDMI_CORE_BASE(0x0D04)
0345 
0346 #define HDMI_AN_SEED_SEL        HDMI_CORE_BASE(0x0E48)
0347 #define HDMI_AN_SEED_0          HDMI_CORE_BASE(0x0E58)
0348 #define HDMI_AN_SEED_1          HDMI_CORE_BASE(0x0E5C)
0349 #define HDMI_AN_SEED_2          HDMI_CORE_BASE(0x0E60)
0350 #define HDMI_AN_SEED_3          HDMI_CORE_BASE(0x0E64)
0351 
0352 /* AVI bit definition */
0353 #define HDMI_AVI_CON_DO_NOT_TRANSMIT    (0 << 1)
0354 #define HDMI_AVI_CON_EVERY_VSYNC    (1 << 1)
0355 
0356 #define AVI_ACTIVE_FORMAT_VALID (1 << 4)
0357 #define AVI_UNDERSCANNED_DISPLAY_VALID  (1 << 1)
0358 
0359 /* AUI bit definition */
0360 #define HDMI_AUI_CON_NO_TRAN        (0 << 0)
0361 #define HDMI_AUI_CON_EVERY_VSYNC    (1 << 1)
0362 
0363 /* VSI bit definition */
0364 #define HDMI_VSI_CON_DO_NOT_TRANSMIT    (0 << 0)
0365 #define HDMI_VSI_CON_EVERY_VSYNC    (1 << 1)
0366 
0367 /* HDCP related registers */
0368 #define HDMI_HDCP_SHA1(n)       HDMI_CORE_BASE(0x7000 + 4 * (n))
0369 #define HDMI_HDCP_KSV_LIST(n)       HDMI_CORE_BASE(0x7050 + 4 * (n))
0370 
0371 #define HDMI_HDCP_KSV_LIST_CON      HDMI_CORE_BASE(0x7064)
0372 #define HDMI_HDCP_SHA_RESULT        HDMI_CORE_BASE(0x7070)
0373 #define HDMI_HDCP_CTRL1         HDMI_CORE_BASE(0x7080)
0374 #define HDMI_HDCP_CTRL2         HDMI_CORE_BASE(0x7084)
0375 #define HDMI_HDCP_CHECK_RESULT      HDMI_CORE_BASE(0x7090)
0376 #define HDMI_HDCP_BKSV(n)       HDMI_CORE_BASE(0x70A0 + 4 * (n))
0377 #define HDMI_HDCP_AKSV(n)       HDMI_CORE_BASE(0x70C0 + 4 * (n))
0378 #define HDMI_HDCP_AN(n)         HDMI_CORE_BASE(0x70E0 + 4 * (n))
0379 
0380 #define HDMI_HDCP_BCAPS         HDMI_CORE_BASE(0x7100)
0381 #define HDMI_HDCP_BSTATUS_0     HDMI_CORE_BASE(0x7110)
0382 #define HDMI_HDCP_BSTATUS_1     HDMI_CORE_BASE(0x7114)
0383 #define HDMI_HDCP_RI_0          HDMI_CORE_BASE(0x7140)
0384 #define HDMI_HDCP_RI_1          HDMI_CORE_BASE(0x7144)
0385 #define HDMI_HDCP_I2C_INT       HDMI_CORE_BASE(0x7180)
0386 #define HDMI_HDCP_AN_INT        HDMI_CORE_BASE(0x7190)
0387 #define HDMI_HDCP_WDT_INT       HDMI_CORE_BASE(0x71A0)
0388 #define HDMI_HDCP_RI_INT        HDMI_CORE_BASE(0x71B0)
0389 #define HDMI_HDCP_RI_COMPARE_0      HDMI_CORE_BASE(0x71D0)
0390 #define HDMI_HDCP_RI_COMPARE_1      HDMI_CORE_BASE(0x71D4)
0391 #define HDMI_HDCP_FRAME_COUNT       HDMI_CORE_BASE(0x71E0)
0392 
0393 #define HDMI_RGB_ROUND_EN       HDMI_CORE_BASE(0xD500)
0394 #define HDMI_VACT_SPACE_R_0     HDMI_CORE_BASE(0xD504)
0395 #define HDMI_VACT_SPACE_R_1     HDMI_CORE_BASE(0xD508)
0396 #define HDMI_VACT_SPACE_G_0     HDMI_CORE_BASE(0xD50C)
0397 #define HDMI_VACT_SPACE_G_1     HDMI_CORE_BASE(0xD510)
0398 #define HDMI_VACT_SPACE_B_0     HDMI_CORE_BASE(0xD514)
0399 #define HDMI_VACT_SPACE_B_1     HDMI_CORE_BASE(0xD518)
0400 
0401 #define HDMI_BLUE_SCREEN_B_0        HDMI_CORE_BASE(0xD520)
0402 #define HDMI_BLUE_SCREEN_B_1        HDMI_CORE_BASE(0xD524)
0403 #define HDMI_BLUE_SCREEN_G_0        HDMI_CORE_BASE(0xD528)
0404 #define HDMI_BLUE_SCREEN_G_1        HDMI_CORE_BASE(0xD52C)
0405 #define HDMI_BLUE_SCREEN_R_0        HDMI_CORE_BASE(0xD530)
0406 #define HDMI_BLUE_SCREEN_R_1        HDMI_CORE_BASE(0xD534)
0407 
0408 /* HDMI I2S register */
0409 #define HDMI_I2S_CLK_CON        HDMI_I2S_BASE(0x000)
0410 #define HDMI_I2S_CON_1          HDMI_I2S_BASE(0x004)
0411 #define HDMI_I2S_CON_2          HDMI_I2S_BASE(0x008)
0412 #define HDMI_I2S_PIN_SEL_0      HDMI_I2S_BASE(0x00c)
0413 #define HDMI_I2S_PIN_SEL_1      HDMI_I2S_BASE(0x010)
0414 #define HDMI_I2S_PIN_SEL_2      HDMI_I2S_BASE(0x014)
0415 #define HDMI_I2S_PIN_SEL_3      HDMI_I2S_BASE(0x018)
0416 #define HDMI_I2S_DSD_CON        HDMI_I2S_BASE(0x01c)
0417 #define HDMI_I2S_MUX_CON        HDMI_I2S_BASE(0x020)
0418 #define HDMI_I2S_CH_ST_CON      HDMI_I2S_BASE(0x024)
0419 /* n must be within range 0...(HDMI_I2S_CH_ST_MAXNUM - 1) */
0420 #define HDMI_I2S_CH_ST_MAXNUM       5
0421 #define HDMI_I2S_CH_ST(n)       HDMI_I2S_BASE(0x028 + 4 * (n))
0422 #define HDMI_I2S_CH_ST_SH_0     HDMI_I2S_BASE(0x03c)
0423 #define HDMI_I2S_CH_ST_SH_1     HDMI_I2S_BASE(0x040)
0424 #define HDMI_I2S_CH_ST_SH_2     HDMI_I2S_BASE(0x044)
0425 #define HDMI_I2S_CH_ST_SH_3     HDMI_I2S_BASE(0x048)
0426 #define HDMI_I2S_CH_ST_SH_4     HDMI_I2S_BASE(0x04c)
0427 #define HDMI_I2S_MUX_CH         HDMI_I2S_BASE(0x054)
0428 #define HDMI_I2S_MUX_CUV        HDMI_I2S_BASE(0x058)
0429 
0430 /* I2S bit definition */
0431 
0432 /* I2S_CLK_CON */
0433 #define HDMI_I2S_CLK_DIS        (0)
0434 #define HDMI_I2S_CLK_EN         (1)
0435 
0436 /* I2S_CON_1 */
0437 #define HDMI_I2S_SCLK_FALLING_EDGE  (0 << 1)
0438 #define HDMI_I2S_SCLK_RISING_EDGE   (1 << 1)
0439 #define HDMI_I2S_L_CH_LOW_POL       (0)
0440 #define HDMI_I2S_L_CH_HIGH_POL      (1)
0441 
0442 /* I2S_CON_2 */
0443 #define HDMI_I2S_MSB_FIRST_MODE     (0 << 6)
0444 #define HDMI_I2S_LSB_FIRST_MODE     (1 << 6)
0445 #define HDMI_I2S_BIT_CH_32FS        (0 << 4)
0446 #define HDMI_I2S_BIT_CH_48FS        (1 << 4)
0447 #define HDMI_I2S_BIT_CH_RESERVED    (2 << 4)
0448 #define HDMI_I2S_SDATA_16BIT        (1 << 2)
0449 #define HDMI_I2S_SDATA_20BIT        (2 << 2)
0450 #define HDMI_I2S_SDATA_24BIT        (3 << 2)
0451 #define HDMI_I2S_BASIC_FORMAT       (0)
0452 #define HDMI_I2S_L_JUST_FORMAT      (2)
0453 #define HDMI_I2S_R_JUST_FORMAT      (3)
0454 #define HDMI_I2S_CON_2_CLR      (~(0xFF))
0455 #define HDMI_I2S_SET_BIT_CH(x)      (((x) & 0x7) << 4)
0456 #define HDMI_I2S_SET_SDATA_BIT(x)   (((x) & 0x7) << 2)
0457 
0458 /* I2S_PIN_SEL_0 */
0459 #define HDMI_I2S_SEL_SCLK(x)        (((x) & 0x7) << 4)
0460 #define HDMI_I2S_SEL_LRCK(x)        ((x) & 0x7)
0461 
0462 /* I2S_PIN_SEL_1 */
0463 #define HDMI_I2S_SEL_SDATA1(x)      (((x) & 0x7) << 4)
0464 #define HDMI_I2S_SEL_SDATA0(x)      ((x) & 0x7)
0465 
0466 /* I2S_PIN_SEL_2 */
0467 #define HDMI_I2S_SEL_SDATA3(x)      (((x) & 0x7) << 4)
0468 #define HDMI_I2S_SEL_SDATA2(x)      ((x) & 0x7)
0469 
0470 /* I2S_PIN_SEL_3 */
0471 #define HDMI_I2S_SEL_DSD(x)     ((x) & 0x7)
0472 
0473 /* I2S_DSD_CON */
0474 #define HDMI_I2S_DSD_CLK_RI_EDGE    (1 << 1)
0475 #define HDMI_I2S_DSD_CLK_FA_EDGE    (0 << 1)
0476 #define HDMI_I2S_DSD_ENABLE     (1)
0477 #define HDMI_I2S_DSD_DISABLE        (0)
0478 
0479 /* I2S_MUX_CON */
0480 #define HDMI_I2S_NOISE_FILTER_ZERO  (0 << 5)
0481 #define HDMI_I2S_NOISE_FILTER_2_STAGE   (1 << 5)
0482 #define HDMI_I2S_NOISE_FILTER_3_STAGE   (2 << 5)
0483 #define HDMI_I2S_NOISE_FILTER_4_STAGE   (3 << 5)
0484 #define HDMI_I2S_NOISE_FILTER_5_STAGE   (4 << 5)
0485 #define HDMI_I2S_IN_DISABLE     (1 << 4)
0486 #define HDMI_I2S_IN_ENABLE      (0 << 4)
0487 #define HDMI_I2S_AUD_SPDIF      (0 << 2)
0488 #define HDMI_I2S_AUD_I2S        (1 << 2)
0489 #define HDMI_I2S_AUD_DSD        (2 << 2)
0490 #define HDMI_I2S_CUV_SPDIF_ENABLE   (0 << 1)
0491 #define HDMI_I2S_CUV_I2S_ENABLE     (1 << 1)
0492 #define HDMI_I2S_MUX_DISABLE        (0)
0493 #define HDMI_I2S_MUX_ENABLE     (1)
0494 #define HDMI_I2S_MUX_CON_CLR        (~(0xFF))
0495 
0496 /* I2S_CH_ST_CON */
0497 #define HDMI_I2S_CH_STATUS_RELOAD   (1)
0498 #define HDMI_I2S_CH_ST_CON_CLR      (~(1))
0499 
0500 /* I2S_CH_ST_0 / I2S_CH_ST_SH_0 */
0501 #define HDMI_I2S_CH_STATUS_MODE_0   (0 << 6)
0502 #define HDMI_I2S_2AUD_CH_WITHOUT_PREEMPH    (0 << 3)
0503 #define HDMI_I2S_2AUD_CH_WITH_PREEMPH   (1 << 3)
0504 #define HDMI_I2S_DEFAULT_EMPHASIS   (0 << 3)
0505 #define HDMI_I2S_COPYRIGHT      (0 << 2)
0506 #define HDMI_I2S_NO_COPYRIGHT       (1 << 2)
0507 #define HDMI_I2S_LINEAR_PCM     (0 << 1)
0508 #define HDMI_I2S_NO_LINEAR_PCM      (1 << 1)
0509 #define HDMI_I2S_CONSUMER_FORMAT    (0)
0510 #define HDMI_I2S_PROF_FORMAT        (1)
0511 #define HDMI_I2S_CH_ST_0_CLR        (~(0xFF))
0512 
0513 /* I2S_CH_ST_1 / I2S_CH_ST_SH_1 */
0514 #define HDMI_I2S_CD_PLAYER      (0x00)
0515 #define HDMI_I2S_DAT_PLAYER     (0x03)
0516 #define HDMI_I2S_DCC_PLAYER     (0x43)
0517 #define HDMI_I2S_MINI_DISC_PLAYER   (0x49)
0518 
0519 /* I2S_CH_ST_2 / I2S_CH_ST_SH_2 */
0520 #define HDMI_I2S_CHANNEL_NUM_MASK   (0xF << 4)
0521 #define HDMI_I2S_SOURCE_NUM_MASK    (0xF)
0522 #define HDMI_I2S_SET_CHANNEL_NUM(x) (((x) & (0xF)) << 4)
0523 #define HDMI_I2S_SET_SOURCE_NUM(x)  ((x) & (0xF))
0524 
0525 /* I2S_CH_ST_3 / I2S_CH_ST_SH_3 */
0526 #define HDMI_I2S_CLK_ACCUR_LEVEL_1  (1 << 4)
0527 #define HDMI_I2S_CLK_ACCUR_LEVEL_2  (0 << 4)
0528 #define HDMI_I2S_CLK_ACCUR_LEVEL_3  (2 << 4)
0529 #define HDMI_I2S_SMP_FREQ_44_1      (0x0)
0530 #define HDMI_I2S_SMP_FREQ_48        (0x2)
0531 #define HDMI_I2S_SMP_FREQ_32        (0x3)
0532 #define HDMI_I2S_SMP_FREQ_96        (0xA)
0533 #define HDMI_I2S_SET_SMP_FREQ(x)    ((x) & (0xF))
0534 
0535 /* I2S_CH_ST_4 / I2S_CH_ST_SH_4 */
0536 #define HDMI_I2S_ORG_SMP_FREQ_44_1  (0xF << 4)
0537 #define HDMI_I2S_ORG_SMP_FREQ_88_2  (0x7 << 4)
0538 #define HDMI_I2S_ORG_SMP_FREQ_22_05 (0xB << 4)
0539 #define HDMI_I2S_ORG_SMP_FREQ_176_4 (0x3 << 4)
0540 #define HDMI_I2S_WORD_LEN_NOT_DEFINE    (0x0 << 1)
0541 #define HDMI_I2S_WORD_LEN_MAX24_20BITS  (0x1 << 1)
0542 #define HDMI_I2S_WORD_LEN_MAX24_22BITS  (0x2 << 1)
0543 #define HDMI_I2S_WORD_LEN_MAX24_23BITS  (0x4 << 1)
0544 #define HDMI_I2S_WORD_LEN_MAX24_24BITS  (0x5 << 1)
0545 #define HDMI_I2S_WORD_LEN_MAX24_21BITS  (0x6 << 1)
0546 #define HDMI_I2S_WORD_LEN_MAX20_16BITS  (0x1 << 1)
0547 #define HDMI_I2S_WORD_LEN_MAX20_18BITS  (0x2 << 1)
0548 #define HDMI_I2S_WORD_LEN_MAX20_19BITS  (0x4 << 1)
0549 #define HDMI_I2S_WORD_LEN_MAX20_20BITS  (0x5 << 1)
0550 #define HDMI_I2S_WORD_LEN_MAX20_17BITS  (0x6 << 1)
0551 #define HDMI_I2S_WORD_LEN_MAX_24BITS    (1)
0552 #define HDMI_I2S_WORD_LEN_MAX_20BITS    (0)
0553 
0554 /* I2S_MUX_CH */
0555 #define HDMI_I2S_CH3_R_EN       (1 << 7)
0556 #define HDMI_I2S_CH3_L_EN       (1 << 6)
0557 #define HDMI_I2S_CH3_EN         (3 << 6)
0558 #define HDMI_I2S_CH2_R_EN       (1 << 5)
0559 #define HDMI_I2S_CH2_L_EN       (1 << 4)
0560 #define HDMI_I2S_CH2_EN         (3 << 4)
0561 #define HDMI_I2S_CH1_R_EN       (1 << 3)
0562 #define HDMI_I2S_CH1_L_EN       (1 << 2)
0563 #define HDMI_I2S_CH1_EN         (3 << 2)
0564 #define HDMI_I2S_CH0_R_EN       (1 << 1)
0565 #define HDMI_I2S_CH0_L_EN       (1)
0566 #define HDMI_I2S_CH0_EN         (3)
0567 #define HDMI_I2S_CH_ALL_EN      (0xFF)
0568 #define HDMI_I2S_MUX_CH_CLR     (~HDMI_I2S_CH_ALL_EN)
0569 
0570 /* I2S_MUX_CUV */
0571 #define HDMI_I2S_CUV_R_EN       (1 << 1)
0572 #define HDMI_I2S_CUV_L_EN       (1)
0573 #define HDMI_I2S_CUV_RL_EN      (0x03)
0574 
0575 /* I2S_CUV_L_R */
0576 #define HDMI_I2S_CUV_R_DATA_MASK    (0x7 << 4)
0577 #define HDMI_I2S_CUV_L_DATA_MASK    (0x7)
0578 
0579 /* Timing generator registers */
0580 /* TG configure/status registers */
0581 #define HDMI_TG_VACT_ST3_L      HDMI_TG_BASE(0x0068)
0582 #define HDMI_TG_VACT_ST3_H      HDMI_TG_BASE(0x006c)
0583 #define HDMI_TG_VACT_ST4_L      HDMI_TG_BASE(0x0070)
0584 #define HDMI_TG_VACT_ST4_H      HDMI_TG_BASE(0x0074)
0585 #define HDMI_TG_3D          HDMI_TG_BASE(0x00F0)
0586 #define HDMI_TG_DECON_EN        HDMI_TG_BASE(0x01e0)
0587 
0588 /* HDMI PHY Registers Offsets*/
0589 #define HDMIPHY_POWER           0x74
0590 #define HDMIPHY_MODE_SET_DONE       0x7c
0591 #define HDMIPHY5433_MODE_SET_DONE   0x84
0592 
0593 /* HDMI PHY Values */
0594 #define HDMI_PHY_POWER_ON              0x80
0595 #define HDMI_PHY_POWER_OFF             0xff
0596 
0597 /* HDMI PHY Values */
0598 #define HDMI_PHY_DISABLE_MODE_SET   0x80
0599 #define HDMI_PHY_ENABLE_MODE_SET    0x00
0600 
0601 /* PMU Registers for PHY */
0602 #define PMU_HDMI_PHY_CONTROL        0x700
0603 #define PMU_HDMI_PHY_ENABLE_BIT     BIT(0)
0604 
0605 #define EXYNOS5433_SYSREG_DISP_HDMI_PHY 0x1008
0606 #define SYSREG_HDMI_REFCLK_INT_CLK  1
0607 
0608 #endif /* SAMSUNG_REGS_HDMI_H */