1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 23424e3a4SYakir Yang /* 33424e3a4SYakir Yang * Register definition file for Analogix DP core driver 43424e3a4SYakir Yang * 53424e3a4SYakir Yang * Copyright (C) 2012 Samsung Electronics Co., Ltd. 63424e3a4SYakir Yang * Author: Jingoo Han <jg1.han@samsung.com> 73424e3a4SYakir Yang */ 83424e3a4SYakir Yang 93424e3a4SYakir Yang #ifndef _ANALOGIX_DP_REG_H 103424e3a4SYakir Yang #define _ANALOGIX_DP_REG_H 113424e3a4SYakir Yang 12092f8994SHeiko Stuebner #define ANALOGIX_DP_TX_SW_RESET 0x14 13092f8994SHeiko Stuebner #define ANALOGIX_DP_FUNC_EN_1 0x18 14092f8994SHeiko Stuebner #define ANALOGIX_DP_FUNC_EN_2 0x1C 15092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_CTL_1 0x20 16092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_CTL_2 0x24 17092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_CTL_3 0x28 183424e3a4SYakir Yang 19092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_CTL_8 0x3C 20092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_CTL_10 0x44 213424e3a4SYakir Yang 225b3f84f2SYakir Yang #define ANALOGIX_DP_SPDIF_AUDIO_CTL_0 0xD8 235b3f84f2SYakir Yang 24bcec20fdSYakir Yang #define ANALOGIX_DP_PLL_REG_1 0xfc 25bcec20fdSYakir Yang #define ANALOGIX_DP_PLL_REG_2 0x9e4 26bcec20fdSYakir Yang #define ANALOGIX_DP_PLL_REG_3 0x9e8 27bcec20fdSYakir Yang #define ANALOGIX_DP_PLL_REG_4 0x9ec 28bcec20fdSYakir Yang #define ANALOGIX_DP_PLL_REG_5 0xa00 29bcec20fdSYakir Yang 30bcec20fdSYakir Yang #define ANALOGIX_DP_PD 0x12c 31bcec20fdSYakir Yang 325b3f84f2SYakir Yang #define ANALOGIX_DP_IF_TYPE 0x244 335b3f84f2SYakir Yang #define ANALOGIX_DP_IF_PKT_DB1 0x254 345b3f84f2SYakir Yang #define ANALOGIX_DP_IF_PKT_DB2 0x258 355b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_HB0 0x2F8 365b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_HB1 0x2FC 375b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_HB2 0x300 385b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_HB3 0x304 395b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_PB0 0x308 405b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_PB1 0x30C 415b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_PB2 0x310 425b3f84f2SYakir Yang #define ANALOGIX_DP_SPD_PB3 0x314 435b3f84f2SYakir Yang #define ANALOGIX_DP_PSR_FRAME_UPDATE_CTRL 0x318 445b3f84f2SYakir Yang #define ANALOGIX_DP_VSC_SHADOW_DB0 0x31C 455b3f84f2SYakir Yang #define ANALOGIX_DP_VSC_SHADOW_DB1 0x320 465b3f84f2SYakir Yang 47092f8994SHeiko Stuebner #define ANALOGIX_DP_LANE_MAP 0x35C 483424e3a4SYakir Yang 49092f8994SHeiko Stuebner #define ANALOGIX_DP_ANALOG_CTL_1 0x370 50092f8994SHeiko Stuebner #define ANALOGIX_DP_ANALOG_CTL_2 0x374 51092f8994SHeiko Stuebner #define ANALOGIX_DP_ANALOG_CTL_3 0x378 52092f8994SHeiko Stuebner #define ANALOGIX_DP_PLL_FILTER_CTL_1 0x37C 53092f8994SHeiko Stuebner #define ANALOGIX_DP_TX_AMP_TUNING_CTL 0x380 543424e3a4SYakir Yang 55092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_HW_RETRY_CTL 0x390 563424e3a4SYakir Yang 57092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_STA_1 0x3C4 58092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_STA_2 0x3C8 59092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_STA_3 0x3CC 60092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_STA_4 0x3D0 61092f8994SHeiko Stuebner #define ANALOGIX_DP_INT_STA 0x3DC 62092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_MASK_1 0x3E0 63092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_MASK_2 0x3E4 64092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_MASK_3 0x3E8 65092f8994SHeiko Stuebner #define ANALOGIX_DP_COMMON_INT_MASK_4 0x3EC 66092f8994SHeiko Stuebner #define ANALOGIX_DP_INT_STA_MASK 0x3F8 67092f8994SHeiko Stuebner #define ANALOGIX_DP_INT_CTL 0x3FC 683424e3a4SYakir Yang 69092f8994SHeiko Stuebner #define ANALOGIX_DP_SYS_CTL_1 0x600 70092f8994SHeiko Stuebner #define ANALOGIX_DP_SYS_CTL_2 0x604 71092f8994SHeiko Stuebner #define ANALOGIX_DP_SYS_CTL_3 0x608 72092f8994SHeiko Stuebner #define ANALOGIX_DP_SYS_CTL_4 0x60C 733424e3a4SYakir Yang 74092f8994SHeiko Stuebner #define ANALOGIX_DP_PKT_SEND_CTL 0x640 75092f8994SHeiko Stuebner #define ANALOGIX_DP_HDCP_CTL 0x648 763424e3a4SYakir Yang 77092f8994SHeiko Stuebner #define ANALOGIX_DP_LINK_BW_SET 0x680 78092f8994SHeiko Stuebner #define ANALOGIX_DP_LANE_COUNT_SET 0x684 79092f8994SHeiko Stuebner #define ANALOGIX_DP_TRAINING_PTN_SET 0x688 80092f8994SHeiko Stuebner #define ANALOGIX_DP_LN0_LINK_TRAINING_CTL 0x68C 81092f8994SHeiko Stuebner #define ANALOGIX_DP_LN1_LINK_TRAINING_CTL 0x690 82092f8994SHeiko Stuebner #define ANALOGIX_DP_LN2_LINK_TRAINING_CTL 0x694 83092f8994SHeiko Stuebner #define ANALOGIX_DP_LN3_LINK_TRAINING_CTL 0x698 843424e3a4SYakir Yang 85092f8994SHeiko Stuebner #define ANALOGIX_DP_DEBUG_CTL 0x6C0 86092f8994SHeiko Stuebner #define ANALOGIX_DP_HPD_DEGLITCH_L 0x6C4 87092f8994SHeiko Stuebner #define ANALOGIX_DP_HPD_DEGLITCH_H 0x6C8 88092f8994SHeiko Stuebner #define ANALOGIX_DP_LINK_DEBUG_CTL 0x6E0 893424e3a4SYakir Yang 90092f8994SHeiko Stuebner #define ANALOGIX_DP_M_VID_0 0x700 91092f8994SHeiko Stuebner #define ANALOGIX_DP_M_VID_1 0x704 92092f8994SHeiko Stuebner #define ANALOGIX_DP_M_VID_2 0x708 93092f8994SHeiko Stuebner #define ANALOGIX_DP_N_VID_0 0x70C 94092f8994SHeiko Stuebner #define ANALOGIX_DP_N_VID_1 0x710 95092f8994SHeiko Stuebner #define ANALOGIX_DP_N_VID_2 0x714 963424e3a4SYakir Yang 97092f8994SHeiko Stuebner #define ANALOGIX_DP_PLL_CTL 0x71C 98092f8994SHeiko Stuebner #define ANALOGIX_DP_PHY_PD 0x720 99092f8994SHeiko Stuebner #define ANALOGIX_DP_PHY_TEST 0x724 1003424e3a4SYakir Yang 101092f8994SHeiko Stuebner #define ANALOGIX_DP_VIDEO_FIFO_THRD 0x730 102092f8994SHeiko Stuebner #define ANALOGIX_DP_AUDIO_MARGIN 0x73C 1033424e3a4SYakir Yang 104092f8994SHeiko Stuebner #define ANALOGIX_DP_M_VID_GEN_FILTER_TH 0x764 105092f8994SHeiko Stuebner #define ANALOGIX_DP_M_AUD_GEN_FILTER_TH 0x778 106092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_CH_STA 0x780 107092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_CH_DEFER_CTL 0x788 108092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_RX_COMM 0x78C 109092f8994SHeiko Stuebner #define ANALOGIX_DP_BUFFER_DATA_CTL 0x790 110092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_CH_CTL_1 0x794 111092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_ADDR_7_0 0x798 112092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_ADDR_15_8 0x79C 113092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_ADDR_19_16 0x7A0 114092f8994SHeiko Stuebner #define ANALOGIX_DP_AUX_CH_CTL_2 0x7A4 1153424e3a4SYakir Yang 116092f8994SHeiko Stuebner #define ANALOGIX_DP_BUF_DATA_0 0x7C0 1173424e3a4SYakir Yang 118092f8994SHeiko Stuebner #define ANALOGIX_DP_SOC_GENERAL_CTL 0x800 1193424e3a4SYakir Yang 1205b3f84f2SYakir Yang #define ANALOGIX_DP_CRC_CON 0x890 1215b3f84f2SYakir Yang 122092f8994SHeiko Stuebner /* ANALOGIX_DP_TX_SW_RESET */ 1233424e3a4SYakir Yang #define RESET_DP_TX (0x1 << 0) 1243424e3a4SYakir Yang 125092f8994SHeiko Stuebner /* ANALOGIX_DP_FUNC_EN_1 */ 1263424e3a4SYakir Yang #define MASTER_VID_FUNC_EN_N (0x1 << 7) 1274805b7ceSzain wang #define RK_VID_CAP_FUNC_EN_N (0x1 << 6) 1283424e3a4SYakir Yang #define SLAVE_VID_FUNC_EN_N (0x1 << 5) 1294805b7ceSzain wang #define RK_VID_FIFO_FUNC_EN_N (0x1 << 5) 1303424e3a4SYakir Yang #define AUD_FIFO_FUNC_EN_N (0x1 << 4) 1313424e3a4SYakir Yang #define AUD_FUNC_EN_N (0x1 << 3) 1323424e3a4SYakir Yang #define HDCP_FUNC_EN_N (0x1 << 2) 1333424e3a4SYakir Yang #define CRC_FUNC_EN_N (0x1 << 1) 1343424e3a4SYakir Yang #define SW_FUNC_EN_N (0x1 << 0) 1353424e3a4SYakir Yang 136092f8994SHeiko Stuebner /* ANALOGIX_DP_FUNC_EN_2 */ 1373424e3a4SYakir Yang #define SSC_FUNC_EN_N (0x1 << 7) 1383424e3a4SYakir Yang #define AUX_FUNC_EN_N (0x1 << 2) 1393424e3a4SYakir Yang #define SERDES_FIFO_FUNC_EN_N (0x1 << 1) 1403424e3a4SYakir Yang #define LS_CLK_DOMAIN_FUNC_EN_N (0x1 << 0) 1413424e3a4SYakir Yang 142092f8994SHeiko Stuebner /* ANALOGIX_DP_VIDEO_CTL_1 */ 1433424e3a4SYakir Yang #define VIDEO_EN (0x1 << 7) 1443424e3a4SYakir Yang #define HDCP_VIDEO_MUTE (0x1 << 6) 1453424e3a4SYakir Yang 146092f8994SHeiko Stuebner /* ANALOGIX_DP_VIDEO_CTL_1 */ 1473424e3a4SYakir Yang #define IN_D_RANGE_MASK (0x1 << 7) 1483424e3a4SYakir Yang #define IN_D_RANGE_SHIFT (7) 1493424e3a4SYakir Yang #define IN_D_RANGE_CEA (0x1 << 7) 1503424e3a4SYakir Yang #define IN_D_RANGE_VESA (0x0 << 7) 1513424e3a4SYakir Yang #define IN_BPC_MASK (0x7 << 4) 1523424e3a4SYakir Yang #define IN_BPC_SHIFT (4) 1533424e3a4SYakir Yang #define IN_BPC_12_BITS (0x3 << 4) 1543424e3a4SYakir Yang #define IN_BPC_10_BITS (0x2 << 4) 1553424e3a4SYakir Yang #define IN_BPC_8_BITS (0x1 << 4) 1563424e3a4SYakir Yang #define IN_BPC_6_BITS (0x0 << 4) 1573424e3a4SYakir Yang #define IN_COLOR_F_MASK (0x3 << 0) 1583424e3a4SYakir Yang #define IN_COLOR_F_SHIFT (0) 1593424e3a4SYakir Yang #define IN_COLOR_F_YCBCR444 (0x2 << 0) 1603424e3a4SYakir Yang #define IN_COLOR_F_YCBCR422 (0x1 << 0) 1613424e3a4SYakir Yang #define IN_COLOR_F_RGB (0x0 << 0) 1623424e3a4SYakir Yang 163092f8994SHeiko Stuebner /* ANALOGIX_DP_VIDEO_CTL_3 */ 1643424e3a4SYakir Yang #define IN_YC_COEFFI_MASK (0x1 << 7) 1653424e3a4SYakir Yang #define IN_YC_COEFFI_SHIFT (7) 1663424e3a4SYakir Yang #define IN_YC_COEFFI_ITU709 (0x1 << 7) 1673424e3a4SYakir Yang #define IN_YC_COEFFI_ITU601 (0x0 << 7) 1683424e3a4SYakir Yang #define VID_CHK_UPDATE_TYPE_MASK (0x1 << 4) 1693424e3a4SYakir Yang #define VID_CHK_UPDATE_TYPE_SHIFT (4) 1703424e3a4SYakir Yang #define VID_CHK_UPDATE_TYPE_1 (0x1 << 4) 1713424e3a4SYakir Yang #define VID_CHK_UPDATE_TYPE_0 (0x0 << 4) 1725b3f84f2SYakir Yang #define REUSE_SPD_EN (0x1 << 3) 1733424e3a4SYakir Yang 174092f8994SHeiko Stuebner /* ANALOGIX_DP_VIDEO_CTL_8 */ 1753424e3a4SYakir Yang #define VID_HRES_TH(x) (((x) & 0xf) << 4) 1763424e3a4SYakir Yang #define VID_VRES_TH(x) (((x) & 0xf) << 0) 1773424e3a4SYakir Yang 178092f8994SHeiko Stuebner /* ANALOGIX_DP_VIDEO_CTL_10 */ 1793424e3a4SYakir Yang #define FORMAT_SEL (0x1 << 4) 1803424e3a4SYakir Yang #define INTERACE_SCAN_CFG (0x1 << 2) 1813424e3a4SYakir Yang #define VSYNC_POLARITY_CFG (0x1 << 1) 1823424e3a4SYakir Yang #define HSYNC_POLARITY_CFG (0x1 << 0) 1833424e3a4SYakir Yang 184bcec20fdSYakir Yang /* ANALOGIX_DP_PLL_REG_1 */ 185cb5571fcSYakir Yang #define REF_CLK_24M (0x1 << 0) 186cb5571fcSYakir Yang #define REF_CLK_27M (0x0 << 0) 1877bdc0720SYakir Yang #define REF_CLK_MASK (0x1 << 0) 188bcec20fdSYakir Yang 1895b3f84f2SYakir Yang /* ANALOGIX_DP_PSR_FRAME_UPDATE_CTRL */ 1905b3f84f2SYakir Yang #define PSR_FRAME_UP_TYPE_BURST (0x1 << 0) 1915b3f84f2SYakir Yang #define PSR_FRAME_UP_TYPE_SINGLE (0x0 << 0) 1925b3f84f2SYakir Yang #define PSR_CRC_SEL_HARDWARE (0x1 << 1) 1935b3f84f2SYakir Yang #define PSR_CRC_SEL_MANUALLY (0x0 << 1) 1945b3f84f2SYakir Yang 195092f8994SHeiko Stuebner /* ANALOGIX_DP_LANE_MAP */ 1963424e3a4SYakir Yang #define LANE3_MAP_LOGIC_LANE_0 (0x0 << 6) 1973424e3a4SYakir Yang #define LANE3_MAP_LOGIC_LANE_1 (0x1 << 6) 1983424e3a4SYakir Yang #define LANE3_MAP_LOGIC_LANE_2 (0x2 << 6) 1993424e3a4SYakir Yang #define LANE3_MAP_LOGIC_LANE_3 (0x3 << 6) 2003424e3a4SYakir Yang #define LANE2_MAP_LOGIC_LANE_0 (0x0 << 4) 2013424e3a4SYakir Yang #define LANE2_MAP_LOGIC_LANE_1 (0x1 << 4) 2023424e3a4SYakir Yang #define LANE2_MAP_LOGIC_LANE_2 (0x2 << 4) 2033424e3a4SYakir Yang #define LANE2_MAP_LOGIC_LANE_3 (0x3 << 4) 2043424e3a4SYakir Yang #define LANE1_MAP_LOGIC_LANE_0 (0x0 << 2) 2053424e3a4SYakir Yang #define LANE1_MAP_LOGIC_LANE_1 (0x1 << 2) 2063424e3a4SYakir Yang #define LANE1_MAP_LOGIC_LANE_2 (0x2 << 2) 2073424e3a4SYakir Yang #define LANE1_MAP_LOGIC_LANE_3 (0x3 << 2) 2083424e3a4SYakir Yang #define LANE0_MAP_LOGIC_LANE_0 (0x0 << 0) 2093424e3a4SYakir Yang #define LANE0_MAP_LOGIC_LANE_1 (0x1 << 0) 2103424e3a4SYakir Yang #define LANE0_MAP_LOGIC_LANE_2 (0x2 << 0) 2113424e3a4SYakir Yang #define LANE0_MAP_LOGIC_LANE_3 (0x3 << 0) 2123424e3a4SYakir Yang 213092f8994SHeiko Stuebner /* ANALOGIX_DP_ANALOG_CTL_1 */ 2143424e3a4SYakir Yang #define TX_TERMINAL_CTRL_50_OHM (0x1 << 4) 2153424e3a4SYakir Yang 216092f8994SHeiko Stuebner /* ANALOGIX_DP_ANALOG_CTL_2 */ 2173424e3a4SYakir Yang #define SEL_24M (0x1 << 3) 2183424e3a4SYakir Yang #define TX_DVDD_BIT_1_0625V (0x4 << 0) 2193424e3a4SYakir Yang 220092f8994SHeiko Stuebner /* ANALOGIX_DP_ANALOG_CTL_3 */ 2213424e3a4SYakir Yang #define DRIVE_DVDD_BIT_1_0625V (0x4 << 5) 2223424e3a4SYakir Yang #define VCO_BIT_600_MICRO (0x5 << 0) 2233424e3a4SYakir Yang 224092f8994SHeiko Stuebner /* ANALOGIX_DP_PLL_FILTER_CTL_1 */ 2253424e3a4SYakir Yang #define PD_RING_OSC (0x1 << 6) 2263424e3a4SYakir Yang #define AUX_TERMINAL_CTRL_50_OHM (0x2 << 4) 2273424e3a4SYakir Yang #define TX_CUR1_2X (0x1 << 2) 2283424e3a4SYakir Yang #define TX_CUR_16_MA (0x3 << 0) 2293424e3a4SYakir Yang 230092f8994SHeiko Stuebner /* ANALOGIX_DP_TX_AMP_TUNING_CTL */ 2313424e3a4SYakir Yang #define CH3_AMP_400_MV (0x0 << 24) 2323424e3a4SYakir Yang #define CH2_AMP_400_MV (0x0 << 16) 2333424e3a4SYakir Yang #define CH1_AMP_400_MV (0x0 << 8) 2343424e3a4SYakir Yang #define CH0_AMP_400_MV (0x0 << 0) 2353424e3a4SYakir Yang 236092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_HW_RETRY_CTL */ 2373424e3a4SYakir Yang #define AUX_BIT_PERIOD_EXPECTED_DELAY(x) (((x) & 0x7) << 8) 2383424e3a4SYakir Yang #define AUX_HW_RETRY_INTERVAL_MASK (0x3 << 3) 2393424e3a4SYakir Yang #define AUX_HW_RETRY_INTERVAL_600_MICROSECONDS (0x0 << 3) 2403424e3a4SYakir Yang #define AUX_HW_RETRY_INTERVAL_800_MICROSECONDS (0x1 << 3) 2413424e3a4SYakir Yang #define AUX_HW_RETRY_INTERVAL_1000_MICROSECONDS (0x2 << 3) 2423424e3a4SYakir Yang #define AUX_HW_RETRY_INTERVAL_1800_MICROSECONDS (0x3 << 3) 2433424e3a4SYakir Yang #define AUX_HW_RETRY_COUNT_SEL(x) (((x) & 0x7) << 0) 2443424e3a4SYakir Yang 245092f8994SHeiko Stuebner /* ANALOGIX_DP_COMMON_INT_STA_1 */ 2463424e3a4SYakir Yang #define VSYNC_DET (0x1 << 7) 2473424e3a4SYakir Yang #define PLL_LOCK_CHG (0x1 << 6) 2483424e3a4SYakir Yang #define SPDIF_ERR (0x1 << 5) 2493424e3a4SYakir Yang #define SPDIF_UNSTBL (0x1 << 4) 2503424e3a4SYakir Yang #define VID_FORMAT_CHG (0x1 << 3) 2513424e3a4SYakir Yang #define AUD_CLK_CHG (0x1 << 2) 2523424e3a4SYakir Yang #define VID_CLK_CHG (0x1 << 1) 2533424e3a4SYakir Yang #define SW_INT (0x1 << 0) 2543424e3a4SYakir Yang 255092f8994SHeiko Stuebner /* ANALOGIX_DP_COMMON_INT_STA_2 */ 2563424e3a4SYakir Yang #define ENC_EN_CHG (0x1 << 6) 2573424e3a4SYakir Yang #define HW_BKSV_RDY (0x1 << 3) 2583424e3a4SYakir Yang #define HW_SHA_DONE (0x1 << 2) 2593424e3a4SYakir Yang #define HW_AUTH_STATE_CHG (0x1 << 1) 2603424e3a4SYakir Yang #define HW_AUTH_DONE (0x1 << 0) 2613424e3a4SYakir Yang 262092f8994SHeiko Stuebner /* ANALOGIX_DP_COMMON_INT_STA_3 */ 2633424e3a4SYakir Yang #define AFIFO_UNDER (0x1 << 7) 2643424e3a4SYakir Yang #define AFIFO_OVER (0x1 << 6) 2653424e3a4SYakir Yang #define R0_CHK_FLAG (0x1 << 5) 2663424e3a4SYakir Yang 267092f8994SHeiko Stuebner /* ANALOGIX_DP_COMMON_INT_STA_4 */ 2683424e3a4SYakir Yang #define PSR_ACTIVE (0x1 << 7) 2693424e3a4SYakir Yang #define PSR_INACTIVE (0x1 << 6) 2703424e3a4SYakir Yang #define SPDIF_BI_PHASE_ERR (0x1 << 5) 2713424e3a4SYakir Yang #define HOTPLUG_CHG (0x1 << 2) 2723424e3a4SYakir Yang #define HPD_LOST (0x1 << 1) 2733424e3a4SYakir Yang #define PLUG (0x1 << 0) 2743424e3a4SYakir Yang 275092f8994SHeiko Stuebner /* ANALOGIX_DP_INT_STA */ 2763424e3a4SYakir Yang #define INT_HPD (0x1 << 6) 2773424e3a4SYakir Yang #define HW_TRAINING_FINISH (0x1 << 5) 2783424e3a4SYakir Yang #define RPLY_RECEIV (0x1 << 1) 2793424e3a4SYakir Yang #define AUX_ERR (0x1 << 0) 2803424e3a4SYakir Yang 281092f8994SHeiko Stuebner /* ANALOGIX_DP_INT_CTL */ 2823424e3a4SYakir Yang #define SOFT_INT_CTRL (0x1 << 2) 2833424e3a4SYakir Yang #define INT_POL1 (0x1 << 1) 2843424e3a4SYakir Yang #define INT_POL0 (0x1 << 0) 2853424e3a4SYakir Yang 286092f8994SHeiko Stuebner /* ANALOGIX_DP_SYS_CTL_1 */ 2873424e3a4SYakir Yang #define DET_STA (0x1 << 2) 2883424e3a4SYakir Yang #define FORCE_DET (0x1 << 1) 2893424e3a4SYakir Yang #define DET_CTRL (0x1 << 0) 2903424e3a4SYakir Yang 291092f8994SHeiko Stuebner /* ANALOGIX_DP_SYS_CTL_2 */ 2923424e3a4SYakir Yang #define CHA_CRI(x) (((x) & 0xf) << 4) 2933424e3a4SYakir Yang #define CHA_STA (0x1 << 2) 2943424e3a4SYakir Yang #define FORCE_CHA (0x1 << 1) 2953424e3a4SYakir Yang #define CHA_CTRL (0x1 << 0) 2963424e3a4SYakir Yang 297092f8994SHeiko Stuebner /* ANALOGIX_DP_SYS_CTL_3 */ 2983424e3a4SYakir Yang #define HPD_STATUS (0x1 << 6) 2993424e3a4SYakir Yang #define F_HPD (0x1 << 5) 3003424e3a4SYakir Yang #define HPD_CTRL (0x1 << 4) 3013424e3a4SYakir Yang #define HDCP_RDY (0x1 << 3) 3023424e3a4SYakir Yang #define STRM_VALID (0x1 << 2) 3033424e3a4SYakir Yang #define F_VALID (0x1 << 1) 3043424e3a4SYakir Yang #define VALID_CTRL (0x1 << 0) 3053424e3a4SYakir Yang 306092f8994SHeiko Stuebner /* ANALOGIX_DP_SYS_CTL_4 */ 3073424e3a4SYakir Yang #define FIX_M_AUD (0x1 << 4) 3083424e3a4SYakir Yang #define ENHANCED (0x1 << 3) 3093424e3a4SYakir Yang #define FIX_M_VID (0x1 << 2) 3103424e3a4SYakir Yang #define M_VID_UPDATE_CTRL (0x3 << 0) 3113424e3a4SYakir Yang 312092f8994SHeiko Stuebner /* ANALOGIX_DP_TRAINING_PTN_SET */ 3133424e3a4SYakir Yang #define SCRAMBLER_TYPE (0x1 << 9) 3143424e3a4SYakir Yang #define HW_LINK_TRAINING_PATTERN (0x1 << 8) 3153424e3a4SYakir Yang #define SCRAMBLING_DISABLE (0x1 << 5) 3163424e3a4SYakir Yang #define SCRAMBLING_ENABLE (0x0 << 5) 3173424e3a4SYakir Yang #define LINK_QUAL_PATTERN_SET_MASK (0x3 << 2) 3183424e3a4SYakir Yang #define LINK_QUAL_PATTERN_SET_PRBS7 (0x3 << 2) 3193424e3a4SYakir Yang #define LINK_QUAL_PATTERN_SET_D10_2 (0x1 << 2) 3203424e3a4SYakir Yang #define LINK_QUAL_PATTERN_SET_DISABLE (0x0 << 2) 3213424e3a4SYakir Yang #define SW_TRAINING_PATTERN_SET_MASK (0x3 << 0) 3223424e3a4SYakir Yang #define SW_TRAINING_PATTERN_SET_PTN2 (0x2 << 0) 3233424e3a4SYakir Yang #define SW_TRAINING_PATTERN_SET_PTN1 (0x1 << 0) 3243424e3a4SYakir Yang #define SW_TRAINING_PATTERN_SET_NORMAL (0x0 << 0) 3253424e3a4SYakir Yang 326092f8994SHeiko Stuebner /* ANALOGIX_DP_LN0_LINK_TRAINING_CTL */ 3273424e3a4SYakir Yang #define PRE_EMPHASIS_SET_MASK (0x3 << 3) 3283424e3a4SYakir Yang #define PRE_EMPHASIS_SET_SHIFT (3) 3293424e3a4SYakir Yang 330092f8994SHeiko Stuebner /* ANALOGIX_DP_DEBUG_CTL */ 3313424e3a4SYakir Yang #define PLL_LOCK (0x1 << 4) 3323424e3a4SYakir Yang #define F_PLL_LOCK (0x1 << 3) 3333424e3a4SYakir Yang #define PLL_LOCK_CTRL (0x1 << 2) 3343424e3a4SYakir Yang #define PN_INV (0x1 << 0) 3353424e3a4SYakir Yang 336092f8994SHeiko Stuebner /* ANALOGIX_DP_PLL_CTL */ 3373424e3a4SYakir Yang #define DP_PLL_PD (0x1 << 7) 3383424e3a4SYakir Yang #define DP_PLL_RESET (0x1 << 6) 3393424e3a4SYakir Yang #define DP_PLL_LOOP_BIT_DEFAULT (0x1 << 4) 3403424e3a4SYakir Yang #define DP_PLL_REF_BIT_1_1250V (0x5 << 0) 3413424e3a4SYakir Yang #define DP_PLL_REF_BIT_1_2500V (0x7 << 0) 3423424e3a4SYakir Yang 343092f8994SHeiko Stuebner /* ANALOGIX_DP_PHY_PD */ 344d79acb59Szain wang #define DP_INC_BG (0x1 << 7) 345d79acb59Szain wang #define DP_EXP_BG (0x1 << 6) 3463424e3a4SYakir Yang #define DP_PHY_PD (0x1 << 5) 347f12da687Szain wang #define RK_AUX_PD (0x1 << 5) 3483424e3a4SYakir Yang #define AUX_PD (0x1 << 4) 349f12da687Szain wang #define RK_PLL_PD (0x1 << 4) 3503424e3a4SYakir Yang #define CH3_PD (0x1 << 3) 3513424e3a4SYakir Yang #define CH2_PD (0x1 << 2) 3523424e3a4SYakir Yang #define CH1_PD (0x1 << 1) 3533424e3a4SYakir Yang #define CH0_PD (0x1 << 0) 354d79acb59Szain wang #define DP_ALL_PD (0xff) 3553424e3a4SYakir Yang 356092f8994SHeiko Stuebner /* ANALOGIX_DP_PHY_TEST */ 3573424e3a4SYakir Yang #define MACRO_RST (0x1 << 5) 3583424e3a4SYakir Yang #define CH1_TEST (0x1 << 1) 3593424e3a4SYakir Yang #define CH0_TEST (0x1 << 0) 3603424e3a4SYakir Yang 361092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_CH_STA */ 3623424e3a4SYakir Yang #define AUX_BUSY (0x1 << 4) 3633424e3a4SYakir Yang #define AUX_STATUS_MASK (0xf << 0) 3643424e3a4SYakir Yang 365092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_CH_DEFER_CTL */ 3663424e3a4SYakir Yang #define DEFER_CTRL_EN (0x1 << 7) 3673424e3a4SYakir Yang #define DEFER_COUNT(x) (((x) & 0x7f) << 0) 3683424e3a4SYakir Yang 369092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_RX_COMM */ 3703424e3a4SYakir Yang #define AUX_RX_COMM_I2C_DEFER (0x2 << 2) 3713424e3a4SYakir Yang #define AUX_RX_COMM_AUX_DEFER (0x2 << 0) 3723424e3a4SYakir Yang 373092f8994SHeiko Stuebner /* ANALOGIX_DP_BUFFER_DATA_CTL */ 3743424e3a4SYakir Yang #define BUF_CLR (0x1 << 7) 3753424e3a4SYakir Yang #define BUF_DATA_COUNT(x) (((x) & 0x1f) << 0) 3763424e3a4SYakir Yang 377092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_CH_CTL_1 */ 3783424e3a4SYakir Yang #define AUX_LENGTH(x) (((x - 1) & 0xf) << 4) 3793424e3a4SYakir Yang #define AUX_TX_COMM_MASK (0xf << 0) 3803424e3a4SYakir Yang #define AUX_TX_COMM_DP_TRANSACTION (0x1 << 3) 3813424e3a4SYakir Yang #define AUX_TX_COMM_I2C_TRANSACTION (0x0 << 3) 3823424e3a4SYakir Yang #define AUX_TX_COMM_MOT (0x1 << 2) 3833424e3a4SYakir Yang #define AUX_TX_COMM_WRITE (0x0 << 0) 3843424e3a4SYakir Yang #define AUX_TX_COMM_READ (0x1 << 0) 3853424e3a4SYakir Yang 386092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_ADDR_7_0 */ 3873424e3a4SYakir Yang #define AUX_ADDR_7_0(x) (((x) >> 0) & 0xff) 3883424e3a4SYakir Yang 389092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_ADDR_15_8 */ 3903424e3a4SYakir Yang #define AUX_ADDR_15_8(x) (((x) >> 8) & 0xff) 3913424e3a4SYakir Yang 392092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_ADDR_19_16 */ 3933424e3a4SYakir Yang #define AUX_ADDR_19_16(x) (((x) >> 16) & 0x0f) 3943424e3a4SYakir Yang 395092f8994SHeiko Stuebner /* ANALOGIX_DP_AUX_CH_CTL_2 */ 3963424e3a4SYakir Yang #define ADDR_ONLY (0x1 << 1) 3973424e3a4SYakir Yang #define AUX_EN (0x1 << 0) 3983424e3a4SYakir Yang 399092f8994SHeiko Stuebner /* ANALOGIX_DP_SOC_GENERAL_CTL */ 4003424e3a4SYakir Yang #define AUDIO_MODE_SPDIF_MODE (0x1 << 8) 4013424e3a4SYakir Yang #define AUDIO_MODE_MASTER_MODE (0x0 << 8) 4023424e3a4SYakir Yang #define MASTER_VIDEO_INTERLACE_EN (0x1 << 4) 4033424e3a4SYakir Yang #define VIDEO_MASTER_CLK_SEL (0x1 << 2) 4043424e3a4SYakir Yang #define VIDEO_MASTER_MODE_EN (0x1 << 1) 4053424e3a4SYakir Yang #define VIDEO_MODE_MASK (0x1 << 0) 4063424e3a4SYakir Yang #define VIDEO_MODE_SLAVE_MODE (0x1 << 0) 4073424e3a4SYakir Yang #define VIDEO_MODE_MASTER_MODE (0x0 << 0) 4083424e3a4SYakir Yang 4095b3f84f2SYakir Yang /* ANALOGIX_DP_PKT_SEND_CTL */ 4105b3f84f2SYakir Yang #define IF_UP (0x1 << 4) 4115b3f84f2SYakir Yang #define IF_EN (0x1 << 0) 4125b3f84f2SYakir Yang 4135b3f84f2SYakir Yang /* ANALOGIX_DP_CRC_CON */ 4145b3f84f2SYakir Yang #define PSR_VID_CRC_FLUSH (0x1 << 2) 4155b3f84f2SYakir Yang #define PSR_VID_CRC_ENABLE (0x1 << 0) 4165b3f84f2SYakir Yang 4173424e3a4SYakir Yang #endif /* _ANALOGIX_DP_REG_H */ 418