10ade8cd8SKonstantin Porotchkin /* 20ade8cd8SKonstantin Porotchkin * Copyright (C) 2018 Marvell International Ltd. 30ade8cd8SKonstantin Porotchkin * 40ade8cd8SKonstantin Porotchkin * SPDX-License-Identifier: BSD-3-Clause 50ade8cd8SKonstantin Porotchkin * https://spdx.org/licenses 60ade8cd8SKonstantin Porotchkin */ 70ade8cd8SKonstantin Porotchkin 80ade8cd8SKonstantin Porotchkin /* Marvell CP110 SoC COMPHY unit driver */ 90ade8cd8SKonstantin Porotchkin 10c3cf06f1SAntonio Nino Diaz #ifndef COMPHY_CP110_H 11c3cf06f1SAntonio Nino Diaz #define COMPHY_CP110_H 120ade8cd8SKonstantin Porotchkin 130ade8cd8SKonstantin Porotchkin #define SD_ADDR(base, lane) (base + 0x1000 * lane) 140ade8cd8SKonstantin Porotchkin #define HPIPE_ADDR(base, lane) (SD_ADDR(base, lane) + 0x800) 150ade8cd8SKonstantin Porotchkin #define COMPHY_ADDR(base, lane) (base + 0x28 * lane) 160ade8cd8SKonstantin Porotchkin 170ade8cd8SKonstantin Porotchkin #define MAX_NUM_OF_FFE 8 180ade8cd8SKonstantin Porotchkin #define RX_TRAINING_TIMEOUT 500 190ade8cd8SKonstantin Porotchkin 200ade8cd8SKonstantin Porotchkin /* Comphy registers */ 210ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_REG 0x0 220ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_UP_OFFSET 1 230ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_UP_MASK \ 240ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG1_PWR_UP_OFFSET) 250ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PIPE_SELECT_OFFSET 2 260ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PIPE_SELECT_MASK \ 270ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG1_PIPE_SELECT_OFFSET) 280ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_CORE_RSTN_OFFSET 13 290ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_CORE_RSTN_MASK \ 300ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG1_CORE_RSTN_OFFSET) 310ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET 14 320ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG1_PWR_ON_RESET_MASK \ 330ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG1_PWR_ON_RESET_OFFSET) 340ade8cd8SKonstantin Porotchkin #define COMMON_PHY_PHY_MODE_OFFSET 15 350ade8cd8SKonstantin Porotchkin #define COMMON_PHY_PHY_MODE_MASK \ 360ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_PHY_MODE_OFFSET) 370ade8cd8SKonstantin Porotchkin 380ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_REG 0x14 390ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET 18 400ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_MASK \ 410ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET) 420ade8cd8SKonstantin Porotchkin 430ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_REG 0x14 440ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_OFFSET 18 450ade8cd8SKonstantin Porotchkin #define COMMON_PHY_CFG6_IF_40_SEL_MASK \ 460ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_CFG6_IF_40_SEL_OFFSET) 470ade8cd8SKonstantin Porotchkin 480ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PHY_REG_OFFSET 0x140 490ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_REG_OFFSET 0x144 500ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY_MASK 0xf 510ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHYN_FIELD_WIDTH 4 520ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHYN_SATA 0x4 530ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_PCIE 0x4 540ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_USBH 0x1 550ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_PIPE_COMPHY_USBD 0x2 560ade8cd8SKonstantin Porotchkin 57*a669983cSPali Rohár /* SGMII/Base-X/SFI/RXAUI */ 580ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY0_1_2_NETWORK 0x1 590ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY3_RXAUI 0x1 600ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY3_SGMII 0x2 610ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY4_PORT1 0x1 620ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY4_ALL_OTHERS 0x2 630ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY5_RXAUI 0x2 640ade8cd8SKonstantin Porotchkin #define COMMON_SELECTOR_COMPHY5_SGMII 0x1 650ade8cd8SKonstantin Porotchkin 660ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1 0x148 670ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_PORT_OFFSET 0 680ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_1_PORT_OFFSET 4 690ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_2_PORT_OFFSET 8 700ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_3_PORT_OFFSET 12 710ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_3_PORT_MASK 0xFFFF 720ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_COMPHY_0_1_PORT_MASK 0xFF 730ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET 24 740ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X4_EN_MASK \ 750ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X4_EN_OFFSET) 760ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET 25 770ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_PCIE_X2_EN_MASK \ 780ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_SD_CTRL1_PCIE_X2_EN_OFFSET) 790ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET 26 800ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI1_MASK \ 810ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_SD_CTRL1_RXAUI1_OFFSET) 820ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET 27 830ade8cd8SKonstantin Porotchkin #define COMMON_PHY_SD_CTRL1_RXAUI0_MASK \ 840ade8cd8SKonstantin Porotchkin (0x1 << COMMON_PHY_SD_CTRL1_RXAUI0_OFFSET) 850ade8cd8SKonstantin Porotchkin 860ade8cd8SKonstantin Porotchkin /* DFX register */ 870ade8cd8SKonstantin Porotchkin #define DFX_BASE (0x400000) 880ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_CTRL12_REG (0x280) 890ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_MUX (0x3) 900ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET 7 910ade8cd8SKonstantin Porotchkin #define DFX_DEV_GEN_PCIE_CLK_SRC_MASK \ 920ade8cd8SKonstantin Porotchkin (0x3 << DFX_DEV_GEN_PCIE_CLK_SRC_OFFSET) 930ade8cd8SKonstantin Porotchkin 940ade8cd8SKonstantin Porotchkin /* SerDes IP registers */ 950ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_REG 0 960ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET 1 970ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_PLL_MASK \ 980ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_CONFIG0_SD_PU_PLL_OFFSET) 990ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET 3 1000ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_MASK \ 1010ade8cd8SKonstantin Porotchkin (0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_RX_OFFSET) 1020ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET 7 1030ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_MASK \ 1040ade8cd8SKonstantin Porotchkin (0xf << SD_EXTERNAL_CONFIG0_SD_PHY_GEN_TX_OFFSET) 1050ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET 11 1060ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_RX_MASK \ 1070ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_CONFIG0_SD_PU_RX_OFFSET) 1080ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET 12 1090ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_SD_PU_TX_MASK \ 1100ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_CONFIG0_SD_PU_TX_OFFSET) 1110ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET 14 1120ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_MASK \ 1130ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_CONFIG0_HALF_BUS_MODE_OFFSET) 1140ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET 15 1150ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG0_MEDIA_MODE_MASK \ 1160ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG0_MEDIA_MODE_OFFSET) 1170ade8cd8SKonstantin Porotchkin 1180ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_REG 0x4 1198fa13408SMarcin Wojtas #define SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET 2 1208fa13408SMarcin Wojtas #define SD_EXTERNAL_CONFIG1_TX_IDLE_MASK \ 1218fa13408SMarcin Wojtas (0x1 << SD_EXTERNAL_CONFIG1_TX_IDLE_OFFSET) 1220ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET 3 1230ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_IN_MASK \ 1240ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG1_RESET_IN_OFFSET) 1250ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET 4 1260ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RX_INIT_MASK \ 1270ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG1_RX_INIT_OFFSET) 1280ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET 5 1290ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RESET_CORE_MASK \ 1300ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG1_RESET_CORE_OFFSET) 1310ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET 6 1320ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG1_RF_RESET_IN_MASK \ 1330ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG1_RF_RESET_IN_OFFSET) 1340ade8cd8SKonstantin Porotchkin 1350ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_REG 0x8 1360ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET 4 1370ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_PIN_DFE_EN_MASK \ 1380ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG2_PIN_DFE_EN_OFFSET) 1390ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET 7 1400ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_CONFIG2_SSC_ENABLE_MASK \ 1410ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_CONFIG2_SSC_ENABLE_OFFSET) 1420ade8cd8SKonstantin Porotchkin 1430ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_REG 0xc 1440ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET 7 1450ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS_START_RX_TRAINING_MASK \ 1460ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_STATUS_START_RX_TRAINING_OFFSET) 1470ade8cd8SKonstantin Porotchkin 1480ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_REG 0x18 1490ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_TX_OFFSET 2 1500ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_TX_MASK \ 1510ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_STATUS0_PLL_TX_OFFSET) 1520ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_RX_OFFSET 3 1530ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_PLL_RX_MASK \ 1540ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_STATUS0_PLL_RX_OFFSET) 1550ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_RX_INIT_OFFSET 4 1560ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATUS0_RX_INIT_MASK \ 1570ade8cd8SKonstantin Porotchkin (0x1 << SD_EXTERNAL_STATUS0_RX_INIT_OFFSET) 1580ade8cd8SKonstantin Porotchkin 1590ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG 0x1c 1600ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET 0 1610ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_MASK \ 1620ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_COMP_OFFSET) 1630ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET 1 1640ade8cd8SKonstantin Porotchkin #define SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_MASK \ 1650ade8cd8SKonstantin Porotchkin (1 << SD_EXTERNAL_STATAUS1_REG_RX_TRAIN_FAILED_OFFSET) 1660ade8cd8SKonstantin Porotchkin 1670ade8cd8SKonstantin Porotchkin /* HPIPE registers */ 1680ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REG 0x4 1690ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REF_FREQ_OFFSET 0 1700ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_REF_FREQ_MASK \ 1710ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_PWR_PLL_REF_FREQ_OFFSET) 1720ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_PHY_MODE_OFFSET 5 1730ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_PLL_PHY_MODE_MASK \ 1740ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_PWR_PLL_PHY_MODE_OFFSET) 1750ade8cd8SKonstantin Porotchkin 1760ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG1_REG 0xc 1770ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET 10 1780ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_MASK \ 1790ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_CAL_REG_1_EXT_TXIMP_OFFSET) 1800ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET 15 1810ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_REG_1_EXT_TXIMP_EN_MASK \ 1820ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CAL_REG_1_EXT_TXIMP_EN_OFFSET) 1830ade8cd8SKonstantin Porotchkin 1840ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_FFE_SETTING_REG 0x18 1850ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_THRESH_IN_OFFSET 8 1860ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_THRESH_IN_MASK \ 1870ade8cd8SKonstantin Porotchkin (0xf << HPIPE_SQUELCH_THRESH_IN_OFFSET) 1880ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_DETECTED_OFFSET 14 1890ade8cd8SKonstantin Porotchkin #define HPIPE_SQUELCH_DETECTED_MASK \ 1900ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_SQUELCH_DETECTED_OFFSET) 1910ade8cd8SKonstantin Porotchkin 1920ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_REG0 0x1c 1930ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_RES_FORCE_OFFSET 15 1940ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_RES_FORCE_MASK \ 1950ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_DFE_RES_FORCE_OFFSET) 1960ade8cd8SKonstantin Porotchkin 1970ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_REG 0x28 1980ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_EN_OFFSET 14 1990ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_EN_MASK \ 2000ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_DFE_F3_F5_DFE_EN_OFFSET) 2010ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET 15 2020ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_F3_F5_DFE_CTRL_MASK \ 2030ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_DFE_F3_F5_DFE_CTRL_OFFSET) 2040ade8cd8SKonstantin Porotchkin 20542a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_COEFFICIENT_1_REG 0x30 20642a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_RES_OFFSET 13 20742a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_DFE_RES_MASK \ 20842a29337SGrzegorz Jaszczyk (0x3 << HPIPE_ADAPTED_DFE_RES_OFFSET) 20942a29337SGrzegorz Jaszczyk 2100ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_REG 0x34 2110ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_OFFSET 1 2120ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_MASK \ 2130ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_G1_SET_0_G1_TX_AMP_OFFSET) 2140ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET 6 2150ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_AMP_ADJ_MASK \ 2160ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SET_0_G1_TX_AMP_ADJ_OFFSET) 2170ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET 7 2180ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_MASK \ 2190ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G1_SET_0_G1_TX_EMPH1_OFFSET) 2200ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET 11 2210ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_0_G1_TX_EMPH1_EN_MASK \ 2220ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SET_0_G1_TX_EMPH1_EN_OFFSET) 2230ade8cd8SKonstantin Porotchkin 2240ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_REG 0x38 2250ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET 0 2260ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUPI_MASK \ 2270ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPI_OFFSET) 2283c0024ccSGrzegorz Jaszczyk #define HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET 3 2293c0024ccSGrzegorz Jaszczyk #define HPIPE_G1_SET_1_G1_RX_SELMUPF_MASK \ 2303c0024ccSGrzegorz Jaszczyk (0x7 << HPIPE_G1_SET_1_G1_RX_SELMUPF_OFFSET) 2310ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET 6 2320ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFI_MASK \ 2330ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFI_OFFSET) 2340ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET 8 2350ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_SELMUFF_MASK \ 2360ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SET_1_G1_RX_SELMUFF_OFFSET) 2370ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET 10 2380ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DFE_EN_MASK \ 2390ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SET_1_G1_RX_DFE_EN_OFFSET) 2400ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET 11 2410ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_MASK \ 2420ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SET_1_G1_RX_DIGCK_DIV_OFFSET) 2430ade8cd8SKonstantin Porotchkin 2440ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_REG 0x3c 2450ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_OFFSET 1 2460ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_MASK \ 2470ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_G2_SET_0_G2_TX_AMP_OFFSET) 2480ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET 6 2490ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_AMP_ADJ_MASK \ 2500ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G2_SET_0_G2_TX_AMP_ADJ_OFFSET) 2510ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET 7 2520ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_MASK \ 2530ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G2_SET_0_G2_TX_EMPH1_OFFSET) 2540ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET 11 2550ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_0_G2_TX_EMPH1_EN_MASK \ 2560ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G2_SET_0_G2_TX_EMPH1_EN_OFFSET) 2570ade8cd8SKonstantin Porotchkin 2580ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_REG 0x40 2590ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET 0 2600ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUPI_MASK \ 2610ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPI_OFFSET) 2623c0024ccSGrzegorz Jaszczyk #define HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET 3 2633c0024ccSGrzegorz Jaszczyk #define HPIPE_G2_SET_1_G2_RX_SELMUPF_MASK \ 2643c0024ccSGrzegorz Jaszczyk (0x7 << HPIPE_G2_SET_1_G2_RX_SELMUPF_OFFSET) 2650ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET 6 2660ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFI_MASK \ 2670ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFI_OFFSET) 2680ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET 8 2690ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_SELMUFF_MASK \ 2700ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G2_SET_1_G2_RX_SELMUFF_OFFSET) 2710ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET 10 2720ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DFE_EN_MASK \ 2730ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G2_SET_1_G2_RX_DFE_EN_OFFSET) 2740ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET 11 2750ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_MASK \ 2760ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G2_SET_1_G2_RX_DIGCK_DIV_OFFSET) 2770ade8cd8SKonstantin Porotchkin 2780ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_REG 0x44 2790ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_OFFSET 1 2800ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_MASK \ 2810ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_G3_SET_0_G3_TX_AMP_OFFSET) 2820ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET 6 2830ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_AMP_ADJ_MASK \ 2840ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_SET_0_G3_TX_AMP_ADJ_OFFSET) 2850ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET 7 2860ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_MASK \ 2870ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G3_SET_0_G3_TX_EMPH1_OFFSET) 2880ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET 11 2890ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_EMPH1_EN_MASK \ 2900ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_SET_0_G3_TX_EMPH1_EN_OFFSET) 2910ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET 12 2920ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_MASK \ 2930ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G3_SET_0_G3_TX_SLEW_RATE_SEL_OFFSET) 2940ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET 15 2950ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_MASK \ 2960ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_SET_0_G3_TX_SLEW_CTRL_EN_OFFSET) 2970ade8cd8SKonstantin Porotchkin 2980ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_REG 0x48 2990ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET 0 3000ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPI_MASK \ 3010ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPI_OFFSET) 3020ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET 3 3030ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUPF_MASK \ 3040ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G3_SET_1_G3_RX_SELMUPF_OFFSET) 3050ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET 6 3060ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFI_MASK \ 3070ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFI_OFFSET) 3080ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET 8 3090ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_SELMUFF_MASK \ 3100ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G3_SET_1_G3_RX_SELMUFF_OFFSET) 3110ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET 10 3120ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DFE_EN_MASK \ 3130ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_SET_1_G3_RX_DFE_EN_OFFSET) 3140ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET 11 3150ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_MASK \ 3160ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G3_SET_1_G3_RX_DIGCK_DIV_OFFSET) 3170ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET 13 3180ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_MASK \ 3190ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_SET_1_G3_SAMPLER_INPAIRX2_EN_OFFSET) 3200ade8cd8SKonstantin Porotchkin 3210ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_CONTROL_REG 0x54 3220ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_PATTERN_SEL_OFFSET 4 3230ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_PATTERN_SEL_MASK \ 3240ade8cd8SKonstantin Porotchkin (0xf << HPIPE_PHY_TEST_PATTERN_SEL_OFFSET) 3250ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_RESET_OFFSET 14 3260ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_RESET_MASK \ 3270ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PHY_TEST_RESET_OFFSET) 3280ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_EN_OFFSET 15 3290ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_EN_MASK \ 3300ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PHY_TEST_EN_OFFSET) 3310ade8cd8SKonstantin Porotchkin 3320ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_REG 0x6c 3330ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_OFFSET 0 3340ade8cd8SKonstantin Porotchkin #define HPIPE_PHY_TEST_DATA_MASK \ 3350ade8cd8SKonstantin Porotchkin (0xffff << HPIPE_PHY_TEST_DATA_OFFSET) 3360ade8cd8SKonstantin Porotchkin 33742a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PRBS_ERROR_COUNTER_1_REG 0x80 33842a29337SGrzegorz Jaszczyk 33942a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_OOB_0_REGISTER 0x84 34042a29337SGrzegorz Jaszczyk #define HPIPE_PHY_PT_OOB_EN_OFFSET 14 34142a29337SGrzegorz Jaszczyk #define HPIPE_PHY_PT_OOB_EN_MASK \ 34242a29337SGrzegorz Jaszczyk (0x1 << HPIPE_PHY_PT_OOB_EN_OFFSET) 34342a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PT_TESTMODE_OFFSET 12 34442a29337SGrzegorz Jaszczyk #define HPIPE_PHY_TEST_PT_TESTMODE_MASK \ 34542a29337SGrzegorz Jaszczyk (0x3 << HPIPE_PHY_TEST_PT_TESTMODE_OFFSET) 34642a29337SGrzegorz Jaszczyk 3470ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_REG 0x8c 3480ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_SEL_OFFSET 1 3490ade8cd8SKonstantin Porotchkin #define HPIPE_LOOPBACK_SEL_MASK \ 3500ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_LOOPBACK_SEL_OFFSET) 3510ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_OFFSET 7 3520ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_MASK \ 3530ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CDR_LOCK_OFFSET) 3540ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_DET_EN_OFFSET 8 3550ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_LOCK_DET_EN_MASK \ 3560ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CDR_LOCK_DET_EN_OFFSET) 3570ade8cd8SKonstantin Porotchkin 35838f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_REG 0x090 35938f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_TXD_INV_OFFSET 10 36038f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_TXD_INV_MASK \ 36138f6dacaSGrzegorz Jaszczyk (0x1 << HPIPE_SYNC_PATTERN_TXD_INV_OFFSET) 36238f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_RXD_INV_OFFSET 11 36338f6dacaSGrzegorz Jaszczyk #define HPIPE_SYNC_PATTERN_RXD_INV_MASK \ 36438f6dacaSGrzegorz Jaszczyk (0x1 << HPIPE_SYNC_PATTERN_RXD_INV_OFFSET) 36538f6dacaSGrzegorz Jaszczyk 3660ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_REG 0x94 3670ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_GEN_MAX_OFFSET 10 3680ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_GEN_MAX_MASK \ 3690ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_INTERFACE_GEN_MAX_OFFSET) 3700ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_DET_BYPASS_OFFSET 12 3710ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_DET_BYPASS_MASK \ 3720ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_INTERFACE_DET_BYPASS_OFFSET) 3730ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_LINK_TRAIN_OFFSET 14 3740ade8cd8SKonstantin Porotchkin #define HPIPE_INTERFACE_LINK_TRAIN_MASK \ 3750ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_INTERFACE_LINK_TRAIN_OFFSET) 3760ade8cd8SKonstantin Porotchkin 3770ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_REG 0xf4 3780ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET 0 3790ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_MASK \ 3800ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G1_SET_2_G1_TX_EMPH0_OFFSET) 3810ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET 4 3820ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SET_2_G1_TX_EMPH0_EN_MASK \ 3830ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SET_2_G1_TX_EMPH0_EN_OFFSET) 3840ade8cd8SKonstantin Porotchkin 3850ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SET_2_REG 0xf8 38642a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET 0 38742a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_MASK \ 38842a29337SGrzegorz Jaszczyk (0xf << HPIPE_G2_SET_2_G2_TX_EMPH0_OFFSET) 38942a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET 4 39042a29337SGrzegorz Jaszczyk #define HPIPE_G2_SET_2_G2_TX_EMPH0_EN_MASK \ 39142a29337SGrzegorz Jaszczyk (0x1 << HPIPE_G2_SET_2_G2_TX_EMPH0_EN_OFFSET) 3920ade8cd8SKonstantin Porotchkin #define HPIPE_G2_TX_SSC_AMP_OFFSET 9 3930ade8cd8SKonstantin Porotchkin #define HPIPE_G2_TX_SSC_AMP_MASK \ 3940ade8cd8SKonstantin Porotchkin (0x7f << HPIPE_G2_TX_SSC_AMP_OFFSET) 3950ade8cd8SKonstantin Porotchkin 39642a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_REG 0xfc 39742a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET 0 39842a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_MASK \ 39942a29337SGrzegorz Jaszczyk (0xf << HPIPE_G3_SET_2_G3_TX_EMPH0_OFFSET) 40042a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET 4 40142a29337SGrzegorz Jaszczyk #define HPIPE_G3_SET_2_G3_TX_EMPH0_EN_MASK \ 40242a29337SGrzegorz Jaszczyk (0x1 << HPIPE_G3_SET_2_G3_TX_EMPH0_EN_OFFSET) 40342a29337SGrzegorz Jaszczyk #define HPIPE_G3_TX_SSC_AMP_OFFSET 9 40442a29337SGrzegorz Jaszczyk #define HPIPE_G3_TX_SSC_AMP_MASK \ 40542a29337SGrzegorz Jaszczyk (0x7f << HPIPE_G3_TX_SSC_AMP_OFFSET) 40642a29337SGrzegorz Jaszczyk 4070ade8cd8SKonstantin Porotchkin #define HPIPE_VDD_CAL_0_REG 0x108 4080ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_VDD_CONT_MODE_OFFSET 15 4090ade8cd8SKonstantin Porotchkin #define HPIPE_CAL_VDD_CONT_MODE_MASK \ 4100ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CAL_VDD_CONT_MODE_OFFSET) 4110ade8cd8SKonstantin Porotchkin 4120ade8cd8SKonstantin Porotchkin #define HPIPE_VDD_CAL_CTRL_REG 0x114 4130ade8cd8SKonstantin Porotchkin #define HPIPE_EXT_SELLV_RXSAMPL_OFFSET 5 4140ade8cd8SKonstantin Porotchkin #define HPIPE_EXT_SELLV_RXSAMPL_MASK \ 4150ade8cd8SKonstantin Porotchkin (0x1f << HPIPE_EXT_SELLV_RXSAMPL_OFFSET) 4160ade8cd8SKonstantin Porotchkin 4170ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_REG0 0x120 4180ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_IDLE_SYNC_OFFSET 12 4190ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_IDLE_SYNC_MASK \ 4200ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PCIE_IDLE_SYNC_OFFSET) 4210ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_SEL_BITS_OFFSET 13 4220ade8cd8SKonstantin Porotchkin #define HPIPE_PCIE_SEL_BITS_MASK \ 4230ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_PCIE_SEL_BITS_OFFSET) 4240ade8cd8SKonstantin Porotchkin 4250ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_REG 0x124 4260ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_OFF_OFFSET 12 4270ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_ALIGN_OFF_MASK \ 4280ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_ALIGN_OFF_OFFSET) 4290ade8cd8SKonstantin Porotchkin 4300ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REG 0x13C 4310ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK100M_125M_OFFSET 4 4320ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK100M_125M_MASK \ 4330ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_MISC_CLK100M_125M_OFFSET) 4340ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_ICP_FORCE_OFFSET 5 4350ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_ICP_FORCE_MASK \ 4360ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_MISC_ICP_FORCE_OFFSET) 4370ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_TXDCLK_2X_OFFSET 6 4380ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_TXDCLK_2X_MASK \ 4390ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_MISC_TXDCLK_2X_OFFSET) 4400ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK500_EN_OFFSET 7 4410ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_CLK500_EN_MASK \ 4420ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_MISC_CLK500_EN_OFFSET) 4430ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REFCLK_SEL_OFFSET 10 4440ade8cd8SKonstantin Porotchkin #define HPIPE_MISC_REFCLK_SEL_MASK \ 4450ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_MISC_REFCLK_SEL_OFFSET) 4460ade8cd8SKonstantin Porotchkin 4470ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_REG 0x140 4480ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET 11 4490ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_RXCLK2X_SEL_MASK \ 4500ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RX_CONTROL_1_RXCLK2X_SEL_OFFSET) 4510ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET 12 4520ade8cd8SKonstantin Porotchkin #define HPIPE_RX_CONTROL_1_CLK8T_EN_MASK \ 4530ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RX_CONTROL_1_CLK8T_EN_OFFSET) 4540ade8cd8SKonstantin Porotchkin 4550ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_REG 0x148 4560ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_RST_DFE_OFFSET 0 4570ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_RST_DFE_MASK \ 4580ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_RST_DFE_OFFSET) 4590ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_SFT_RST_OFFSET 10 4600ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_SFT_RST_MASK \ 4610ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_SFT_RST_OFFSET) 4620ade8cd8SKonstantin Porotchkin 4630ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_REG 0x154 4640ade8cd8SKonstantin Porotchkin #define HPIPE_TXDIGCK_DIV_FORCE_OFFSET 7 4650ade8cd8SKonstantin Porotchkin #define HPIPE_TXDIGCK_DIV_FORCE_MASK \ 4660ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TXDIGCK_DIV_FORCE_OFFSET) 4670ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET 8 4680ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_MASK \ 4690ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_OFFSET) 4700ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET 10 4710ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_MASK \ 4720ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_SPD_DIV_FORCE_RX_SPD_DIV_FORCE_OFFSET) 4730ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET 13 4740ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_MASK \ 4750ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_OFFSET) 4760ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET 15 4770ade8cd8SKonstantin Porotchkin #define HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_MASK \ 4780ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_SPD_DIV_FORCE_TX_SPD_DIV_FORCE_OFFSET) 4790ade8cd8SKonstantin Porotchkin 48042a29337SGrzegorz Jaszczyk /* HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIBRATION_CTRL_REG */ 48142a29337SGrzegorz Jaszczyk #define HPIPE_RX_CLK_ALIGN90_AND_TX_IDLE_CALIB_CTRL_REG 0x168 48242a29337SGrzegorz Jaszczyk #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET 15 48342a29337SGrzegorz Jaszczyk #define HPIPE_CAL_RXCLKALIGN_90_EXT_EN_MASK \ 48442a29337SGrzegorz Jaszczyk (0x1 << HPIPE_CAL_RXCLKALIGN_90_EXT_EN_OFFSET) 48542a29337SGrzegorz Jaszczyk #define HPIPE_CAL_OS_PH_EXT_OFFSET 8 48642a29337SGrzegorz Jaszczyk #define HPIPE_CAL_OS_PH_EXT_MASK \ 48742a29337SGrzegorz Jaszczyk (0x7f << HPIPE_CAL_OS_PH_EXT_OFFSET) 48842a29337SGrzegorz Jaszczyk 4890ade8cd8SKonstantin Porotchkin #define HPIPE_SAMPLER_N_PROC_CALIB_CTRL_REG 0x16C 4900ade8cd8SKonstantin Porotchkin #define HPIPE_RX_SAMPLER_OS_GAIN_OFFSET 6 4910ade8cd8SKonstantin Porotchkin #define HPIPE_RX_SAMPLER_OS_GAIN_MASK \ 4920ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_RX_SAMPLER_OS_GAIN_OFFSET) 4930ade8cd8SKonstantin Porotchkin #define HPIPE_SMAPLER_OFFSET 12 4940ade8cd8SKonstantin Porotchkin #define HPIPE_SMAPLER_MASK \ 4950ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_SMAPLER_OFFSET) 4960ade8cd8SKonstantin Porotchkin 4970ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_REG 0x174 4980ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_TX_EMPH_RES_OFFSET 5 4990ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_TX_EMPH_RES_MASK \ 5000ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_TX_REG1_TX_EMPH_RES_OFFSET) 5010ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_SLC_EN_OFFSET 10 5020ade8cd8SKonstantin Porotchkin #define HPIPE_TX_REG1_SLC_EN_MASK \ 5030ade8cd8SKonstantin Porotchkin (0x3f << HPIPE_TX_REG1_SLC_EN_OFFSET) 5040ade8cd8SKonstantin Porotchkin 5050ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_REG 0x184 5060ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET 0 5070ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_DET_EN_MASK \ 5080ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_DTL_SQ_DET_EN_OFFSET) 5090ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET 1 5100ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_MASK \ 5110ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_DTL_SQ_PLOOP_EN_OFFSET) 5120ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET 2 5130ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_FLOOP_EN_MASK \ 5140ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_DTL_FLOOP_EN_OFFSET) 5150ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET 4 5160ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLAMPING_SEL_MASK \ 5170ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_PWR_CTR_DTL_CLAMPING_SEL_OFFSET) 5180ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET 10 5190ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_MASK \ 5200ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PWR_CTR_DTL_INTPCLK_DIV_FORCE_OFFSET) 5210ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET 12 5220ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_MASK \ 5230ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_PWR_CTR_DTL_CLK_MODE_OFFSET) 5240ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET 14 5250ade8cd8SKonstantin Porotchkin #define HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_MASK \ 5260ade8cd8SKonstantin Porotchkin (1 << HPIPE_PWR_CTR_DTL_CLK_MODE_FORCE_OFFSET) 5270ade8cd8SKonstantin Porotchkin 5280ade8cd8SKonstantin Porotchkin #define HPIPE_PHASE_CONTROL_REG 0x188 5290ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_OFFSET 0 5300ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_MASK \ 5310ade8cd8SKonstantin Porotchkin (0x7f << HPIPE_OS_PH_OFFSET_OFFSET) 5320ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_FORCE_OFFSET 7 5330ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_OFFSET_FORCE_MASK \ 5340ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_OS_PH_OFFSET_FORCE_OFFSET) 5350ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_VALID_OFFSET 8 5360ade8cd8SKonstantin Porotchkin #define HPIPE_OS_PH_VALID_MASK \ 5370ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_OS_PH_VALID_OFFSET) 5380ade8cd8SKonstantin Porotchkin 53942a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_OFF_CTRL_REG 0x1A0 54042a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET 9 54142a29337SGrzegorz Jaszczyk #define HPIPE_DATA_PHASE_ADAPTED_OS_PH_MASK \ 54242a29337SGrzegorz Jaszczyk (0x7f << HPIPE_DATA_PHASE_ADAPTED_OS_PH_OFFSET) 54342a29337SGrzegorz Jaszczyk 54442a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_CAPACITOR_COUNTER_CTRL_REG 0x1A4 54542a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET 12 54642a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_MASK \ 54742a29337SGrzegorz Jaszczyk (0x3 << HPIPE_ADAPTED_FFE_ADAPTED_FFE_RES_OFFSET) 54842a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET 8 54942a29337SGrzegorz Jaszczyk #define HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_MASK \ 55042a29337SGrzegorz Jaszczyk (0xf << HPIPE_ADAPTED_FFE_ADAPTED_FFE_CAP_OFFSET) 55142a29337SGrzegorz Jaszczyk 5520ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_GLITCH_FILTER_CTRL 0x1c8 5530ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET 0 5540ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_P_MASK \ 5550ade8cd8SKonstantin Porotchkin (0xf << HPIPE_SQ_DEGLITCH_WIDTH_P_OFFSET) 5560ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET 4 5570ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_WIDTH_N_MASK \ 5580ade8cd8SKonstantin Porotchkin (0xf << HPIPE_SQ_DEGLITCH_WIDTH_N_OFFSET) 5590ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_EN_OFFSET 8 5600ade8cd8SKonstantin Porotchkin #define HPIPE_SQ_DEGLITCH_EN_MASK \ 5610ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_SQ_DEGLITCH_EN_OFFSET) 5620ade8cd8SKonstantin Porotchkin 5630ade8cd8SKonstantin Porotchkin #define HPIPE_FRAME_DETECT_CTRL_0_REG 0x214 5640ade8cd8SKonstantin Porotchkin #define HPIPE_TRAIN_PAT_NUM_OFFSET 0x7 5650ade8cd8SKonstantin Porotchkin #define HPIPE_TRAIN_PAT_NUM_MASK \ 5660ade8cd8SKonstantin Porotchkin (0x1FF << HPIPE_TRAIN_PAT_NUM_OFFSET) 5670ade8cd8SKonstantin Porotchkin 5680ade8cd8SKonstantin Porotchkin #define HPIPE_FRAME_DETECT_CTRL_3_REG 0x220 5690ade8cd8SKonstantin Porotchkin #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET 12 5700ade8cd8SKonstantin Porotchkin #define HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_MASK \ 5710ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_PATTERN_LOCK_LOST_TIMEOUT_EN_OFFSET) 5720ade8cd8SKonstantin Porotchkin 5730ade8cd8SKonstantin Porotchkin #define HPIPE_DME_REG 0x228 5740ade8cd8SKonstantin Porotchkin #define HPIPE_DME_ETHERNET_MODE_OFFSET 7 5750ade8cd8SKonstantin Porotchkin #define HPIPE_DME_ETHERNET_MODE_MASK \ 5760ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_DME_ETHERNET_MODE_OFFSET) 5770ade8cd8SKonstantin Porotchkin 57842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_CTRL_0_REG 0x22c 57942a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_F0T_EO_BASED_OFFSET 14 58042a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_F0T_EO_BASED_MASK \ 58142a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_TX_F0T_EO_BASED_OFFSET) 58242a29337SGrzegorz Jaszczyk #define HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET 6 58342a29337SGrzegorz Jaszczyk #define HPIPE_TRX_UPDATE_THEN_HOLD_MASK \ 58442a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_UPDATE_THEN_HOLD_OFFSET) 58542a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET 5 58642a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_CTRL_CLK_EN_MASK \ 58742a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_TX_CTRL_CLK_EN_OFFSET) 58842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET 4 58942a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_ANA_IF_CLK_ENE_MASK \ 59042a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_RX_ANA_IF_CLK_ENE_OFFSET) 59142a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_TRAIN_EN_OFFSET 1 59242a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TX_TRAIN_EN_MASK \ 59342a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_TX_TRAIN_EN_OFFSET) 59442a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_TRAIN_EN_OFFSET 0 59542a29337SGrzegorz Jaszczyk #define HPIPE_TRX_RX_TRAIN_EN_MASK \ 59642a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_RX_TRAIN_EN_OFFSET) 59742a29337SGrzegorz Jaszczyk 5980ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_0_REG 0x268 5990ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_P2P_HOLD_OFFSET 15 6000ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_P2P_HOLD_MASK \ 6010ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_P2P_HOLD_OFFSET) 6020ade8cd8SKonstantin Porotchkin 6030ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_REG 0x26C 6040ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G1_OFFSET 0 6050ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G1_MASK \ 6060ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_CTRL_G1_OFFSET) 6070ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_GN1_OFFSET 1 6080ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_GN1_MASK \ 6090ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_CTRL_GN1_OFFSET) 6100ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G0_OFFSET 2 6110ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_G0_MASK \ 6120ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_CTRL_G0_OFFSET) 6130ade8cd8SKonstantin Porotchkin 6140ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_4_REG 0x278 6150ade8cd8SKonstantin Porotchkin #define HPIPE_TRX_TRAIN_TIMER_OFFSET 0 6160ade8cd8SKonstantin Porotchkin #define HPIPE_TRX_TRAIN_TIMER_MASK \ 6170ade8cd8SKonstantin Porotchkin (0x3FF << HPIPE_TRX_TRAIN_TIMER_OFFSET) 6180ade8cd8SKonstantin Porotchkin 6190ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_5_REG 0x2A4 6200ade8cd8SKonstantin Porotchkin #define HPIPE_RX_TRAIN_TIMER_OFFSET 0 6210ade8cd8SKonstantin Porotchkin #define HPIPE_RX_TRAIN_TIMER_MASK \ 6220ade8cd8SKonstantin Porotchkin (0x3ff << HPIPE_RX_TRAIN_TIMER_OFFSET) 6230ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_SQ_EN_OFFSET 11 6240ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_SQ_EN_MASK \ 6250ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_START_SQ_EN_OFFSET) 6260ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET 12 6270ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_DET_EN_MASK \ 6280ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_START_FRM_DET_EN_OFFSET) 6290ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET 13 6300ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_START_FRM_LOCK_EN_MASK \ 6310ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_START_FRM_LOCK_EN_OFFSET) 6320ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET 14 6330ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_WAIT_TIME_EN_MASK \ 6340ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_WAIT_TIME_EN_OFFSET) 6350ade8cd8SKonstantin Porotchkin 63642a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_1_REGISTER 0x2AC 63742a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_FAILED_OFFSET 6 63842a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_FAILED_MASK \ 63942a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_TRAIN_FAILED_OFFSET) 64042a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET 5 64142a29337SGrzegorz Jaszczyk #define HPIPE_TRX_TRAIN_TIME_OUT_INT_MASK \ 64242a29337SGrzegorz Jaszczyk (1 << HPIPE_TRX_TRAIN_TIME_OUT_INT_OFFSET) 64342a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET 4 64442a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_TRX_TRAIN_DONE_MASK \ 64542a29337SGrzegorz Jaszczyk (1 << HPIPE_INTERRUPT_TRX_TRAIN_DONE_OFFSET) 64642a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET 3 64742a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_DFE_DONE_INT_MASK \ 64842a29337SGrzegorz Jaszczyk (1 << HPIPE_INTERRUPT_DFE_DONE_INT_OFFSET) 64942a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET 1 65042a29337SGrzegorz Jaszczyk #define HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_MASK \ 65142a29337SGrzegorz Jaszczyk (1 << HPIPE_INTERRUPT_RX_TRAIN_COMPLETE_INT_OFFSET) 65242a29337SGrzegorz Jaszczyk 6530ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_REG 0x31C 6540ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CHK_INIT_OFFSET 4 6550ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CHK_INIT_MASK \ 6560ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_CHK_INIT_OFFSET) 6570ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET 7 6580ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_MASK \ 6590ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_COE_FM_PIN_PCIE3_OFFSET) 6600ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET 8 6610ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_16BIT_AUTO_EN_MASK \ 6620ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_16BIT_AUTO_EN_OFFSET) 6630ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_PAT_SEL_OFFSET 9 6640ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_PAT_SEL_MASK \ 6650ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_TRAIN_PAT_SEL_OFFSET) 6660ade8cd8SKonstantin Porotchkin 6670ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_REG 0x328 6680ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET 10 6690ade8cd8SKonstantin Porotchkin #define HPIPE_SAVED_DFE_VALUES_SAV_F0D_MASK \ 6700ade8cd8SKonstantin Porotchkin (0x3f << HPIPE_SAVED_DFE_VALUES_SAV_F0D_OFFSET) 6710ade8cd8SKonstantin Porotchkin 6720ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_CONTROL_REG 0x418 6738e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET 0 6748e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD_MIDPOINT_PHASE_OS_MASK \ 6758e8ec8cfSGrzegorz Jaszczyk (0x3f << HPIPE_CRD_MIDPOINT_PHASE_OS_OFFSET) 6760ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET 6 6770ade8cd8SKonstantin Porotchkin #define HPIPE_CDR_MAX_DFE_ADAPT_1_MASK \ 6780ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_1_OFFSET) 6798e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET 9 6808e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_MAX_DFE_ADAPT_0_MASK \ 6818e8ec8cfSGrzegorz Jaszczyk (0x7 << HPIPE_CDR_MAX_DFE_ADAPT_0_OFFSET) 6828e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET 12 6838e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_1_MASK \ 6848e8ec8cfSGrzegorz Jaszczyk (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_1_OFFSET) 6858e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET 14 6868e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_RX_MAX_DFE_ADAPT_0_MASK \ 6878e8ec8cfSGrzegorz Jaszczyk (0x3 << HPIPE_CDR_RX_MAX_DFE_ADAPT_0_OFFSET) 6888e8ec8cfSGrzegorz Jaszczyk 6898e8ec8cfSGrzegorz Jaszczyk 6908e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_CONTROL1_REG 0x41c 6918e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF 12 6928e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_MASK \ 6938e8ec8cfSGrzegorz Jaszczyk (0xf << HPIPE_CRD2_CRD_MIDPOINT_SMALL_THRES_K_OFF) 6948e8ec8cfSGrzegorz Jaszczyk 6958e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CDR_CONTROL2_REG 0x420 6968e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF 12 6978e8ec8cfSGrzegorz Jaszczyk #define HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_MASK \ 6988e8ec8cfSGrzegorz Jaszczyk (0xf << HPIPE_CRD2_CRD_MIDPOINT_LARGE_THRES_K_OFF) 6990ade8cd8SKonstantin Porotchkin 7000ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TRAIN_CTRL_11_REG 0x438 7010ade8cd8SKonstantin Porotchkin #define HPIPE_TX_STATUS_CHECK_MODE_OFFSET 6 7020ade8cd8SKonstantin Porotchkin #define HPIPE_TX_TX_STATUS_CHECK_MODE_MASK \ 7030ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_STATUS_CHECK_MODE_OFFSET) 7040ade8cd8SKonstantin Porotchkin #define HPIPE_TX_NUM_OF_PRESET_OFFSET 10 7050ade8cd8SKonstantin Porotchkin #define HPIPE_TX_NUM_OF_PRESET_MASK \ 7060ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_TX_NUM_OF_PRESET_OFFSET) 7070ade8cd8SKonstantin Porotchkin #define HPIPE_TX_SWEEP_PRESET_EN_OFFSET 15 7080ade8cd8SKonstantin Porotchkin #define HPIPE_TX_SWEEP_PRESET_EN_MASK \ 7090ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TX_SWEEP_PRESET_EN_OFFSET) 7100ade8cd8SKonstantin Porotchkin 7110ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_REG 0x440 7120ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET 0 7130ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_MASK \ 7140ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G1_SETTINGS_3_G1_FFE_CAP_SEL_OFFSET) 7150ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET 4 7160ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_MASK \ 7170ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G1_SETTINGS_3_G1_FFE_RES_SEL_OFFSET) 7180ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET 7 7190ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_MASK \ 7200ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SETTINGS_3_G1_FFE_SETTING_FORCE_OFFSET) 7210ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET 9 7220ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_MASK \ 7230ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G1_SETTINGS_3_G1_FBCK_SEL_OFFSET) 7240ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET 12 7250ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_MASK \ 7260ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_DEG_RES_LEVEL_OFFSET) 7270ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET 14 7280ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_MASK \ 7290ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SETTINGS_3_G1_FFE_LOAD_RES_LEVEL_OFFSET) 7300ade8cd8SKonstantin Porotchkin 7310ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_REG 0x444 7320ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET 8 7330ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTINGS_4_G1_DFE_RES_MASK \ 7340ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G1_SETTINGS_4_G1_DFE_RES_OFFSET) 7350ade8cd8SKonstantin Porotchkin 7360ade8cd8SKonstantin Porotchkin #define HPIPE_G2_SETTINGS_4_REG 0x44c 7370ade8cd8SKonstantin Porotchkin #define HPIPE_G2_DFE_RES_OFFSET 8 7380ade8cd8SKonstantin Porotchkin #define HPIPE_G2_DFE_RES_MASK \ 7390ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G2_DFE_RES_OFFSET) 7400ade8cd8SKonstantin Porotchkin 7410ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_3_REG 0x450 7420ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_CAP_SEL_OFFSET 0 7430ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_CAP_SEL_MASK \ 7440ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G3_FFE_CAP_SEL_OFFSET) 7450ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_RES_SEL_OFFSET 4 7460ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_RES_SEL_MASK \ 7470ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_G3_FFE_RES_SEL_OFFSET) 7480ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_SETTING_FORCE_OFFSET 7 7490ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_SETTING_FORCE_MASK \ 7500ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_G3_FFE_SETTING_FORCE_OFFSET) 7510ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET 12 7520ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_DEG_RES_LEVEL_MASK \ 7530ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G3_FFE_DEG_RES_LEVEL_OFFSET) 7540ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET 14 7550ade8cd8SKonstantin Porotchkin #define HPIPE_G3_FFE_LOAD_RES_LEVEL_MASK \ 7560ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_G3_FFE_LOAD_RES_LEVEL_OFFSET) 7570ade8cd8SKonstantin Porotchkin 7580ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_4_REG 0x454 7590ade8cd8SKonstantin Porotchkin #define HPIPE_G3_DFE_RES_OFFSET 8 7600ade8cd8SKonstantin Porotchkin #define HPIPE_G3_DFE_RES_MASK (0x3 << HPIPE_G3_DFE_RES_OFFSET) 7610ade8cd8SKonstantin Porotchkin 7620ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_REG 0x468 7630ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_OFFSET 0 7640ade8cd8SKonstantin Porotchkin #define HPIPE_TX_PRESET_INDEX_MASK \ 7650ade8cd8SKonstantin Porotchkin (0xf << HPIPE_TX_PRESET_INDEX_OFFSET) 7660ade8cd8SKonstantin Porotchkin 7670ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CONTROL_REG 0x470 7680ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET 14 7690ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_TX_MAX_DFE_ADAPT_MASK \ 7700ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_DFE_TX_MAX_DFE_ADAPT_OFFSET) 7710ade8cd8SKonstantin Porotchkin 7720ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_REG 0x49C 7730ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_PIPE4_OFFSET 7 7740ade8cd8SKonstantin Porotchkin #define HPIPE_DFE_CTRL_28_PIPE4_MASK \ 7750ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_DFE_CTRL_28_PIPE4_OFFSET) 7760ade8cd8SKonstantin Porotchkin 7778e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_REG 0x4cc /*in doc 0x133*4*/ 7788e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF 2 7798e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_MASK \ 7808e8ec8cfSGrzegorz Jaszczyk (0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_SAMPLER_OFF) 7818e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF 0 7828e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX0_GAIN_TRAIN_WITH_C_MASK \ 7838e8ec8cfSGrzegorz Jaszczyk (0x1 << HPIPE_TRX0_GAIN_TRAIN_WITH_C_OFF) 7848e8ec8cfSGrzegorz Jaszczyk 7858e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1 0x4d0 /*in doc 0x134*4*/ 7868e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF 3 7878e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_MIN_BOOST_MODE_MASK \ 7888e8ec8cfSGrzegorz Jaszczyk (0x1 << HPIPE_TRX_REG1_MIN_BOOST_MODE_OFF) 7898e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_SUMFTAP_EN_OFF 10 7908e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG1_SUMFTAP_EN_MASK \ 7918e8ec8cfSGrzegorz Jaszczyk (0x3f << HPIPE_TRX_REG1_SUMFTAP_EN_OFF) 7928e8ec8cfSGrzegorz Jaszczyk 7938e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2 0x4d8 /*in doc 0x136*4*/ 7948e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF 11 7958e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_MASK \ 7968e8ec8cfSGrzegorz Jaszczyk (0x1f << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_C_OFF) 7978e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF 7 7988e8ec8cfSGrzegorz Jaszczyk #define HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_MASK \ 7998e8ec8cfSGrzegorz Jaszczyk (0xf << HPIPE_TRX_REG2_SUMF_BOOST_TARGET_K_OFF) 8008e8ec8cfSGrzegorz Jaszczyk 8010ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_REG 0x538 8020ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_G1_ICP_OFFSET 0 8030ade8cd8SKonstantin Porotchkin #define HPIPE_G1_SETTING_5_G1_ICP_MASK \ 8040ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G1_SETTING_5_G1_ICP_OFFSET) 8050ade8cd8SKonstantin Porotchkin 8060ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_REG 0x548 8070ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_G3_ICP_OFFSET 0 8080ade8cd8SKonstantin Porotchkin #define HPIPE_G3_SETTING_5_G3_ICP_MASK \ 8090ade8cd8SKonstantin Porotchkin (0xf << HPIPE_G3_SETTING_5_G3_ICP_OFFSET) 8100ade8cd8SKonstantin Porotchkin 8110ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_REG 0x600 8120ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET 0 8130ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CONFIG0_TXDEEMPH0_MASK \ 8140ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CONFIG0_TXDEEMPH0_OFFSET) 8150ade8cd8SKonstantin Porotchkin 8160ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_REG 0x60C 8170ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_PCLK_EN_OFFSET 0 8180ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_STATUS1_PCLK_EN_MASK \ 8190ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_STATUS1_PCLK_EN_OFFSET) 8200ade8cd8SKonstantin Porotchkin 8210ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_REG 0x620 8220ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_CTRL_OFFSET 0 8230ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_CTRL_MASK \ 8240ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_LANE_CFG4_DFE_CTRL_OFFSET) 8250ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET 3 8260ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_EN_SEL_MASK \ 8270ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CFG4_DFE_EN_SEL_OFFSET) 8280ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_OVER_OFFSET 6 8290ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_DFE_OVER_MASK \ 8300ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CFG4_DFE_OVER_OFFSET) 8310ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_SSC_CTRL_OFFSET 7 8320ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG4_SSC_CTRL_MASK \ 8330ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CFG4_SSC_CTRL_OFFSET) 8340ade8cd8SKonstantin Porotchkin 8350ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_REMOTE_SETTING_REG 0x6f8 8360ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET 0 8370ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_MASK \ 8380ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CFG_FOM_DIRN_OVERRIDE_OFFSET) 8390ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET 1 8400ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_ONLY_MODE_MASK \ 8410ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_LANE_CFG_FOM_ONLY_MODE_OFFFSET) 8420ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET 2 8430ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_CFG_FOM_PRESET_VECTOR_MASK \ 8440ade8cd8SKonstantin Porotchkin (0xf << HPIPE_LANE_CFG_FOM_PRESET_VECTOR_OFFSET) 8450ade8cd8SKonstantin Porotchkin 8460ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQU_CONFIG_0_REG 0x69C 8470ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_PHY_RC_EP_OFFSET 12 8480ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_PHY_RC_EP_MASK \ 8490ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CFG_PHY_RC_EP_OFFSET) 8500ade8cd8SKonstantin Porotchkin 8510ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_CFG1_REG 0x6a0 8520ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_UPDATE_POLARITY_OFFSET 12 8530ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_UPDATE_POLARITY_MASK \ 8540ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CFG_UPDATE_POLARITY_OFFSET) 8550ade8cd8SKonstantin Porotchkin 8560ade8cd8SKonstantin Porotchkin #define HPIPE_LANE_EQ_CFG2_REG 0x6a4 8570ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET 14 8580ade8cd8SKonstantin Porotchkin #define HPIPE_CFG_EQ_BUNDLE_DIS_MASK \ 8590ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CFG_EQ_BUNDLE_DIS_OFFSET) 8600ade8cd8SKonstantin Porotchkin 8610ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_REG 0x704 8620ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET 0 8630ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_RST_MASK \ 8640ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RST_CLK_CTRL_PIPE_RST_OFFSET) 8650ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET 2 8660ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_FIXED_PCLK_MASK \ 8670ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RST_CLK_CTRL_FIXED_PCLK_OFFSET) 8680ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET 3 8690ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_PIPE_WIDTH_MASK \ 8700ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RST_CLK_CTRL_PIPE_WIDTH_OFFSET) 8710ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET 9 8720ade8cd8SKonstantin Porotchkin #define HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_MASK \ 8730ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_RST_CLK_CTRL_CORE_FREQ_SEL_OFFSET) 8740ade8cd8SKonstantin Porotchkin 8750ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_REG 0x708 8760ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET 2 8770ade8cd8SKonstantin Porotchkin #define HPIPE_TST_MODE_CTRL_MODE_MARGIN_MASK \ 8780ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_TST_MODE_CTRL_MODE_MARGIN_OFFSET) 8790ade8cd8SKonstantin Porotchkin 8800ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_REG 0x70c 8810ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET 1 8820ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_MASK \ 8830ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SEL_OFFSET) 8840ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET 2 8850ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_MASK \ 8860ade8cd8SKonstantin Porotchkin (0x3 << HPIPE_CLK_SRC_LO_BUNDLE_PERIOD_SCALE_OFFSET) 8870ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET 5 8880ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_LO_PLL_RDY_DL_MASK \ 8890ade8cd8SKonstantin Porotchkin (0x7 << HPIPE_CLK_SRC_LO_PLL_RDY_DL_OFFSET) 8900ade8cd8SKonstantin Porotchkin 8910ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_REG 0x710 8920ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET 0 8930ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_STRT_MASK \ 8940ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CLK_SRC_HI_LANE_STRT_OFFSET) 8950ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET 1 8960ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_BREAK_MASK \ 8970ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CLK_SRC_HI_LANE_BREAK_OFFSET) 8980ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET 2 8990ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_LANE_MASTER_MASK \ 9000ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CLK_SRC_HI_LANE_MASTER_OFFSET) 9010ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET 7 9020ade8cd8SKonstantin Porotchkin #define HPIPE_CLK_SRC_HI_MODE_PIPE_MASK \ 9030ade8cd8SKonstantin Porotchkin (0x1 << HPIPE_CLK_SRC_HI_MODE_PIPE_OFFSET) 9040ade8cd8SKonstantin Porotchkin 9050ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_MISC_CTRL 0x718 9060ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_CTRL 0x740 9070ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET 0 9080ade8cd8SKonstantin Porotchkin #define HPIPE_GLOBAL_PM_RXDLOZ_WAIT_MASK \ 9090ade8cd8SKonstantin Porotchkin (0xFF << HPIPE_GLOBAL_PM_RXDLOZ_WAIT_OFFSET) 9100ade8cd8SKonstantin Porotchkin 9110ade8cd8SKonstantin Porotchkin /* General defines */ 9120ade8cd8SKonstantin Porotchkin #define PLL_LOCK_TIMEOUT 15000 9130ade8cd8SKonstantin Porotchkin 914c3cf06f1SAntonio Nino Diaz #endif /* COMPHY_CP110_H */ 915