1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (C) 2018 Marvell International Ltd. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park * https://spdx.org/licenses 6*54fd6939SJiyong Park */ 7*54fd6939SJiyong Park 8*54fd6939SJiyong Park /* Driver for COMPHY unit that is part or Marvell A8K SoCs */ 9*54fd6939SJiyong Park 10*54fd6939SJiyong Park #ifndef COMPHY_H 11*54fd6939SJiyong Park #define COMPHY_H 12*54fd6939SJiyong Park 13*54fd6939SJiyong Park /* COMPHY registers */ 14*54fd6939SJiyong Park #define COMMON_PHY_CFG1_REG 0x0 15*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PWR_UP_OFFSET 1 16*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PWR_UP_MASK \ 17*54fd6939SJiyong Park (0x1 << COMMON_PHY_CFG1_PWR_UP_OFFSET) 18*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PIPE_SELECT_OFFSET 2 19*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PIPE_SELECT_MASK \ 20*54fd6939SJiyong Park (0x1 << COMMON_PHY_CFG1_PIPE_SELECT_OFFSET) 21*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET 13 22*54fd6939SJiyong Park #define COMMON_PHY_CFG1_PWR_ON_RESET_MASK \ 23*54fd6939SJiyong Park (0x1 << COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET) 24*54fd6939SJiyong Park #define COMMON_PHY_CFG1_CORE_RSTN_OFFSET 14 25*54fd6939SJiyong Park #define COMMON_PHY_CFG1_CORE_RSTN_MASK \ 26*54fd6939SJiyong Park (0x1 << COMMON_PHY_CFG1_CORE_RSTN_OFFSET) 27*54fd6939SJiyong Park #define COMMON_PHY_PHY_MODE_OFFSET 15 28*54fd6939SJiyong Park #define COMMON_PHY_PHY_MODE_MASK \ 29*54fd6939SJiyong Park (0x1 << COMMON_PHY_PHY_MODE_OFFSET) 30*54fd6939SJiyong Park 31*54fd6939SJiyong Park #define COMMON_SELECTOR_PHY_OFFSET 0x140 32*54fd6939SJiyong Park #define COMMON_SELECTOR_PIPE_OFFSET 0x144 33*54fd6939SJiyong Park 34*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1 0x148 35*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_COMPHY_0_4_PORT_OFFSET 0 36*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_COMPHY_0_4_PORT_MASK 0xFFFF 37*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET 24 38*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_MASK \ 39*54fd6939SJiyong Park (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET) 40*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET 25 41*54fd6939SJiyong Park #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_MASK \ 42*54fd6939SJiyong Park (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET) 43*54fd6939SJiyong Park 44*54fd6939SJiyong Park #define DFX_DEV_GEN_CTRL12 0x80 45*54fd6939SJiyong Park #define DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET 7 46*54fd6939SJiyong Park #define DFX_DEV_GEN_PCIE_CLK_SRC_MASK \ 47*54fd6939SJiyong Park (0x3 << DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET) 48*54fd6939SJiyong Park 49*54fd6939SJiyong Park /* HPIPE register */ 50*54fd6939SJiyong Park #define HPIPE_PWR_PLL_REG 0x4 51*54fd6939SJiyong Park #define HPIPE_PWR_PLL_REF_FREQ_OFFSET 0 52*54fd6939SJiyong Park #define HPIPE_PWR_PLL_REF_FREQ_MASK \ 53*54fd6939SJiyong Park (0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET) 54*54fd6939SJiyong Park #define HPIPE_PWR_PLL_PHY_MODE_OFFSET 5 55*54fd6939SJiyong Park #define HPIPE_PWR_PLL_PHY_MODE_MASK \ 56*54fd6939SJiyong Park (0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET) 57*54fd6939SJiyong Park 58*54fd6939SJiyong Park #define HPIPE_DFE_REG0 0x01C 59*54fd6939SJiyong Park #define HPIPE_DFE_RES_FORCE_OFFSET 15 60*54fd6939SJiyong Park #define HPIPE_DFE_RES_FORCE_MASK \ 61*54fd6939SJiyong Park (0x1 << HPIPE_DFE_RES_FORCE_OFFSET) 62*54fd6939SJiyong Park 63*54fd6939SJiyong Park #define HPIPE_G2_SET_1_REG 0x040 64*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET 0 65*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK \ 66*54fd6939SJiyong Park (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET) 67*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUPP_OFFSET 3 68*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUPP_MASK \ 69*54fd6939SJiyong Park (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPP_OFFSET) 70*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET 6 71*54fd6939SJiyong Park #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK \ 72*54fd6939SJiyong Park (0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET) 73*54fd6939SJiyong Park 74*54fd6939SJiyong Park #define HPIPE_G3_SETTINGS_1_REG 0x048 75*54fd6939SJiyong Park #define HPIPE_G3_RX_SELMUPI_OFFSET 0 76*54fd6939SJiyong Park #define HPIPE_G3_RX_SELMUPI_MASK \ 77*54fd6939SJiyong Park (0x7 << HPIPE_G3_RX_SELMUPI_OFFSET) 78*54fd6939SJiyong Park #define HPIPE_G3_RX_SELMUPF_OFFSET 3 79*54fd6939SJiyong Park #define HPIPE_G3_RX_SELMUPF_MASK \ 80*54fd6939SJiyong Park (0x7 << HPIPE_G3_RX_SELMUPF_OFFSET) 81*54fd6939SJiyong Park #define HPIPE_G3_SETTING_BIT_OFFSET 13 82*54fd6939SJiyong Park #define HPIPE_G3_SETTING_BIT_MASK \ 83*54fd6939SJiyong Park (0x1 << HPIPE_G3_SETTING_BIT_OFFSET) 84*54fd6939SJiyong Park 85*54fd6939SJiyong Park #define HPIPE_INTERFACE_REG 0x94 86*54fd6939SJiyong Park #define HPIPE_INTERFACE_GEN_MAX_OFFSET 10 87*54fd6939SJiyong Park #define HPIPE_INTERFACE_GEN_MAX_MASK \ 88*54fd6939SJiyong Park (0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET) 89*54fd6939SJiyong Park #define HPIPE_INTERFACE_DET_BYPASS_OFFSET 12 90*54fd6939SJiyong Park #define HPIPE_INTERFACE_DET_BYPASS_MASK \ 91*54fd6939SJiyong Park (0x1 << HPIPE_INTERFACE_DET_BYPASS_OFFSET) 92*54fd6939SJiyong Park #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET 14 93*54fd6939SJiyong Park #define HPIPE_INTERFACE_LINK_TRAIN_MASK \ 94*54fd6939SJiyong Park (0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET) 95*54fd6939SJiyong Park 96*54fd6939SJiyong Park #define HPIPE_VDD_CAL_CTRL_REG 0x114 97*54fd6939SJiyong Park #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET 5 98*54fd6939SJiyong Park #define HPIPE_EXT_SELLV_RXSAMPL_MASK \ 99*54fd6939SJiyong Park (0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET) 100*54fd6939SJiyong Park 101*54fd6939SJiyong Park #define HPIPE_PCIE_REG0 0x120 102*54fd6939SJiyong Park #define HPIPE_PCIE_IDLE_SYNC_OFFSET 12 103*54fd6939SJiyong Park #define HPIPE_PCIE_IDLE_SYNC_MASK \ 104*54fd6939SJiyong Park (0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET) 105*54fd6939SJiyong Park #define HPIPE_PCIE_SEL_BITS_OFFSET 13 106*54fd6939SJiyong Park #define HPIPE_PCIE_SEL_BITS_MASK \ 107*54fd6939SJiyong Park (0x3 << HPIPE_PCIE_SEL_BITS_OFFSET) 108*54fd6939SJiyong Park 109*54fd6939SJiyong Park #define HPIPE_LANE_ALIGN_REG 0x124 110*54fd6939SJiyong Park #define HPIPE_LANE_ALIGN_OFF_OFFSET 12 111*54fd6939SJiyong Park #define HPIPE_LANE_ALIGN_OFF_MASK \ 112*54fd6939SJiyong Park (0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET) 113*54fd6939SJiyong Park 114*54fd6939SJiyong Park #define HPIPE_MISC_REG 0x13C 115*54fd6939SJiyong Park #define HPIPE_MISC_CLK100M_125M_OFFSET 4 116*54fd6939SJiyong Park #define HPIPE_MISC_CLK100M_125M_MASK \ 117*54fd6939SJiyong Park (0x1 << HPIPE_MISC_CLK100M_125M_OFFSET) 118*54fd6939SJiyong Park #define HPIPE_MISC_ICP_FORCE_OFFSET 5 119*54fd6939SJiyong Park #define HPIPE_MISC_ICP_FORCE_MASK \ 120*54fd6939SJiyong Park (0x1 << HPIPE_MISC_ICP_FORCE_OFFSET) 121*54fd6939SJiyong Park #define HPIPE_MISC_TXDCLK_2X_OFFSET 6 122*54fd6939SJiyong Park #define HPIPE_MISC_TXDCLK_2X_MASK \ 123*54fd6939SJiyong Park (0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET) 124*54fd6939SJiyong Park #define HPIPE_MISC_CLK500_EN_OFFSET 7 125*54fd6939SJiyong Park #define HPIPE_MISC_CLK500_EN_MASK \ 126*54fd6939SJiyong Park (0x1 << HPIPE_MISC_CLK500_EN_OFFSET) 127*54fd6939SJiyong Park #define HPIPE_MISC_REFCLK_SEL_OFFSET 10 128*54fd6939SJiyong Park #define HPIPE_MISC_REFCLK_SEL_MASK \ 129*54fd6939SJiyong Park (0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET) 130*54fd6939SJiyong Park 131*54fd6939SJiyong Park #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG 0x16C 132*54fd6939SJiyong Park #define HPIPE_SMAPLER_OFFSET 12 133*54fd6939SJiyong Park #define HPIPE_SMAPLER_MASK (0x1 << HPIPE_SMAPLER_OFFSET) 134*54fd6939SJiyong Park 135*54fd6939SJiyong Park #define HPIPE_PWR_CTR_DTL_REG 0x184 136*54fd6939SJiyong Park #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET 2 137*54fd6939SJiyong Park #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK \ 138*54fd6939SJiyong Park (0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET) 139*54fd6939SJiyong Park 140*54fd6939SJiyong Park #define HPIPE_FRAME_DET_CONTROL_REG 0x220 141*54fd6939SJiyong Park #define HPIPE_FRAME_DET_LOCK_LOST_TO_OFFSET 12 142*54fd6939SJiyong Park #define HPIPE_FRAME_DET_LOCK_LOST_TO_MASK \ 143*54fd6939SJiyong Park (0x1 << HPIPE_FRAME_DET_LOCK_LOST_TO_OFFSET) 144*54fd6939SJiyong Park 145*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_0_REG 0x268 146*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET 15 147*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_P2P_HOLD_MASK \ 148*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET) 149*54fd6939SJiyong Park 150*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_REG 0x26C 151*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET 0 152*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_G1_MASK \ 153*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET) 154*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET 1 155*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_GN1_MASK \ 156*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET) 157*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET 2 158*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_G0_MASK \ 159*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET) 160*54fd6939SJiyong Park 161*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_4_REG 0x278 162*54fd6939SJiyong Park #define HPIPE_TRX_TRAIN_TIMER_OFFSET 0 163*54fd6939SJiyong Park #define HPIPE_TRX_TRAIN_TIMER_MASK \ 164*54fd6939SJiyong Park (0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET) 165*54fd6939SJiyong Park 166*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_5_REG 0x2A4 167*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET 11 168*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_SQ_EN_MASK \ 169*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET) 170*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET 12 171*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK \ 172*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET) 173*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET 13 174*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK \ 175*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET) 176*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET 14 177*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK \ 178*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET) 179*54fd6939SJiyong Park 180*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_REG 0x31C 181*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET 4 182*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CHK_INIT_MASK \ 183*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET) 184*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET 7 185*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK \ 186*54fd6939SJiyong Park (0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET) 187*54fd6939SJiyong Park 188*54fd6939SJiyong Park #define HPIPE_CDR_CONTROL_REG 0x418 189*54fd6939SJiyong Park #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET 14 190*54fd6939SJiyong Park #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_MASK \ 191*54fd6939SJiyong Park (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET) 192*54fd6939SJiyong Park #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET 12 193*54fd6939SJiyong Park #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_MASK \ 194*54fd6939SJiyong Park (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET) 195*54fd6939SJiyong Park #define HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET 9 196*54fd6939SJiyong Park #define HPIPE_CDR_MAX_DFE_ADAPT_0_MASK \ 197*54fd6939SJiyong Park (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET) 198*54fd6939SJiyong Park #define HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET 6 199*54fd6939SJiyong Park #define HPIPE_CDR_MAX_DFE_ADAPT_1_MASK \ 200*54fd6939SJiyong Park (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET) 201*54fd6939SJiyong Park 202*54fd6939SJiyong Park #define HPIPE_TX_TRAIN_CTRL_11_REG 0x438 203*54fd6939SJiyong Park #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET 6 204*54fd6939SJiyong Park #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK \ 205*54fd6939SJiyong Park (0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET) 206*54fd6939SJiyong Park #define HPIPE_TX_NUM_OF_PRESET_OFFSET 10 207*54fd6939SJiyong Park #define HPIPE_TX_NUM_OF_PRESET_MASK \ 208*54fd6939SJiyong Park (0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET) 209*54fd6939SJiyong Park #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET 15 210*54fd6939SJiyong Park #define HPIPE_TX_SWEEP_PRESET_EN_MASK \ 211*54fd6939SJiyong Park (0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET) 212*54fd6939SJiyong Park #define HPIPE_G2_SETTINGS_4_REG 0x44C 213*54fd6939SJiyong Park #define HPIPE_G2_DFE_RES_OFFSET 8 214*54fd6939SJiyong Park #define HPIPE_G2_DFE_RES_MASK (0x3 << HPIPE_G2_DFE_RES_OFFSET) 215*54fd6939SJiyong Park 216*54fd6939SJiyong Park #define HPIPE_G3_SETTING_3_REG 0x450 217*54fd6939SJiyong Park #define HPIPE_G3_FFE_CAP_SEL_OFFSET 0 218*54fd6939SJiyong Park #define HPIPE_G3_FFE_CAP_SEL_MASK \ 219*54fd6939SJiyong Park (0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET) 220*54fd6939SJiyong Park #define HPIPE_G3_FFE_RES_SEL_OFFSET 4 221*54fd6939SJiyong Park #define HPIPE_G3_FFE_RES_SEL_MASK \ 222*54fd6939SJiyong Park (0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET) 223*54fd6939SJiyong Park #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET 7 224*54fd6939SJiyong Park #define HPIPE_G3_FFE_SETTING_FORCE_MASK \ 225*54fd6939SJiyong Park (0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET) 226*54fd6939SJiyong Park #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET 12 227*54fd6939SJiyong Park #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK \ 228*54fd6939SJiyong Park (0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET) 229*54fd6939SJiyong Park #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET 14 230*54fd6939SJiyong Park #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK \ 231*54fd6939SJiyong Park (0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET) 232*54fd6939SJiyong Park 233*54fd6939SJiyong Park #define HPIPE_G3_SETTING_4_REG 0x454 234*54fd6939SJiyong Park #define HPIPE_G3_DFE_RES_OFFSET 8 235*54fd6939SJiyong Park #define HPIPE_G3_DFE_RES_MASK (0x3 << HPIPE_G3_DFE_RES_OFFSET) 236*54fd6939SJiyong Park 237*54fd6939SJiyong Park #define HPIPE_DFE_CONTROL_REG 0x470 238*54fd6939SJiyong Park #define HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET 14 239*54fd6939SJiyong Park #define HPIPE_DFE_TX_MAX_DFE_ADAPT_MASK \ 240*54fd6939SJiyong Park (0x3 << HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET) 241*54fd6939SJiyong Park 242*54fd6939SJiyong Park #define HPIPE_DFE_CTRL_28_REG 0x49C 243*54fd6939SJiyong Park #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET 7 244*54fd6939SJiyong Park #define HPIPE_DFE_CTRL_28_PIPE4_MASK \ 245*54fd6939SJiyong Park (0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET) 246*54fd6939SJiyong Park 247*54fd6939SJiyong Park #define HPIPE_G3_SETTING_5_REG 0x548 248*54fd6939SJiyong Park #define HPIPE_G3_SETTING_5_G3_ICP_OFFSET 0 249*54fd6939SJiyong Park #define HPIPE_G3_SETTING_5_G3_ICP_MASK \ 250*54fd6939SJiyong Park (0xf << HPIPE_G3_SETTING_5_G3_ICP_OFFSET) 251*54fd6939SJiyong Park 252*54fd6939SJiyong Park #define HPIPE_LANE_STATUS1_REG 0x60C 253*54fd6939SJiyong Park #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET 0 254*54fd6939SJiyong Park #define HPIPE_LANE_STATUS1_PCLK_EN_MASK \ 255*54fd6939SJiyong Park (0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET) 256*54fd6939SJiyong Park 257*54fd6939SJiyong Park #define HPIPE_LANE_CFG4_REG 0x620 258*54fd6939SJiyong Park #define HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET 3 259*54fd6939SJiyong Park #define HPIPE_LANE_CFG4_DFE_EN_SEL_MASK \ 260*54fd6939SJiyong Park (0x1 << HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET) 261*54fd6939SJiyong Park 262*54fd6939SJiyong Park #define HPIPE_LANE_EQU_CONFIG_0_REG 0x69C 263*54fd6939SJiyong Park #define HPIPE_CFG_EQ_FS_OFFSET 0 264*54fd6939SJiyong Park #define HPIPE_CFG_EQ_FS_MASK (0x3f << HPIPE_CFG_EQ_FS_OFFSET) 265*54fd6939SJiyong Park #define HPIPE_CFG_EQ_LF_OFFSET 6 266*54fd6939SJiyong Park #define HPIPE_CFG_EQ_LF_MASK (0x3f << HPIPE_CFG_EQ_LF_OFFSET) 267*54fd6939SJiyong Park #define HPIPE_CFG_PHY_RC_EP_OFFSET 12 268*54fd6939SJiyong Park #define HPIPE_CFG_PHY_RC_EP_MASK \ 269*54fd6939SJiyong Park (0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET) 270*54fd6939SJiyong Park 271*54fd6939SJiyong Park #define HPIPE_LANE_EQ_CFG1_REG 0x6a0 272*54fd6939SJiyong Park #define HPIPE_CFG_UPDATE_POLARITY_OFFSET 12 273*54fd6939SJiyong Park #define HPIPE_CFG_UPDATE_POLARITY_MASK \ 274*54fd6939SJiyong Park (0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET) 275*54fd6939SJiyong Park 276*54fd6939SJiyong Park #define HPIPE_LANE_EQ_CFG2_REG 0x6a4 277*54fd6939SJiyong Park #define HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET 14 278*54fd6939SJiyong Park #define HPIPE_CFG_EQ_BUNDLE_DIS_MASK \ 279*54fd6939SJiyong Park (0x1 << HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET) 280*54fd6939SJiyong Park 281*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG0_REG 0x6a8 282*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET0_OFFSET 0 283*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET0_MASK \ 284*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET0_OFFSET) 285*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET1_OFFSET 6 286*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET1_MASK \ 287*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET1_OFFSET) 288*54fd6939SJiyong Park 289*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG1_REG 0x6ac 290*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET2_OFFSET 0 291*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET2_MASK \ 292*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET2_OFFSET) 293*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET3_OFFSET 6 294*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET3_MASK \ 295*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET3_OFFSET) 296*54fd6939SJiyong Park 297*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG2_REG 0x6b0 298*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET4_OFFSET 0 299*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET4_MASK \ 300*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET4_OFFSET) 301*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET5_OFFSET 6 302*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET5_MASK \ 303*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET5_OFFSET) 304*54fd6939SJiyong Park 305*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG3_REG 0x6b4 306*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET6_OFFSET 0 307*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET6_MASK \ 308*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET6_OFFSET) 309*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET7_OFFSET 6 310*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET7_MASK \ 311*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET7_OFFSET) 312*54fd6939SJiyong Park 313*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG4_REG 0x6b8 314*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET8_OFFSET 0 315*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET8_MASK \ 316*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET8_OFFSET) 317*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET9_OFFSET 6 318*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET9_MASK \ 319*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET9_OFFSET) 320*54fd6939SJiyong Park 321*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG5_REG 0x6bc 322*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET10_OFFSET 0 323*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET10_MASK \ 324*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET10_OFFSET) 325*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET11_OFFSET 6 326*54fd6939SJiyong Park #define HPIPE_CFG_CURSOR_PRESET11_MASK \ 327*54fd6939SJiyong Park (0x3f << HPIPE_CFG_CURSOR_PRESET11_OFFSET) 328*54fd6939SJiyong Park 329*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG6_REG 0x6c0 330*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET0_OFFSET 0 331*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET0_MASK \ 332*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET0_OFFSET) 333*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET0_OFFSET 6 334*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET0_MASK \ 335*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET0_OFFSET) 336*54fd6939SJiyong Park 337*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG7_REG 0x6c4 338*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET1_OFFSET 0 339*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET1_MASK \ 340*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET1_OFFSET) 341*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET1_OFFSET 6 342*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET1_MASK \ 343*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET1_OFFSET) 344*54fd6939SJiyong Park 345*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG8_REG 0x6c8 346*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET2_OFFSET 0 347*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET2_MASK \ 348*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET2_OFFSET) 349*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET2_OFFSET 6 350*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET2_MASK \ 351*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET2_OFFSET) 352*54fd6939SJiyong Park 353*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG9_REG 0x6cc 354*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET3_OFFSET 0 355*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET3_MASK \ 356*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET3_OFFSET) 357*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET3_OFFSET 6 358*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET3_MASK \ 359*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET3_OFFSET) 360*54fd6939SJiyong Park 361*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG10_REG 0x6d0 362*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET4_OFFSET 0 363*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET4_MASK \ 364*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET4_OFFSET) 365*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET4_OFFSET 6 366*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET4_MASK \ 367*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET4_OFFSET) 368*54fd6939SJiyong Park 369*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG11_REG 0x6d4 370*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET5_OFFSET 0 371*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET5_MASK \ 372*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET5_OFFSET) 373*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET5_OFFSET 6 374*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET5_MASK \ 375*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET5_OFFSET) 376*54fd6939SJiyong Park 377*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG12_REG 0x6d8 378*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET6_OFFSET 0 379*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET6_MASK \ 380*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET6_OFFSET) 381*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET6_OFFSET 6 382*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET6_MASK \ 383*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET6_OFFSET) 384*54fd6939SJiyong Park 385*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG13_REG 0x6dc 386*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET7_OFFSET 0 387*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET7_MASK \ 388*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET7_OFFSET) 389*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET7_OFFSET 6 390*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET7_MASK \ 391*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET7_OFFSET) 392*54fd6939SJiyong Park 393*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG14_REG 0x6e0 394*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET8_OFFSET 0 395*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET8_MASK \ 396*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET8_OFFSET) 397*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET8_OFFSET 6 398*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET8_MASK \ 399*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET8_OFFSET) 400*54fd6939SJiyong Park 401*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG15_REG 0x6e4 402*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET9_OFFSET 0 403*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET9_MASK \ 404*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET9_OFFSET) 405*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET9_OFFSET 6 406*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET9_MASK \ 407*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET9_OFFSET) 408*54fd6939SJiyong Park 409*54fd6939SJiyong Park #define HPIPE_LANE_PRESET_CFG16_REG 0x6e8 410*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET10_OFFSET 0 411*54fd6939SJiyong Park #define HPIPE_CFG_PRE_CURSOR_PRESET10_MASK \ 412*54fd6939SJiyong Park (0x3f << HPIPE_CFG_PRE_CURSOR_PRESET10_OFFSET) 413*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET10_OFFSET 6 414*54fd6939SJiyong Park #define HPIPE_CFG_POST_CURSOR_PRESET10_MASK \ 415*54fd6939SJiyong Park (0x3f << HPIPE_CFG_POST_CURSOR_PRESET10_OFFSET) 416*54fd6939SJiyong Park 417*54fd6939SJiyong Park #define HPIPE_LANE_EQ_REMOTE_SETTING_REG 0x6f8 418*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET 0 419*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_MASK \ 420*54fd6939SJiyong Park (0x1 << HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET) 421*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET 1 422*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_ONLY_MODE_MASK \ 423*54fd6939SJiyong Park (0x1 << HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET) 424*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET 2 425*54fd6939SJiyong Park #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_MASK \ 426*54fd6939SJiyong Park (0xf << HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET) 427*54fd6939SJiyong Park 428*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_REG 0x704 429*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET 0 430*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK \ 431*54fd6939SJiyong Park (0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET) 432*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET 2 433*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK \ 434*54fd6939SJiyong Park (0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET) 435*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET 3 436*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK \ 437*54fd6939SJiyong Park (0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET) 438*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET 9 439*54fd6939SJiyong Park #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK \ 440*54fd6939SJiyong Park (0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET) 441*54fd6939SJiyong Park 442*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_REG 0x70c 443*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET 1 444*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK \ 445*54fd6939SJiyong Park (0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET) 446*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET 2 447*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK \ 448*54fd6939SJiyong Park (0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET) 449*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET 5 450*54fd6939SJiyong Park #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK \ 451*54fd6939SJiyong Park (0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET) 452*54fd6939SJiyong Park 453*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_REG 0x710 454*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET 0 455*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK \ 456*54fd6939SJiyong Park (0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET) 457*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET 1 458*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK \ 459*54fd6939SJiyong Park (0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET) 460*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET 2 461*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK \ 462*54fd6939SJiyong Park (0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET) 463*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET 7 464*54fd6939SJiyong Park #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK \ 465*54fd6939SJiyong Park (0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET) 466*54fd6939SJiyong Park 467*54fd6939SJiyong Park #define HPIPE_GLOBAL_PM_CTRL 0x740 468*54fd6939SJiyong Park #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET 0 469*54fd6939SJiyong Park #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK \ 470*54fd6939SJiyong Park (0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET) 471*54fd6939SJiyong Park 472*54fd6939SJiyong Park #endif /* COMPHY_H */ 473