Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2018 Marvell International Ltd. |
| 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | * https://spdx.org/licenses |
| 6 | */ |
| 7 | |
| 8 | /* Marvell CP110 SoC COMPHY unit driver */ |
| 9 | |
Antonio Nino Diaz | 5eb8837 | 2018-11-08 10:20:19 +0000 | [diff] [blame] | 10 | #ifndef COMPHY_CP110_H |
| 11 | #define COMPHY_CP110_H |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 12 | |
| 13 | #define SD_ADDR(base, lane) (base + 0x1000 * lane) |
| 14 | #define HPIPE_ADDR(base, lane) (SD_ADDR(base, lane) + 0x800) |
| 15 | #define COMPHY_ADDR(base, lane) (base + 0x28 * lane) |
| 16 | |
| 17 | #define MAX_NUM_OF_FFE 8 |
| 18 | #define RX_TRAINING_TIMEOUT 500 |
| 19 | |
| 20 | /* Comphy registers */ |
| 21 | #define COMMON_PHY_CFG1_REG 0x0 |
| 22 | #define COMMON_PHY_CFG1_PWR_UP_OFFSET 1 |
| 23 | #define COMMON_PHY_CFG1_PWR_UP_MASK \ |
| 24 | (0x1 << COMMON_PHY_CFG1_PWR_UP_OFFSET) |
| 25 | #define COMMON_PHY_CFG1_PIPE_SELECT_OFFSET 2 |
| 26 | #define COMMON_PHY_CFG1_PIPE_SELECT_MASK \ |
| 27 | (0x1 << COMMON_PHY_CFG1_PIPE_SELECT_OFFSET) |
| 28 | #define COMMON_PHY_CFG1_CORE_RSTN_OFFSET 13 |
| 29 | #define COMMON_PHY_CFG1_CORE_RSTN_MASK \ |
| 30 | (0x1 << COMMON_PHY_CFG1_CORE_RSTN_OFFSET) |
| 31 | #define COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET 14 |
| 32 | #define COMMON_PHY_CFG1_PWR_ON_RESET_MASK \ |
| 33 | (0x1 << COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET) |
| 34 | #define COMMON_PHY_PHY_MODE_OFFSET 15 |
| 35 | #define COMMON_PHY_PHY_MODE_MASK \ |
| 36 | (0x1 << COMMON_PHY_PHY_MODE_OFFSET) |
| 37 | |
| 38 | #define COMMON_PHY_CFG6_REG 0x14 |
| 39 | #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET 18 |
| 40 | #define COMMON_PHY_CFG6_IF_40_SEL_MASK \ |
| 41 | (0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET) |
| 42 | |
| 43 | #define COMMON_PHY_CFG6_REG 0x14 |
| 44 | #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET 18 |
| 45 | #define COMMON_PHY_CFG6_IF_40_SEL_MASK \ |
| 46 | (0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET) |
| 47 | |
| 48 | #define COMMON_SELECTOR_PHY_REG_OFFSET 0x140 |
| 49 | #define COMMON_SELECTOR_PIPE_REG_OFFSET 0x144 |
| 50 | #define COMMON_SELECTOR_COMPHY_MASK 0xf |
| 51 | #define COMMON_SELECTOR_COMPHYN_FIELD_WIDTH 4 |
| 52 | #define COMMON_SELECTOR_COMPHYN_SATA 0x4 |
| 53 | #define COMMON_SELECTOR_PIPE_COMPHY_PCIE 0x4 |
| 54 | #define COMMON_SELECTOR_PIPE_COMPHY_USBH 0x1 |
| 55 | #define COMMON_SELECTOR_PIPE_COMPHY_USBD 0x2 |
| 56 | |
| 57 | /* SGMII/HS-SGMII/SFI/RXAUI */ |
| 58 | #define COMMON_SELECTOR_COMPHY0_1_2_NETWORK 0x1 |
| 59 | #define COMMON_SELECTOR_COMPHY3_RXAUI 0x1 |
| 60 | #define COMMON_SELECTOR_COMPHY3_SGMII 0x2 |
| 61 | #define COMMON_SELECTOR_COMPHY4_PORT1 0x1 |
| 62 | #define COMMON_SELECTOR_COMPHY4_ALL_OTHERS 0x2 |
| 63 | #define COMMON_SELECTOR_COMPHY5_RXAUI 0x2 |
| 64 | #define COMMON_SELECTOR_COMPHY5_SGMII 0x1 |
| 65 | |
| 66 | #define COMMON_PHY_SD_CTRL1 0x148 |
| 67 | #define COMMON_PHY_SD_CTRL1_COMPHY_0_PORT_OFFSET 0 |
| 68 | #define COMMON_PHY_SD_CTRL1_COMPHY_1_PORT_OFFSET 4 |
| 69 | #define COMMON_PHY_SD_CTRL1_COMPHY_2_PORT_OFFSET 8 |
| 70 | #define COMMON_PHY_SD_CTRL1_COMPHY_3_PORT_OFFSET 12 |
| 71 | #define COMMON_PHY_SD_CTRL1_COMPHY_0_3_PORT_MASK 0xFFFF |
| 72 | #define COMMON_PHY_SD_CTRL1_COMPHY_0_1_PORT_MASK 0xFF |
| 73 | #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET 24 |
| 74 | #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_MASK \ |
| 75 | (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET) |
| 76 | #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET 25 |
| 77 | #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_MASK \ |
| 78 | (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET) |
| 79 | #define COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET 26 |
| 80 | #define COMMON_PHY_SD_CTRL1_RXAUI1_MASK \ |
| 81 | (0x1 << COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET) |
| 82 | #define COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET 27 |
| 83 | #define COMMON_PHY_SD_CTRL1_RXAUI0_MASK \ |
| 84 | (0x1 << COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET) |
| 85 | |
| 86 | /* DFX register */ |
| 87 | #define DFX_BASE (0x400000) |
| 88 | #define DFX_DEV_GEN_CTRL12_REG (0x280) |
| 89 | #define DFX_DEV_GEN_PCIE_CLK_SRC_MUX (0x3) |
| 90 | #define DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET 7 |
| 91 | #define DFX_DEV_GEN_PCIE_CLK_SRC_MASK \ |
| 92 | (0x3 << DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET) |
| 93 | |
| 94 | /* SerDes IP registers */ |
| 95 | #define SD_EXTERNAL_CONFIG0_REG 0 |
| 96 | #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET 1 |
| 97 | #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_MASK \ |
| 98 | (1 << SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET) |
| 99 | #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET 3 |
| 100 | #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_MASK \ |
| 101 | (0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET) |
| 102 | #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET 7 |
| 103 | #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_MASK \ |
| 104 | (0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET) |
| 105 | #define SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET 11 |
| 106 | #define SD_EXTERNAL_CONFIG0_SD_PU_RX_MASK \ |
| 107 | (1 << SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET) |
| 108 | #define SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET 12 |
| 109 | #define SD_EXTERNAL_CONFIG0_SD_PU_TX_MASK \ |
| 110 | (1 << SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET) |
| 111 | #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET 14 |
| 112 | #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_MASK \ |
| 113 | (1 << SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET) |
| 114 | #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET 15 |
| 115 | #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_MASK \ |
| 116 | (0x1 << SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET) |
| 117 | |
| 118 | #define SD_EXTERNAL_CONFIG1_REG 0x4 |
Marcin Wojtas | 779fd46 | 2019-09-09 03:38:18 +0200 | [diff] [blame] | 119 | #define SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET 2 |
| 120 | #define SD_EXTERNAL_CONFIG1_TX_IDLE_MASK \ |
| 121 | (0x1 << SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 122 | #define SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET 3 |
| 123 | #define SD_EXTERNAL_CONFIG1_RESET_IN_MASK \ |
| 124 | (0x1 << SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET) |
| 125 | #define SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET 4 |
| 126 | #define SD_EXTERNAL_CONFIG1_RX_INIT_MASK \ |
| 127 | (0x1 << SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET) |
| 128 | #define SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET 5 |
| 129 | #define SD_EXTERNAL_CONFIG1_RESET_CORE_MASK \ |
| 130 | (0x1 << SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET) |
| 131 | #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET 6 |
| 132 | #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_MASK \ |
| 133 | (0x1 << SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET) |
| 134 | |
| 135 | #define SD_EXTERNAL_CONFIG2_REG 0x8 |
| 136 | #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET 4 |
| 137 | #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_MASK \ |
| 138 | (0x1 << SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET) |
| 139 | #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET 7 |
| 140 | #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_MASK \ |
| 141 | (0x1 << SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET) |
| 142 | |
| 143 | #define SD_EXTERNAL_STATUS_REG 0xc |
| 144 | #define SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET 7 |
| 145 | #define SD_EXTERNAL_STATUS_START_RX_TRAINING_MASK \ |
| 146 | (1 << SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET) |
| 147 | |
| 148 | #define SD_EXTERNAL_STATUS0_REG 0x18 |
| 149 | #define SD_EXTERNAL_STATUS0_PLL_TX_OFFSET 2 |
| 150 | #define SD_EXTERNAL_STATUS0_PLL_TX_MASK \ |
| 151 | (0x1 << SD_EXTERNAL_STATUS0_PLL_TX_OFFSET) |
| 152 | #define SD_EXTERNAL_STATUS0_PLL_RX_OFFSET 3 |
| 153 | #define SD_EXTERNAL_STATUS0_PLL_RX_MASK \ |
| 154 | (0x1 << SD_EXTERNAL_STATUS0_PLL_RX_OFFSET) |
| 155 | #define SD_EXTERNAL_STATUS0_RX_INIT_OFFSET 4 |
| 156 | #define SD_EXTERNAL_STATUS0_RX_INIT_MASK \ |
| 157 | (0x1 << SD_EXTERNAL_STATUS0_RX_INIT_OFFSET) |
| 158 | |
| 159 | #define SD_EXTERNAL_STATAUS1_REG 0x1c |
| 160 | #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET 0 |
| 161 | #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_MASK \ |
| 162 | (1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET) |
| 163 | #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET 1 |
| 164 | #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_MASK \ |
| 165 | (1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET) |
| 166 | |
| 167 | /* HPIPE registers */ |
| 168 | #define HPIPE_PWR_PLL_REG 0x4 |
| 169 | #define HPIPE_PWR_PLL_REF_FREQ_OFFSET 0 |
| 170 | #define HPIPE_PWR_PLL_REF_FREQ_MASK \ |
| 171 | (0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET) |
| 172 | #define HPIPE_PWR_PLL_PHY_MODE_OFFSET 5 |
| 173 | #define HPIPE_PWR_PLL_PHY_MODE_MASK \ |
| 174 | (0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET) |
| 175 | |
| 176 | #define HPIPE_CAL_REG1_REG 0xc |
| 177 | #define HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET 10 |
| 178 | #define HPIPE_CAL_REG_1_EXT_TXIMP_MASK \ |
| 179 | (0x1f << HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET) |
| 180 | #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET 15 |
| 181 | #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_MASK \ |
| 182 | (0x1 << HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET) |
| 183 | |
| 184 | #define HPIPE_SQUELCH_FFE_SETTING_REG 0x18 |
| 185 | #define HPIPE_SQUELCH_THRESH_IN_OFFSET 8 |
| 186 | #define HPIPE_SQUELCH_THRESH_IN_MASK \ |
| 187 | (0xf << HPIPE_SQUELCH_THRESH_IN_OFFSET) |
| 188 | #define HPIPE_SQUELCH_DETECTED_OFFSET 14 |
| 189 | #define HPIPE_SQUELCH_DETECTED_MASK \ |
| 190 | (0x1 << HPIPE_SQUELCH_DETECTED_OFFSET) |
| 191 | |
| 192 | #define HPIPE_DFE_REG0 0x1c |
| 193 | #define HPIPE_DFE_RES_FORCE_OFFSET 15 |
| 194 | #define HPIPE_DFE_RES_FORCE_MASK \ |
| 195 | (0x1 << HPIPE_DFE_RES_FORCE_OFFSET) |
| 196 | |
| 197 | #define HPIPE_DFE_F3_F5_REG 0x28 |
| 198 | #define HPIPE_DFE_F3_F5_DFE_EN_OFFSET 14 |
| 199 | #define HPIPE_DFE_F3_F5_DFE_EN_MASK \ |
| 200 | (0x1 << HPIPE_DFE_F3_F5_DFE_EN_OFFSET) |
| 201 | #define HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET 15 |
| 202 | #define HPIPE_DFE_F3_F5_DFE_CTRL_MASK \ |
| 203 | (0x1 << HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET) |
| 204 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 205 | #define HPIPE_ADAPTED_DFE_COEFFICIENT_1_REG 0x30 |
| 206 | #define HPIPE_ADAPTED_DFE_RES_OFFSET 13 |
| 207 | #define HPIPE_ADAPTED_DFE_RES_MASK \ |
| 208 | (0x3 << HPIPE_ADAPTED_DFE_RES_OFFSET) |
| 209 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 210 | #define HPIPE_G1_SET_0_REG 0x34 |
| 211 | #define HPIPE_G1_SET_0_G1_TX_AMP_OFFSET 1 |
| 212 | #define HPIPE_G1_SET_0_G1_TX_AMP_MASK \ |
| 213 | (0x1f << HPIPE_G1_SET_0_G1_TX_AMP_OFFSET) |
| 214 | #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET 6 |
| 215 | #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_MASK \ |
| 216 | (0x1 << HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET) |
| 217 | #define HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET 7 |
| 218 | #define HPIPE_G1_SET_0_G1_TX_EMPH1_MASK \ |
| 219 | (0xf << HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET) |
| 220 | #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET 11 |
| 221 | #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_MASK \ |
| 222 | (0x1 << HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET) |
| 223 | |
| 224 | #define HPIPE_G1_SET_1_REG 0x38 |
| 225 | #define HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET 0 |
| 226 | #define HPIPE_G1_SET_1_G1_RX_SELMUPI_MASK \ |
| 227 | (0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET) |
Grzegorz Jaszczyk | a91ea62 | 2018-07-16 12:18:03 +0200 | [diff] [blame] | 228 | #define HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET 3 |
| 229 | #define HPIPE_G1_SET_1_G1_RX_SELMUPF_MASK \ |
| 230 | (0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 231 | #define HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET 6 |
| 232 | #define HPIPE_G1_SET_1_G1_RX_SELMUFI_MASK \ |
| 233 | (0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET) |
| 234 | #define HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET 8 |
| 235 | #define HPIPE_G1_SET_1_G1_RX_SELMUFF_MASK \ |
| 236 | (0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET) |
| 237 | #define HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET 10 |
| 238 | #define HPIPE_G1_SET_1_G1_RX_DFE_EN_MASK \ |
| 239 | (0x1 << HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET) |
| 240 | #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET 11 |
| 241 | #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_MASK \ |
| 242 | (0x3 << HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET) |
| 243 | |
| 244 | #define HPIPE_G2_SET_0_REG 0x3c |
| 245 | #define HPIPE_G2_SET_0_G2_TX_AMP_OFFSET 1 |
| 246 | #define HPIPE_G2_SET_0_G2_TX_AMP_MASK \ |
| 247 | (0x1f << HPIPE_G2_SET_0_G2_TX_AMP_OFFSET) |
| 248 | #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET 6 |
| 249 | #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_MASK \ |
| 250 | (0x1 << HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET) |
| 251 | #define HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET 7 |
| 252 | #define HPIPE_G2_SET_0_G2_TX_EMPH1_MASK \ |
| 253 | (0xf << HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET) |
| 254 | #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET 11 |
| 255 | #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_MASK \ |
| 256 | (0x1 << HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET) |
| 257 | |
| 258 | #define HPIPE_G2_SET_1_REG 0x40 |
| 259 | #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET 0 |
| 260 | #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK \ |
| 261 | (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET) |
Grzegorz Jaszczyk | a91ea62 | 2018-07-16 12:18:03 +0200 | [diff] [blame] | 262 | #define HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET 3 |
| 263 | #define HPIPE_G2_SET_1_G2_RX_SELMUPF_MASK \ |
| 264 | (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 265 | #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET 6 |
| 266 | #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK \ |
| 267 | (0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET) |
| 268 | #define HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET 8 |
| 269 | #define HPIPE_G2_SET_1_G2_RX_SELMUFF_MASK \ |
| 270 | (0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET) |
| 271 | #define HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET 10 |
| 272 | #define HPIPE_G2_SET_1_G2_RX_DFE_EN_MASK \ |
| 273 | (0x1 << HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET) |
| 274 | #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET 11 |
| 275 | #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_MASK \ |
| 276 | (0x3 << HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET) |
| 277 | |
| 278 | #define HPIPE_G3_SET_0_REG 0x44 |
| 279 | #define HPIPE_G3_SET_0_G3_TX_AMP_OFFSET 1 |
| 280 | #define HPIPE_G3_SET_0_G3_TX_AMP_MASK \ |
| 281 | (0x1f << HPIPE_G3_SET_0_G3_TX_AMP_OFFSET) |
| 282 | #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET 6 |
| 283 | #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_MASK \ |
| 284 | (0x1 << HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET) |
| 285 | #define HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET 7 |
| 286 | #define HPIPE_G3_SET_0_G3_TX_EMPH1_MASK \ |
| 287 | (0xf << HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET) |
| 288 | #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET 11 |
| 289 | #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_MASK \ |
| 290 | (0x1 << HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET) |
| 291 | #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET 12 |
| 292 | #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_MASK \ |
| 293 | (0x7 << HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET) |
| 294 | #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET 15 |
| 295 | #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_MASK \ |
| 296 | (0x1 << HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET) |
| 297 | |
| 298 | #define HPIPE_G3_SET_1_REG 0x48 |
| 299 | #define HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET 0 |
| 300 | #define HPIPE_G3_SET_1_G3_RX_SELMUPI_MASK \ |
| 301 | (0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET) |
| 302 | #define HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET 3 |
| 303 | #define HPIPE_G3_SET_1_G3_RX_SELMUPF_MASK \ |
| 304 | (0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET) |
| 305 | #define HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET 6 |
| 306 | #define HPIPE_G3_SET_1_G3_RX_SELMUFI_MASK \ |
| 307 | (0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET) |
| 308 | #define HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET 8 |
| 309 | #define HPIPE_G3_SET_1_G3_RX_SELMUFF_MASK \ |
| 310 | (0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET) |
| 311 | #define HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET 10 |
| 312 | #define HPIPE_G3_SET_1_G3_RX_DFE_EN_MASK \ |
| 313 | (0x1 << HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET) |
| 314 | #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET 11 |
| 315 | #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_MASK \ |
| 316 | (0x3 << HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET) |
| 317 | #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET 13 |
| 318 | #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_MASK \ |
| 319 | (0x1 << HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET) |
| 320 | |
| 321 | #define HPIPE_PHY_TEST_CONTROL_REG 0x54 |
| 322 | #define HPIPE_PHY_TEST_PATTERN_SEL_OFFSET 4 |
| 323 | #define HPIPE_PHY_TEST_PATTERN_SEL_MASK \ |
| 324 | (0xf << HPIPE_PHY_TEST_PATTERN_SEL_OFFSET) |
| 325 | #define HPIPE_PHY_TEST_RESET_OFFSET 14 |
| 326 | #define HPIPE_PHY_TEST_RESET_MASK \ |
| 327 | (0x1 << HPIPE_PHY_TEST_RESET_OFFSET) |
| 328 | #define HPIPE_PHY_TEST_EN_OFFSET 15 |
| 329 | #define HPIPE_PHY_TEST_EN_MASK \ |
| 330 | (0x1 << HPIPE_PHY_TEST_EN_OFFSET) |
| 331 | |
| 332 | #define HPIPE_PHY_TEST_DATA_REG 0x6c |
| 333 | #define HPIPE_PHY_TEST_DATA_OFFSET 0 |
| 334 | #define HPIPE_PHY_TEST_DATA_MASK \ |
| 335 | (0xffff << HPIPE_PHY_TEST_DATA_OFFSET) |
| 336 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 337 | #define HPIPE_PHY_TEST_PRBS_ERROR_COUNTER_1_REG 0x80 |
| 338 | |
| 339 | #define HPIPE_PHY_TEST_OOB_0_REGISTER 0x84 |
| 340 | #define HPIPE_PHY_PT_OOB_EN_OFFSET 14 |
| 341 | #define HPIPE_PHY_PT_OOB_EN_MASK \ |
| 342 | (0x1 << HPIPE_PHY_PT_OOB_EN_OFFSET) |
| 343 | #define HPIPE_PHY_TEST_PT_TESTMODE_OFFSET 12 |
| 344 | #define HPIPE_PHY_TEST_PT_TESTMODE_MASK \ |
| 345 | (0x3 << HPIPE_PHY_TEST_PT_TESTMODE_OFFSET) |
| 346 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 347 | #define HPIPE_LOOPBACK_REG 0x8c |
| 348 | #define HPIPE_LOOPBACK_SEL_OFFSET 1 |
| 349 | #define HPIPE_LOOPBACK_SEL_MASK \ |
| 350 | (0x7 << HPIPE_LOOPBACK_SEL_OFFSET) |
| 351 | #define HPIPE_CDR_LOCK_OFFSET 7 |
| 352 | #define HPIPE_CDR_LOCK_MASK \ |
| 353 | (0x1 << HPIPE_CDR_LOCK_OFFSET) |
| 354 | #define HPIPE_CDR_LOCK_DET_EN_OFFSET 8 |
| 355 | #define HPIPE_CDR_LOCK_DET_EN_MASK \ |
| 356 | (0x1 << HPIPE_CDR_LOCK_DET_EN_OFFSET) |
| 357 | |
Grzegorz Jaszczyk | ff9311b | 2020-01-21 17:02:10 +0100 | [diff] [blame] | 358 | #define HPIPE_SYNC_PATTERN_REG 0x090 |
| 359 | #define HPIPE_SYNC_PATTERN_TXD_INV_OFFSET 10 |
| 360 | #define HPIPE_SYNC_PATTERN_TXD_INV_MASK \ |
| 361 | (0x1 << HPIPE_SYNC_PATTERN_TXD_INV_OFFSET) |
| 362 | #define HPIPE_SYNC_PATTERN_RXD_INV_OFFSET 11 |
| 363 | #define HPIPE_SYNC_PATTERN_RXD_INV_MASK \ |
| 364 | (0x1 << HPIPE_SYNC_PATTERN_RXD_INV_OFFSET) |
| 365 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 366 | #define HPIPE_INTERFACE_REG 0x94 |
| 367 | #define HPIPE_INTERFACE_GEN_MAX_OFFSET 10 |
| 368 | #define HPIPE_INTERFACE_GEN_MAX_MASK \ |
| 369 | (0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET) |
| 370 | #define HPIPE_INTERFACE_DET_BYPASS_OFFSET 12 |
| 371 | #define HPIPE_INTERFACE_DET_BYPASS_MASK \ |
| 372 | (0x1 << HPIPE_INTERFACE_DET_BYPASS_OFFSET) |
| 373 | #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET 14 |
| 374 | #define HPIPE_INTERFACE_LINK_TRAIN_MASK \ |
| 375 | (0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET) |
| 376 | |
| 377 | #define HPIPE_G1_SET_2_REG 0xf4 |
| 378 | #define HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET 0 |
| 379 | #define HPIPE_G1_SET_2_G1_TX_EMPH0_MASK \ |
| 380 | (0xf << HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET) |
| 381 | #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET 4 |
| 382 | #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_MASK \ |
| 383 | (0x1 << HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET) |
| 384 | |
| 385 | #define HPIPE_G2_SET_2_REG 0xf8 |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 386 | #define HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET 0 |
| 387 | #define HPIPE_G2_SET_2_G2_TX_EMPH0_MASK \ |
| 388 | (0xf << HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET) |
| 389 | #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET 4 |
| 390 | #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_MASK \ |
| 391 | (0x1 << HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 392 | #define HPIPE_G2_TX_SSC_AMP_OFFSET 9 |
| 393 | #define HPIPE_G2_TX_SSC_AMP_MASK \ |
| 394 | (0x7f << HPIPE_G2_TX_SSC_AMP_OFFSET) |
| 395 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 396 | #define HPIPE_G3_SET_2_REG 0xfc |
| 397 | #define HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET 0 |
| 398 | #define HPIPE_G3_SET_2_G3_TX_EMPH0_MASK \ |
| 399 | (0xf << HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET) |
| 400 | #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET 4 |
| 401 | #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_MASK \ |
| 402 | (0x1 << HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET) |
| 403 | #define HPIPE_G3_TX_SSC_AMP_OFFSET 9 |
| 404 | #define HPIPE_G3_TX_SSC_AMP_MASK \ |
| 405 | (0x7f << HPIPE_G3_TX_SSC_AMP_OFFSET) |
| 406 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 407 | #define HPIPE_VDD_CAL_0_REG 0x108 |
| 408 | #define HPIPE_CAL_VDD_CONT_MODE_OFFSET 15 |
| 409 | #define HPIPE_CAL_VDD_CONT_MODE_MASK \ |
| 410 | (0x1 << HPIPE_CAL_VDD_CONT_MODE_OFFSET) |
| 411 | |
| 412 | #define HPIPE_VDD_CAL_CTRL_REG 0x114 |
| 413 | #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET 5 |
| 414 | #define HPIPE_EXT_SELLV_RXSAMPL_MASK \ |
| 415 | (0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET) |
| 416 | |
| 417 | #define HPIPE_PCIE_REG0 0x120 |
| 418 | #define HPIPE_PCIE_IDLE_SYNC_OFFSET 12 |
| 419 | #define HPIPE_PCIE_IDLE_SYNC_MASK \ |
| 420 | (0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET) |
| 421 | #define HPIPE_PCIE_SEL_BITS_OFFSET 13 |
| 422 | #define HPIPE_PCIE_SEL_BITS_MASK \ |
| 423 | (0x3 << HPIPE_PCIE_SEL_BITS_OFFSET) |
| 424 | |
| 425 | #define HPIPE_LANE_ALIGN_REG 0x124 |
| 426 | #define HPIPE_LANE_ALIGN_OFF_OFFSET 12 |
| 427 | #define HPIPE_LANE_ALIGN_OFF_MASK \ |
| 428 | (0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET) |
| 429 | |
| 430 | #define HPIPE_MISC_REG 0x13C |
| 431 | #define HPIPE_MISC_CLK100M_125M_OFFSET 4 |
| 432 | #define HPIPE_MISC_CLK100M_125M_MASK \ |
| 433 | (0x1 << HPIPE_MISC_CLK100M_125M_OFFSET) |
| 434 | #define HPIPE_MISC_ICP_FORCE_OFFSET 5 |
| 435 | #define HPIPE_MISC_ICP_FORCE_MASK \ |
| 436 | (0x1 << HPIPE_MISC_ICP_FORCE_OFFSET) |
| 437 | #define HPIPE_MISC_TXDCLK_2X_OFFSET 6 |
| 438 | #define HPIPE_MISC_TXDCLK_2X_MASK \ |
| 439 | (0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET) |
| 440 | #define HPIPE_MISC_CLK500_EN_OFFSET 7 |
| 441 | #define HPIPE_MISC_CLK500_EN_MASK \ |
| 442 | (0x1 << HPIPE_MISC_CLK500_EN_OFFSET) |
| 443 | #define HPIPE_MISC_REFCLK_SEL_OFFSET 10 |
| 444 | #define HPIPE_MISC_REFCLK_SEL_MASK \ |
| 445 | (0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET) |
| 446 | |
| 447 | #define HPIPE_RX_CONTROL_1_REG 0x140 |
| 448 | #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET 11 |
| 449 | #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_MASK \ |
| 450 | (0x1 << HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET) |
| 451 | #define HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET 12 |
| 452 | #define HPIPE_RX_CONTROL_1_CLK8T_EN_MASK \ |
| 453 | (0x1 << HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET) |
| 454 | |
| 455 | #define HPIPE_PWR_CTR_REG 0x148 |
| 456 | #define HPIPE_PWR_CTR_RST_DFE_OFFSET 0 |
| 457 | #define HPIPE_PWR_CTR_RST_DFE_MASK \ |
| 458 | (0x1 << HPIPE_PWR_CTR_RST_DFE_OFFSET) |
| 459 | #define HPIPE_PWR_CTR_SFT_RST_OFFSET 10 |
| 460 | #define HPIPE_PWR_CTR_SFT_RST_MASK \ |
| 461 | (0x1 << HPIPE_PWR_CTR_SFT_RST_OFFSET) |
| 462 | |
| 463 | #define HPIPE_SPD_DIV_FORCE_REG 0x154 |
| 464 | #define HPIPE_TXDIGCK_DIV_FORCE_OFFSET 7 |
| 465 | #define HPIPE_TXDIGCK_DIV_FORCE_MASK \ |
| 466 | (0x1 << HPIPE_TXDIGCK_DIV_FORCE_OFFSET) |
| 467 | #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET 8 |
| 468 | #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_MASK \ |
| 469 | (0x3 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET) |
| 470 | #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET 10 |
| 471 | #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_MASK \ |
| 472 | (0x1 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET) |
| 473 | #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET 13 |
| 474 | #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_MASK \ |
| 475 | (0x3 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET) |
| 476 | #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET 15 |
| 477 | #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_MASK \ |
| 478 | (0x1 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET) |
| 479 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 480 | /* HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIBRATION_CTRL_REG */ |
| 481 | #define HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIB_CTRL_REG 0x168 |
| 482 | #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET 15 |
| 483 | #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_MASK \ |
| 484 | (0x1 << HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET) |
| 485 | #define HPIPE_CAL_OS_PH_EXT_OFFSET 8 |
| 486 | #define HPIPE_CAL_OS_PH_EXT_MASK \ |
| 487 | (0x7f << HPIPE_CAL_OS_PH_EXT_OFFSET) |
| 488 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 489 | #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG 0x16C |
| 490 | #define HPIPE_RX_SAMPLER_OS_GAIN_OFFSET 6 |
| 491 | #define HPIPE_RX_SAMPLER_OS_GAIN_MASK \ |
| 492 | (0x3 << HPIPE_RX_SAMPLER_OS_GAIN_OFFSET) |
| 493 | #define HPIPE_SMAPLER_OFFSET 12 |
| 494 | #define HPIPE_SMAPLER_MASK \ |
| 495 | (0x1 << HPIPE_SMAPLER_OFFSET) |
| 496 | |
| 497 | #define HPIPE_TX_REG1_REG 0x174 |
| 498 | #define HPIPE_TX_REG1_TX_EMPH_RES_OFFSET 5 |
| 499 | #define HPIPE_TX_REG1_TX_EMPH_RES_MASK \ |
| 500 | (0x3 << HPIPE_TX_REG1_TX_EMPH_RES_OFFSET) |
| 501 | #define HPIPE_TX_REG1_SLC_EN_OFFSET 10 |
| 502 | #define HPIPE_TX_REG1_SLC_EN_MASK \ |
| 503 | (0x3f << HPIPE_TX_REG1_SLC_EN_OFFSET) |
| 504 | |
| 505 | #define HPIPE_PWR_CTR_DTL_REG 0x184 |
| 506 | #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET 0 |
| 507 | #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_MASK \ |
| 508 | (0x1 << HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET) |
| 509 | #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET 1 |
| 510 | #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_MASK \ |
| 511 | (0x1 << HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET) |
| 512 | #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET 2 |
| 513 | #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK \ |
| 514 | (0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET) |
| 515 | #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET 4 |
| 516 | #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_MASK \ |
| 517 | (0x7 << HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET) |
| 518 | #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET 10 |
| 519 | #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_MASK \ |
| 520 | (0x1 << HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET) |
| 521 | #define HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET 12 |
| 522 | #define HPIPE_PWR_CTR_DTL_CLK_MODE_MASK \ |
| 523 | (0x3 << HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET) |
| 524 | #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET 14 |
| 525 | #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_MASK \ |
| 526 | (1 << HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET) |
| 527 | |
| 528 | #define HPIPE_PHASE_CONTROL_REG 0x188 |
| 529 | #define HPIPE_OS_PH_OFFSET_OFFSET 0 |
| 530 | #define HPIPE_OS_PH_OFFSET_MASK \ |
| 531 | (0x7f << HPIPE_OS_PH_OFFSET_OFFSET) |
| 532 | #define HPIPE_OS_PH_OFFSET_FORCE_OFFSET 7 |
| 533 | #define HPIPE_OS_PH_OFFSET_FORCE_MASK \ |
| 534 | (0x1 << HPIPE_OS_PH_OFFSET_FORCE_OFFSET) |
| 535 | #define HPIPE_OS_PH_VALID_OFFSET 8 |
| 536 | #define HPIPE_OS_PH_VALID_MASK \ |
| 537 | (0x1 << HPIPE_OS_PH_VALID_OFFSET) |
| 538 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 539 | #define HPIPE_DATA_PHASE_OFF_CTRL_REG 0x1A0 |
| 540 | #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET 9 |
| 541 | #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_MASK \ |
| 542 | (0x7f << HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET) |
| 543 | |
| 544 | #define HPIPE_ADAPTED_FFE_CAPACITOR_COUNTER_CTRL_REG 0x1A4 |
| 545 | #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET 12 |
| 546 | #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_MASK \ |
| 547 | (0x3 << HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET) |
| 548 | #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET 8 |
| 549 | #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_MASK \ |
| 550 | (0xf << HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET) |
| 551 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 552 | #define HPIPE_SQ_GLITCH_FILTER_CTRL 0x1c8 |
| 553 | #define HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET 0 |
| 554 | #define HPIPE_SQ_DEGLITCH_WIDTH_P_MASK \ |
| 555 | (0xf << HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET) |
| 556 | #define HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET 4 |
| 557 | #define HPIPE_SQ_DEGLITCH_WIDTH_N_MASK \ |
| 558 | (0xf << HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET) |
| 559 | #define HPIPE_SQ_DEGLITCH_EN_OFFSET 8 |
| 560 | #define HPIPE_SQ_DEGLITCH_EN_MASK \ |
| 561 | (0x1 << HPIPE_SQ_DEGLITCH_EN_OFFSET) |
| 562 | |
| 563 | #define HPIPE_FRAME_DETECT_CTRL_0_REG 0x214 |
| 564 | #define HPIPE_TRAIN_PAT_NUM_OFFSET 0x7 |
| 565 | #define HPIPE_TRAIN_PAT_NUM_MASK \ |
| 566 | (0x1FF << HPIPE_TRAIN_PAT_NUM_OFFSET) |
| 567 | |
| 568 | #define HPIPE_FRAME_DETECT_CTRL_3_REG 0x220 |
| 569 | #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET 12 |
| 570 | #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_MASK \ |
| 571 | (0x1 << HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET) |
| 572 | |
| 573 | #define HPIPE_DME_REG 0x228 |
| 574 | #define HPIPE_DME_ETHERNET_MODE_OFFSET 7 |
| 575 | #define HPIPE_DME_ETHERNET_MODE_MASK \ |
| 576 | (0x1 << HPIPE_DME_ETHERNET_MODE_OFFSET) |
| 577 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 578 | #define HPIPE_TRX_TRAIN_CTRL_0_REG 0x22c |
| 579 | #define HPIPE_TRX_TX_F0T_EO_BASED_OFFSET 14 |
| 580 | #define HPIPE_TRX_TX_F0T_EO_BASED_MASK \ |
| 581 | (1 << HPIPE_TRX_TX_F0T_EO_BASED_OFFSET) |
| 582 | #define HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET 6 |
| 583 | #define HPIPE_TRX_UPDATE_THEN_HOLD_MASK \ |
| 584 | (1 << HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET) |
| 585 | #define HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET 5 |
| 586 | #define HPIPE_TRX_TX_CTRL_CLK_EN_MASK \ |
| 587 | (1 << HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET) |
| 588 | #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET 4 |
| 589 | #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_MASK \ |
| 590 | (1 << HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET) |
| 591 | #define HPIPE_TRX_TX_TRAIN_EN_OFFSET 1 |
| 592 | #define HPIPE_TRX_TX_TRAIN_EN_MASK \ |
| 593 | (1 << HPIPE_TRX_TX_TRAIN_EN_OFFSET) |
| 594 | #define HPIPE_TRX_RX_TRAIN_EN_OFFSET 0 |
| 595 | #define HPIPE_TRX_RX_TRAIN_EN_MASK \ |
| 596 | (1 << HPIPE_TRX_RX_TRAIN_EN_OFFSET) |
| 597 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 598 | #define HPIPE_TX_TRAIN_CTRL_0_REG 0x268 |
| 599 | #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET 15 |
| 600 | #define HPIPE_TX_TRAIN_P2P_HOLD_MASK \ |
| 601 | (0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET) |
| 602 | |
| 603 | #define HPIPE_TX_TRAIN_CTRL_REG 0x26C |
| 604 | #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET 0 |
| 605 | #define HPIPE_TX_TRAIN_CTRL_G1_MASK \ |
| 606 | (0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET) |
| 607 | #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET 1 |
| 608 | #define HPIPE_TX_TRAIN_CTRL_GN1_MASK \ |
| 609 | (0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET) |
| 610 | #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET 2 |
| 611 | #define HPIPE_TX_TRAIN_CTRL_G0_MASK \ |
| 612 | (0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET) |
| 613 | |
| 614 | #define HPIPE_TX_TRAIN_CTRL_4_REG 0x278 |
| 615 | #define HPIPE_TRX_TRAIN_TIMER_OFFSET 0 |
| 616 | #define HPIPE_TRX_TRAIN_TIMER_MASK \ |
| 617 | (0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET) |
| 618 | |
| 619 | #define HPIPE_TX_TRAIN_CTRL_5_REG 0x2A4 |
| 620 | #define HPIPE_RX_TRAIN_TIMER_OFFSET 0 |
| 621 | #define HPIPE_RX_TRAIN_TIMER_MASK \ |
| 622 | (0x3ff << HPIPE_RX_TRAIN_TIMER_OFFSET) |
| 623 | #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET 11 |
| 624 | #define HPIPE_TX_TRAIN_START_SQ_EN_MASK \ |
| 625 | (0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET) |
| 626 | #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET 12 |
| 627 | #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK \ |
| 628 | (0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET) |
| 629 | #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET 13 |
| 630 | #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK \ |
| 631 | (0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET) |
| 632 | #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET 14 |
| 633 | #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK \ |
| 634 | (0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET) |
| 635 | |
Grzegorz Jaszczyk | 2ed16f5 | 2018-06-29 18:00:33 +0200 | [diff] [blame] | 636 | #define HPIPE_INTERRUPT_1_REGISTER 0x2AC |
| 637 | #define HPIPE_TRX_TRAIN_FAILED_OFFSET 6 |
| 638 | #define HPIPE_TRX_TRAIN_FAILED_MASK \ |
| 639 | (1 << HPIPE_TRX_TRAIN_FAILED_OFFSET) |
| 640 | #define HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET 5 |
| 641 | #define HPIPE_TRX_TRAIN_TIME_OUT_INT_MASK \ |
| 642 | (1 << HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET) |
| 643 | #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET 4 |
| 644 | #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_MASK \ |
| 645 | (1 << HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET) |
| 646 | #define HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET 3 |
| 647 | #define HPIPE_INTERRUPT_DFE_DONE_INT_MASK \ |
| 648 | (1 << HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET) |
| 649 | #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET 1 |
| 650 | #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_MASK \ |
| 651 | (1 << HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET) |
| 652 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 653 | #define HPIPE_TX_TRAIN_REG 0x31C |
| 654 | #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET 4 |
| 655 | #define HPIPE_TX_TRAIN_CHK_INIT_MASK \ |
| 656 | (0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET) |
| 657 | #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET 7 |
| 658 | #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK \ |
| 659 | (0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET) |
| 660 | #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET 8 |
| 661 | #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_MASK \ |
| 662 | (0x1 << HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET) |
| 663 | #define HPIPE_TX_TRAIN_PAT_SEL_OFFSET 9 |
| 664 | #define HPIPE_TX_TRAIN_PAT_SEL_MASK \ |
| 665 | (0x1 << HPIPE_TX_TRAIN_PAT_SEL_OFFSET) |
| 666 | |
| 667 | #define HPIPE_SAVED_DFE_VALUES_REG 0x328 |
| 668 | #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET 10 |
| 669 | #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_MASK \ |
| 670 | (0x3f << HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET) |
| 671 | |
| 672 | #define HPIPE_CDR_CONTROL_REG 0x418 |
Grzegorz Jaszczyk | 3eb5e40 | 2019-03-08 19:51:21 +0100 | [diff] [blame] | 673 | #define HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET 0 |
| 674 | #define HPIPE_CRD_MIDPOINT_PHASE_OS_MASK \ |
| 675 | (0x3f << HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 676 | #define HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET 6 |
| 677 | #define HPIPE_CDR_MAX_DFE_ADAPT_1_MASK \ |
| 678 | (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET) |
Grzegorz Jaszczyk | 3eb5e40 | 2019-03-08 19:51:21 +0100 | [diff] [blame] | 679 | #define HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET 9 |
| 680 | #define HPIPE_CDR_MAX_DFE_ADAPT_0_MASK \ |
| 681 | (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET) |
| 682 | #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET 12 |
| 683 | #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_MASK \ |
| 684 | (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET) |
| 685 | #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET 14 |
| 686 | #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_MASK \ |
| 687 | (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET) |
| 688 | |
| 689 | |
| 690 | #define HPIPE_CDR_CONTROL1_REG 0x41c |
| 691 | #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF 12 |
| 692 | #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_MASK \ |
| 693 | (0xf << HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF) |
| 694 | |
| 695 | #define HPIPE_CDR_CONTROL2_REG 0x420 |
| 696 | #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF 12 |
| 697 | #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_MASK \ |
| 698 | (0xf << HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF) |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 699 | |
| 700 | #define HPIPE_TX_TRAIN_CTRL_11_REG 0x438 |
| 701 | #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET 6 |
| 702 | #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK \ |
| 703 | (0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET) |
| 704 | #define HPIPE_TX_NUM_OF_PRESET_OFFSET 10 |
| 705 | #define HPIPE_TX_NUM_OF_PRESET_MASK \ |
| 706 | (0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET) |
| 707 | #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET 15 |
| 708 | #define HPIPE_TX_SWEEP_PRESET_EN_MASK \ |
| 709 | (0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET) |
| 710 | |
| 711 | #define HPIPE_G1_SETTINGS_3_REG 0x440 |
| 712 | #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET 0 |
| 713 | #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_MASK \ |
| 714 | (0xf << HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET) |
| 715 | #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET 4 |
| 716 | #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_MASK \ |
| 717 | (0x7 << HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET) |
| 718 | #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET 7 |
| 719 | #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_MASK \ |
| 720 | (0x1 << HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET) |
| 721 | #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET 9 |
| 722 | #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_MASK \ |
| 723 | (0x1 << HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET) |
| 724 | #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET 12 |
| 725 | #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_MASK \ |
| 726 | (0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET) |
| 727 | #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET 14 |
| 728 | #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_MASK \ |
| 729 | (0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET) |
| 730 | |
| 731 | #define HPIPE_G1_SETTINGS_4_REG 0x444 |
| 732 | #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET 8 |
| 733 | #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_MASK \ |
| 734 | (0x3 << HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET) |
| 735 | |
| 736 | #define HPIPE_G2_SETTINGS_4_REG 0x44c |
| 737 | #define HPIPE_G2_DFE_RES_OFFSET 8 |
| 738 | #define HPIPE_G2_DFE_RES_MASK \ |
| 739 | (0x3 << HPIPE_G2_DFE_RES_OFFSET) |
| 740 | |
| 741 | #define HPIPE_G3_SETTING_3_REG 0x450 |
| 742 | #define HPIPE_G3_FFE_CAP_SEL_OFFSET 0 |
| 743 | #define HPIPE_G3_FFE_CAP_SEL_MASK \ |
| 744 | (0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET) |
| 745 | #define HPIPE_G3_FFE_RES_SEL_OFFSET 4 |
| 746 | #define HPIPE_G3_FFE_RES_SEL_MASK \ |
| 747 | (0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET) |
| 748 | #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET 7 |
| 749 | #define HPIPE_G3_FFE_SETTING_FORCE_MASK \ |
| 750 | (0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET) |
| 751 | #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET 12 |
| 752 | #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK \ |
| 753 | (0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET) |
| 754 | #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET 14 |
| 755 | #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK \ |
| 756 | (0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET) |
| 757 | |
| 758 | #define HPIPE_G3_SETTING_4_REG 0x454 |
| 759 | #define HPIPE_G3_DFE_RES_OFFSET 8 |
| 760 | #define HPIPE_G3_DFE_RES_MASK (0x3 << HPIPE_G3_DFE_RES_OFFSET) |
| 761 | |
| 762 | #define HPIPE_TX_PRESET_INDEX_REG 0x468 |
| 763 | #define HPIPE_TX_PRESET_INDEX_OFFSET 0 |
| 764 | #define HPIPE_TX_PRESET_INDEX_MASK \ |
| 765 | (0xf << HPIPE_TX_PRESET_INDEX_OFFSET) |
| 766 | |
| 767 | #define HPIPE_DFE_CONTROL_REG 0x470 |
| 768 | #define HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET 14 |
| 769 | #define HPIPE_DFE_TX_MAX_DFE_ADAPT_MASK \ |
| 770 | (0x3 << HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET) |
| 771 | |
| 772 | #define HPIPE_DFE_CTRL_28_REG 0x49C |
| 773 | #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET 7 |
| 774 | #define HPIPE_DFE_CTRL_28_PIPE4_MASK \ |
| 775 | (0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET) |
| 776 | |
Grzegorz Jaszczyk | 3eb5e40 | 2019-03-08 19:51:21 +0100 | [diff] [blame] | 777 | #define HPIPE_TRX0_REG 0x4cc /*in doc 0x133*4*/ |
| 778 | #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF 2 |
| 779 | #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_MASK \ |
| 780 | (0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF) |
| 781 | #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF 0 |
| 782 | #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_MASK \ |
| 783 | (0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF) |
| 784 | |
| 785 | #define HPIPE_TRX_REG1 0x4d0 /*in doc 0x134*4*/ |
| 786 | #define HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF 3 |
| 787 | #define HPIPE_TRX_REG1_MIN_BOOST_MODE_MASK \ |
| 788 | (0x1 << HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF) |
| 789 | #define HPIPE_TRX_REG1_SUMFTAP_EN_OFF 10 |
| 790 | #define HPIPE_TRX_REG1_SUMFTAP_EN_MASK \ |
| 791 | (0x3f << HPIPE_TRX_REG1_SUMFTAP_EN_OFF) |
| 792 | |
| 793 | #define HPIPE_TRX_REG2 0x4d8 /*in doc 0x136*4*/ |
| 794 | #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF 11 |
| 795 | #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_MASK \ |
| 796 | (0x1f << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF) |
| 797 | #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF 7 |
| 798 | #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_MASK \ |
| 799 | (0xf << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF) |
| 800 | |
Konstantin Porotchkin | 5d93d08 | 2018-04-24 19:23:09 +0300 | [diff] [blame] | 801 | #define HPIPE_G1_SETTING_5_REG 0x538 |
| 802 | #define HPIPE_G1_SETTING_5_G1_ICP_OFFSET 0 |
| 803 | #define HPIPE_G1_SETTING_5_G1_ICP_MASK \ |
| 804 | (0xf << HPIPE_G1_SETTING_5_G1_ICP_OFFSET) |
| 805 | |
| 806 | #define HPIPE_G3_SETTING_5_REG 0x548 |
| 807 | #define HPIPE_G3_SETTING_5_G3_ICP_OFFSET 0 |
| 808 | #define HPIPE_G3_SETTING_5_G3_ICP_MASK \ |
| 809 | (0xf << HPIPE_G3_SETTING_5_G3_ICP_OFFSET) |
| 810 | |
| 811 | #define HPIPE_LANE_CONFIG0_REG 0x600 |
| 812 | #define HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET 0 |
| 813 | #define HPIPE_LANE_CONFIG0_TXDEEMPH0_MASK \ |
| 814 | (0x1 << HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET) |
| 815 | |
| 816 | #define HPIPE_LANE_STATUS1_REG 0x60C |
| 817 | #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET 0 |
| 818 | #define HPIPE_LANE_STATUS1_PCLK_EN_MASK \ |
| 819 | (0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET) |
| 820 | |
| 821 | #define HPIPE_LANE_CFG4_REG 0x620 |
| 822 | #define HPIPE_LANE_CFG4_DFE_CTRL_OFFSET 0 |
| 823 | #define HPIPE_LANE_CFG4_DFE_CTRL_MASK \ |
| 824 | (0x7 << HPIPE_LANE_CFG4_DFE_CTRL_OFFSET) |
| 825 | #define HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET 3 |
| 826 | #define HPIPE_LANE_CFG4_DFE_EN_SEL_MASK \ |
| 827 | (0x1 << HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET) |
| 828 | #define HPIPE_LANE_CFG4_DFE_OVER_OFFSET 6 |
| 829 | #define HPIPE_LANE_CFG4_DFE_OVER_MASK \ |
| 830 | (0x1 << HPIPE_LANE_CFG4_DFE_OVER_OFFSET) |
| 831 | #define HPIPE_LANE_CFG4_SSC_CTRL_OFFSET 7 |
| 832 | #define HPIPE_LANE_CFG4_SSC_CTRL_MASK \ |
| 833 | (0x1 << HPIPE_LANE_CFG4_SSC_CTRL_OFFSET) |
| 834 | |
| 835 | #define HPIPE_LANE_EQ_REMOTE_SETTING_REG 0x6f8 |
| 836 | #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET 0 |
| 837 | #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_MASK \ |
| 838 | (0x1 << HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET) |
| 839 | #define HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET 1 |
| 840 | #define HPIPE_LANE_CFG_FOM_ONLY_MODE_MASK \ |
| 841 | (0x1 << HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET) |
| 842 | #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET 2 |
| 843 | #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_MASK \ |
| 844 | (0xf << HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET) |
| 845 | |
| 846 | #define HPIPE_LANE_EQU_CONFIG_0_REG 0x69C |
| 847 | #define HPIPE_CFG_PHY_RC_EP_OFFSET 12 |
| 848 | #define HPIPE_CFG_PHY_RC_EP_MASK \ |
| 849 | (0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET) |
| 850 | |
| 851 | #define HPIPE_LANE_EQ_CFG1_REG 0x6a0 |
| 852 | #define HPIPE_CFG_UPDATE_POLARITY_OFFSET 12 |
| 853 | #define HPIPE_CFG_UPDATE_POLARITY_MASK \ |
| 854 | (0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET) |
| 855 | |
| 856 | #define HPIPE_LANE_EQ_CFG2_REG 0x6a4 |
| 857 | #define HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET 14 |
| 858 | #define HPIPE_CFG_EQ_BUNDLE_DIS_MASK \ |
| 859 | (0x1 << HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET) |
| 860 | |
| 861 | #define HPIPE_RST_CLK_CTRL_REG 0x704 |
| 862 | #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET 0 |
| 863 | #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK \ |
| 864 | (0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET) |
| 865 | #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET 2 |
| 866 | #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK \ |
| 867 | (0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET) |
| 868 | #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET 3 |
| 869 | #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK \ |
| 870 | (0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET) |
| 871 | #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET 9 |
| 872 | #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK \ |
| 873 | (0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET) |
| 874 | |
| 875 | #define HPIPE_TST_MODE_CTRL_REG 0x708 |
| 876 | #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET 2 |
| 877 | #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_MASK \ |
| 878 | (0x1 << HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET) |
| 879 | |
| 880 | #define HPIPE_CLK_SRC_LO_REG 0x70c |
| 881 | #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET 1 |
| 882 | #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK \ |
| 883 | (0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET) |
| 884 | #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET 2 |
| 885 | #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK \ |
| 886 | (0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET) |
| 887 | #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET 5 |
| 888 | #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK \ |
| 889 | (0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET) |
| 890 | |
| 891 | #define HPIPE_CLK_SRC_HI_REG 0x710 |
| 892 | #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET 0 |
| 893 | #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK \ |
| 894 | (0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET) |
| 895 | #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET 1 |
| 896 | #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK \ |
| 897 | (0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET) |
| 898 | #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET 2 |
| 899 | #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK \ |
| 900 | (0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET) |
| 901 | #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET 7 |
| 902 | #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK \ |
| 903 | (0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET) |
| 904 | |
| 905 | #define HPIPE_GLOBAL_MISC_CTRL 0x718 |
| 906 | #define HPIPE_GLOBAL_PM_CTRL 0x740 |
| 907 | #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET 0 |
| 908 | #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK \ |
| 909 | (0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET) |
| 910 | |
| 911 | /* General defines */ |
| 912 | #define PLL_LOCK_TIMEOUT 15000 |
| 913 | |
Antonio Nino Diaz | 5eb8837 | 2018-11-08 10:20:19 +0000 | [diff] [blame] | 914 | #endif /* COMPHY_CP110_H */ |