-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
drm/i915: Move TC PHY registers to their own header
Registers representing the MG/DKL TC PHYs (including the TC DPLLs which exist inside the PHY) are only needed in a couple files and on specific platforms; let's keep them separate from the general register pool. Cc: Jani Nikula <jani.nikula@linux.intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220111051600.3429104-11-matthew.d.roper@intel.com
- Loading branch information
Matt Roper
committed
Jan 11, 2022
1 parent
d0864ee
commit 24ce4d6
Showing
5 changed files
with
347 additions
and
333 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,344 @@ | ||
/* SPDX-License-Identifier: MIT */ | ||
/* | ||
* Copyright © 2022 Intel Corporation | ||
*/ | ||
|
||
#ifndef __INTEL_TC_PHY_REGS__ | ||
#define __INTEL_TC_PHY_REGS__ | ||
|
||
#include "i915_reg_defs.h" | ||
|
||
#define MG_PHY_PORT_LN(ln, tc_port, ln0p1, ln0p2, ln1p1) \ | ||
_MMIO(_PORT(tc_port, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1))) | ||
|
||
#define MG_TX_LINK_PARAMS_TX1LN0_PORT1 0x16812C | ||
#define MG_TX_LINK_PARAMS_TX1LN1_PORT1 0x16852C | ||
#define MG_TX_LINK_PARAMS_TX1LN0_PORT2 0x16912C | ||
#define MG_TX_LINK_PARAMS_TX1LN1_PORT2 0x16952C | ||
#define MG_TX_LINK_PARAMS_TX1LN0_PORT3 0x16A12C | ||
#define MG_TX_LINK_PARAMS_TX1LN1_PORT3 0x16A52C | ||
#define MG_TX_LINK_PARAMS_TX1LN0_PORT4 0x16B12C | ||
#define MG_TX_LINK_PARAMS_TX1LN1_PORT4 0x16B52C | ||
#define MG_TX1_LINK_PARAMS(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \ | ||
MG_TX_LINK_PARAMS_TX1LN0_PORT2, \ | ||
MG_TX_LINK_PARAMS_TX1LN1_PORT1) | ||
|
||
#define MG_TX_LINK_PARAMS_TX2LN0_PORT1 0x1680AC | ||
#define MG_TX_LINK_PARAMS_TX2LN1_PORT1 0x1684AC | ||
#define MG_TX_LINK_PARAMS_TX2LN0_PORT2 0x1690AC | ||
#define MG_TX_LINK_PARAMS_TX2LN1_PORT2 0x1694AC | ||
#define MG_TX_LINK_PARAMS_TX2LN0_PORT3 0x16A0AC | ||
#define MG_TX_LINK_PARAMS_TX2LN1_PORT3 0x16A4AC | ||
#define MG_TX_LINK_PARAMS_TX2LN0_PORT4 0x16B0AC | ||
#define MG_TX_LINK_PARAMS_TX2LN1_PORT4 0x16B4AC | ||
#define MG_TX2_LINK_PARAMS(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \ | ||
MG_TX_LINK_PARAMS_TX2LN0_PORT2, \ | ||
MG_TX_LINK_PARAMS_TX2LN1_PORT1) | ||
#define CRI_USE_FS32 (1 << 5) | ||
|
||
#define MG_TX_PISO_READLOAD_TX1LN0_PORT1 0x16814C | ||
#define MG_TX_PISO_READLOAD_TX1LN1_PORT1 0x16854C | ||
#define MG_TX_PISO_READLOAD_TX1LN0_PORT2 0x16914C | ||
#define MG_TX_PISO_READLOAD_TX1LN1_PORT2 0x16954C | ||
#define MG_TX_PISO_READLOAD_TX1LN0_PORT3 0x16A14C | ||
#define MG_TX_PISO_READLOAD_TX1LN1_PORT3 0x16A54C | ||
#define MG_TX_PISO_READLOAD_TX1LN0_PORT4 0x16B14C | ||
#define MG_TX_PISO_READLOAD_TX1LN1_PORT4 0x16B54C | ||
#define MG_TX1_PISO_READLOAD(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \ | ||
MG_TX_PISO_READLOAD_TX1LN0_PORT2, \ | ||
MG_TX_PISO_READLOAD_TX1LN1_PORT1) | ||
|
||
#define MG_TX_PISO_READLOAD_TX2LN0_PORT1 0x1680CC | ||
#define MG_TX_PISO_READLOAD_TX2LN1_PORT1 0x1684CC | ||
#define MG_TX_PISO_READLOAD_TX2LN0_PORT2 0x1690CC | ||
#define MG_TX_PISO_READLOAD_TX2LN1_PORT2 0x1694CC | ||
#define MG_TX_PISO_READLOAD_TX2LN0_PORT3 0x16A0CC | ||
#define MG_TX_PISO_READLOAD_TX2LN1_PORT3 0x16A4CC | ||
#define MG_TX_PISO_READLOAD_TX2LN0_PORT4 0x16B0CC | ||
#define MG_TX_PISO_READLOAD_TX2LN1_PORT4 0x16B4CC | ||
#define MG_TX2_PISO_READLOAD(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \ | ||
MG_TX_PISO_READLOAD_TX2LN0_PORT2, \ | ||
MG_TX_PISO_READLOAD_TX2LN1_PORT1) | ||
#define CRI_CALCINIT (1 << 1) | ||
|
||
#define MG_TX_SWINGCTRL_TX1LN0_PORT1 0x168148 | ||
#define MG_TX_SWINGCTRL_TX1LN1_PORT1 0x168548 | ||
#define MG_TX_SWINGCTRL_TX1LN0_PORT2 0x169148 | ||
#define MG_TX_SWINGCTRL_TX1LN1_PORT2 0x169548 | ||
#define MG_TX_SWINGCTRL_TX1LN0_PORT3 0x16A148 | ||
#define MG_TX_SWINGCTRL_TX1LN1_PORT3 0x16A548 | ||
#define MG_TX_SWINGCTRL_TX1LN0_PORT4 0x16B148 | ||
#define MG_TX_SWINGCTRL_TX1LN1_PORT4 0x16B548 | ||
#define MG_TX1_SWINGCTRL(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_SWINGCTRL_TX1LN0_PORT1, \ | ||
MG_TX_SWINGCTRL_TX1LN0_PORT2, \ | ||
MG_TX_SWINGCTRL_TX1LN1_PORT1) | ||
|
||
#define MG_TX_SWINGCTRL_TX2LN0_PORT1 0x1680C8 | ||
#define MG_TX_SWINGCTRL_TX2LN1_PORT1 0x1684C8 | ||
#define MG_TX_SWINGCTRL_TX2LN0_PORT2 0x1690C8 | ||
#define MG_TX_SWINGCTRL_TX2LN1_PORT2 0x1694C8 | ||
#define MG_TX_SWINGCTRL_TX2LN0_PORT3 0x16A0C8 | ||
#define MG_TX_SWINGCTRL_TX2LN1_PORT3 0x16A4C8 | ||
#define MG_TX_SWINGCTRL_TX2LN0_PORT4 0x16B0C8 | ||
#define MG_TX_SWINGCTRL_TX2LN1_PORT4 0x16B4C8 | ||
#define MG_TX2_SWINGCTRL(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_SWINGCTRL_TX2LN0_PORT1, \ | ||
MG_TX_SWINGCTRL_TX2LN0_PORT2, \ | ||
MG_TX_SWINGCTRL_TX2LN1_PORT1) | ||
#define CRI_TXDEEMPH_OVERRIDE_17_12(x) ((x) << 0) | ||
#define CRI_TXDEEMPH_OVERRIDE_17_12_MASK (0x3F << 0) | ||
|
||
#define MG_TX_DRVCTRL_TX1LN0_TXPORT1 0x168144 | ||
#define MG_TX_DRVCTRL_TX1LN1_TXPORT1 0x168544 | ||
#define MG_TX_DRVCTRL_TX1LN0_TXPORT2 0x169144 | ||
#define MG_TX_DRVCTRL_TX1LN1_TXPORT2 0x169544 | ||
#define MG_TX_DRVCTRL_TX1LN0_TXPORT3 0x16A144 | ||
#define MG_TX_DRVCTRL_TX1LN1_TXPORT3 0x16A544 | ||
#define MG_TX_DRVCTRL_TX1LN0_TXPORT4 0x16B144 | ||
#define MG_TX_DRVCTRL_TX1LN1_TXPORT4 0x16B544 | ||
#define MG_TX1_DRVCTRL(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_DRVCTRL_TX1LN0_TXPORT1, \ | ||
MG_TX_DRVCTRL_TX1LN0_TXPORT2, \ | ||
MG_TX_DRVCTRL_TX1LN1_TXPORT1) | ||
|
||
#define MG_TX_DRVCTRL_TX2LN0_PORT1 0x1680C4 | ||
#define MG_TX_DRVCTRL_TX2LN1_PORT1 0x1684C4 | ||
#define MG_TX_DRVCTRL_TX2LN0_PORT2 0x1690C4 | ||
#define MG_TX_DRVCTRL_TX2LN1_PORT2 0x1694C4 | ||
#define MG_TX_DRVCTRL_TX2LN0_PORT3 0x16A0C4 | ||
#define MG_TX_DRVCTRL_TX2LN1_PORT3 0x16A4C4 | ||
#define MG_TX_DRVCTRL_TX2LN0_PORT4 0x16B0C4 | ||
#define MG_TX_DRVCTRL_TX2LN1_PORT4 0x16B4C4 | ||
#define MG_TX2_DRVCTRL(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_DRVCTRL_TX2LN0_PORT1, \ | ||
MG_TX_DRVCTRL_TX2LN0_PORT2, \ | ||
MG_TX_DRVCTRL_TX2LN1_PORT1) | ||
#define CRI_TXDEEMPH_OVERRIDE_11_6(x) ((x) << 24) | ||
#define CRI_TXDEEMPH_OVERRIDE_11_6_MASK (0x3F << 24) | ||
#define CRI_TXDEEMPH_OVERRIDE_EN (1 << 22) | ||
#define CRI_TXDEEMPH_OVERRIDE_5_0(x) ((x) << 16) | ||
#define CRI_TXDEEMPH_OVERRIDE_5_0_MASK (0x3F << 16) | ||
#define CRI_LOADGEN_SEL(x) ((x) << 12) | ||
#define CRI_LOADGEN_SEL_MASK (0x3 << 12) | ||
|
||
#define MG_CLKHUB_LN0_PORT1 0x16839C | ||
#define MG_CLKHUB_LN1_PORT1 0x16879C | ||
#define MG_CLKHUB_LN0_PORT2 0x16939C | ||
#define MG_CLKHUB_LN1_PORT2 0x16979C | ||
#define MG_CLKHUB_LN0_PORT3 0x16A39C | ||
#define MG_CLKHUB_LN1_PORT3 0x16A79C | ||
#define MG_CLKHUB_LN0_PORT4 0x16B39C | ||
#define MG_CLKHUB_LN1_PORT4 0x16B79C | ||
#define MG_CLKHUB(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_CLKHUB_LN0_PORT1, \ | ||
MG_CLKHUB_LN0_PORT2, \ | ||
MG_CLKHUB_LN1_PORT1) | ||
#define CFG_LOW_RATE_LKREN_EN (1 << 11) | ||
|
||
#define MG_TX_DCC_TX1LN0_PORT1 0x168110 | ||
#define MG_TX_DCC_TX1LN1_PORT1 0x168510 | ||
#define MG_TX_DCC_TX1LN0_PORT2 0x169110 | ||
#define MG_TX_DCC_TX1LN1_PORT2 0x169510 | ||
#define MG_TX_DCC_TX1LN0_PORT3 0x16A110 | ||
#define MG_TX_DCC_TX1LN1_PORT3 0x16A510 | ||
#define MG_TX_DCC_TX1LN0_PORT4 0x16B110 | ||
#define MG_TX_DCC_TX1LN1_PORT4 0x16B510 | ||
#define MG_TX1_DCC(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_DCC_TX1LN0_PORT1, \ | ||
MG_TX_DCC_TX1LN0_PORT2, \ | ||
MG_TX_DCC_TX1LN1_PORT1) | ||
#define MG_TX_DCC_TX2LN0_PORT1 0x168090 | ||
#define MG_TX_DCC_TX2LN1_PORT1 0x168490 | ||
#define MG_TX_DCC_TX2LN0_PORT2 0x169090 | ||
#define MG_TX_DCC_TX2LN1_PORT2 0x169490 | ||
#define MG_TX_DCC_TX2LN0_PORT3 0x16A090 | ||
#define MG_TX_DCC_TX2LN1_PORT3 0x16A490 | ||
#define MG_TX_DCC_TX2LN0_PORT4 0x16B090 | ||
#define MG_TX_DCC_TX2LN1_PORT4 0x16B490 | ||
#define MG_TX2_DCC(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_TX_DCC_TX2LN0_PORT1, \ | ||
MG_TX_DCC_TX2LN0_PORT2, \ | ||
MG_TX_DCC_TX2LN1_PORT1) | ||
#define CFG_AMI_CK_DIV_OVERRIDE_VAL(x) ((x) << 25) | ||
#define CFG_AMI_CK_DIV_OVERRIDE_VAL_MASK (0x3 << 25) | ||
#define CFG_AMI_CK_DIV_OVERRIDE_EN (1 << 24) | ||
|
||
#define MG_DP_MODE_LN0_ACU_PORT1 0x1683A0 | ||
#define MG_DP_MODE_LN1_ACU_PORT1 0x1687A0 | ||
#define MG_DP_MODE_LN0_ACU_PORT2 0x1693A0 | ||
#define MG_DP_MODE_LN1_ACU_PORT2 0x1697A0 | ||
#define MG_DP_MODE_LN0_ACU_PORT3 0x16A3A0 | ||
#define MG_DP_MODE_LN1_ACU_PORT3 0x16A7A0 | ||
#define MG_DP_MODE_LN0_ACU_PORT4 0x16B3A0 | ||
#define MG_DP_MODE_LN1_ACU_PORT4 0x16B7A0 | ||
#define MG_DP_MODE(ln, tc_port) \ | ||
MG_PHY_PORT_LN(ln, tc_port, MG_DP_MODE_LN0_ACU_PORT1, \ | ||
MG_DP_MODE_LN0_ACU_PORT2, \ | ||
MG_DP_MODE_LN1_ACU_PORT1) | ||
#define MG_DP_MODE_CFG_DP_X2_MODE (1 << 7) | ||
#define MG_DP_MODE_CFG_DP_X1_MODE (1 << 6) | ||
|
||
#define FIA1_BASE 0x163000 | ||
#define FIA2_BASE 0x16E000 | ||
#define FIA3_BASE 0x16F000 | ||
#define _FIA(fia) _PICK((fia), FIA1_BASE, FIA2_BASE, FIA3_BASE) | ||
#define _MMIO_FIA(fia, off) _MMIO(_FIA(fia) + (off)) | ||
|
||
/* ICL PHY DFLEX registers */ | ||
#define PORT_TX_DFLEXDPMLE1(fia) _MMIO_FIA((fia), 0x008C0) | ||
#define DFLEXDPMLE1_DPMLETC_MASK(idx) (0xf << (4 * (idx))) | ||
#define DFLEXDPMLE1_DPMLETC_ML0(idx) (1 << (4 * (idx))) | ||
#define DFLEXDPMLE1_DPMLETC_ML1_0(idx) (3 << (4 * (idx))) | ||
#define DFLEXDPMLE1_DPMLETC_ML3(idx) (8 << (4 * (idx))) | ||
#define DFLEXDPMLE1_DPMLETC_ML3_2(idx) (12 << (4 * (idx))) | ||
#define DFLEXDPMLE1_DPMLETC_ML3_0(idx) (15 << (4 * (idx))) | ||
|
||
#define _MG_REFCLKIN_CTL_PORT1 0x16892C | ||
#define _MG_REFCLKIN_CTL_PORT2 0x16992C | ||
#define _MG_REFCLKIN_CTL_PORT3 0x16A92C | ||
#define _MG_REFCLKIN_CTL_PORT4 0x16B92C | ||
#define MG_REFCLKIN_CTL_OD_2_MUX(x) ((x) << 8) | ||
#define MG_REFCLKIN_CTL_OD_2_MUX_MASK (0x7 << 8) | ||
#define MG_REFCLKIN_CTL(tc_port) _MMIO_PORT((tc_port), \ | ||
_MG_REFCLKIN_CTL_PORT1, \ | ||
_MG_REFCLKIN_CTL_PORT2) | ||
|
||
#define _MG_CLKTOP2_CORECLKCTL1_PORT1 0x1688D8 | ||
#define _MG_CLKTOP2_CORECLKCTL1_PORT2 0x1698D8 | ||
#define _MG_CLKTOP2_CORECLKCTL1_PORT3 0x16A8D8 | ||
#define _MG_CLKTOP2_CORECLKCTL1_PORT4 0x16B8D8 | ||
#define MG_CLKTOP2_CORECLKCTL1_B_DIVRATIO(x) ((x) << 16) | ||
#define MG_CLKTOP2_CORECLKCTL1_B_DIVRATIO_MASK (0xff << 16) | ||
#define MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO(x) ((x) << 8) | ||
#define MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO_MASK (0xff << 8) | ||
#define MG_CLKTOP2_CORECLKCTL1(tc_port) _MMIO_PORT((tc_port), \ | ||
_MG_CLKTOP2_CORECLKCTL1_PORT1, \ | ||
_MG_CLKTOP2_CORECLKCTL1_PORT2) | ||
|
||
#define _MG_CLKTOP2_HSCLKCTL_PORT1 0x1688D4 | ||
#define _MG_CLKTOP2_HSCLKCTL_PORT2 0x1698D4 | ||
#define _MG_CLKTOP2_HSCLKCTL_PORT3 0x16A8D4 | ||
#define _MG_CLKTOP2_HSCLKCTL_PORT4 0x16B8D4 | ||
#define MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL(x) ((x) << 16) | ||
#define MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL_MASK (0x1 << 16) | ||
#define MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL(x) ((x) << 14) | ||
#define MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL_MASK (0x3 << 14) | ||
#define MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_MASK (0x3 << 12) | ||
#define MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_2 (0 << 12) | ||
#define MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_3 (1 << 12) | ||
#define MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_5 (2 << 12) | ||
#define MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_7 (3 << 12) | ||
#define MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO(x) ((x) << 8) | ||
#define MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_SHIFT 8 | ||
#define MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_MASK (0xf << 8) | ||
#define MG_CLKTOP2_HSCLKCTL(tc_port) _MMIO_PORT((tc_port), \ | ||
_MG_CLKTOP2_HSCLKCTL_PORT1, \ | ||
_MG_CLKTOP2_HSCLKCTL_PORT2) | ||
|
||
#define _MG_PLL_DIV0_PORT1 0x168A00 | ||
#define _MG_PLL_DIV0_PORT2 0x169A00 | ||
#define _MG_PLL_DIV0_PORT3 0x16AA00 | ||
#define _MG_PLL_DIV0_PORT4 0x16BA00 | ||
#define MG_PLL_DIV0_FRACNEN_H (1 << 30) | ||
#define MG_PLL_DIV0_FBDIV_FRAC_MASK (0x3fffff << 8) | ||
#define MG_PLL_DIV0_FBDIV_FRAC_SHIFT 8 | ||
#define MG_PLL_DIV0_FBDIV_FRAC(x) ((x) << 8) | ||
#define MG_PLL_DIV0_FBDIV_INT_MASK (0xff << 0) | ||
#define MG_PLL_DIV0_FBDIV_INT(x) ((x) << 0) | ||
#define MG_PLL_DIV0(tc_port) _MMIO_PORT((tc_port), _MG_PLL_DIV0_PORT1, \ | ||
_MG_PLL_DIV0_PORT2) | ||
|
||
#define _MG_PLL_DIV1_PORT1 0x168A04 | ||
#define _MG_PLL_DIV1_PORT2 0x169A04 | ||
#define _MG_PLL_DIV1_PORT3 0x16AA04 | ||
#define _MG_PLL_DIV1_PORT4 0x16BA04 | ||
#define MG_PLL_DIV1_IREF_NDIVRATIO(x) ((x) << 16) | ||
#define MG_PLL_DIV1_DITHER_DIV_1 (0 << 12) | ||
#define MG_PLL_DIV1_DITHER_DIV_2 (1 << 12) | ||
#define MG_PLL_DIV1_DITHER_DIV_4 (2 << 12) | ||
#define MG_PLL_DIV1_DITHER_DIV_8 (3 << 12) | ||
#define MG_PLL_DIV1_NDIVRATIO(x) ((x) << 4) | ||
#define MG_PLL_DIV1_FBPREDIV_MASK (0xf << 0) | ||
#define MG_PLL_DIV1_FBPREDIV(x) ((x) << 0) | ||
#define MG_PLL_DIV1(tc_port) _MMIO_PORT((tc_port), _MG_PLL_DIV1_PORT1, \ | ||
_MG_PLL_DIV1_PORT2) | ||
|
||
#define _MG_PLL_LF_PORT1 0x168A08 | ||
#define _MG_PLL_LF_PORT2 0x169A08 | ||
#define _MG_PLL_LF_PORT3 0x16AA08 | ||
#define _MG_PLL_LF_PORT4 0x16BA08 | ||
#define MG_PLL_LF_TDCTARGETCNT(x) ((x) << 24) | ||
#define MG_PLL_LF_AFCCNTSEL_256 (0 << 20) | ||
#define MG_PLL_LF_AFCCNTSEL_512 (1 << 20) | ||
#define MG_PLL_LF_GAINCTRL(x) ((x) << 16) | ||
#define MG_PLL_LF_INT_COEFF(x) ((x) << 8) | ||
#define MG_PLL_LF_PROP_COEFF(x) ((x) << 0) | ||
#define MG_PLL_LF(tc_port) _MMIO_PORT((tc_port), _MG_PLL_LF_PORT1, \ | ||
_MG_PLL_LF_PORT2) | ||
|
||
#define _MG_PLL_FRAC_LOCK_PORT1 0x168A0C | ||
#define _MG_PLL_FRAC_LOCK_PORT2 0x169A0C | ||
#define _MG_PLL_FRAC_LOCK_PORT3 0x16AA0C | ||
#define _MG_PLL_FRAC_LOCK_PORT4 0x16BA0C | ||
#define MG_PLL_FRAC_LOCK_TRUELOCK_CRIT_32 (1 << 18) | ||
#define MG_PLL_FRAC_LOCK_EARLYLOCK_CRIT_32 (1 << 16) | ||
#define MG_PLL_FRAC_LOCK_LOCKTHRESH(x) ((x) << 11) | ||
#define MG_PLL_FRAC_LOCK_DCODITHEREN (1 << 10) | ||
#define MG_PLL_FRAC_LOCK_FEEDFWRDCAL_EN (1 << 8) | ||
#define MG_PLL_FRAC_LOCK_FEEDFWRDGAIN(x) ((x) << 0) | ||
#define MG_PLL_FRAC_LOCK(tc_port) _MMIO_PORT((tc_port), \ | ||
_MG_PLL_FRAC_LOCK_PORT1, \ | ||
_MG_PLL_FRAC_LOCK_PORT2) | ||
|
||
#define _MG_PLL_SSC_PORT1 0x168A10 | ||
#define _MG_PLL_SSC_PORT2 0x169A10 | ||
#define _MG_PLL_SSC_PORT3 0x16AA10 | ||
#define _MG_PLL_SSC_PORT4 0x16BA10 | ||
#define MG_PLL_SSC_EN (1 << 28) | ||
#define MG_PLL_SSC_TYPE(x) ((x) << 26) | ||
#define MG_PLL_SSC_STEPLENGTH(x) ((x) << 16) | ||
#define MG_PLL_SSC_STEPNUM(x) ((x) << 10) | ||
#define MG_PLL_SSC_FLLEN (1 << 9) | ||
#define MG_PLL_SSC_STEPSIZE(x) ((x) << 0) | ||
#define MG_PLL_SSC(tc_port) _MMIO_PORT((tc_port), _MG_PLL_SSC_PORT1, \ | ||
_MG_PLL_SSC_PORT2) | ||
|
||
#define _MG_PLL_BIAS_PORT1 0x168A14 | ||
#define _MG_PLL_BIAS_PORT2 0x169A14 | ||
#define _MG_PLL_BIAS_PORT3 0x16AA14 | ||
#define _MG_PLL_BIAS_PORT4 0x16BA14 | ||
#define MG_PLL_BIAS_BIAS_GB_SEL(x) ((x) << 30) | ||
#define MG_PLL_BIAS_BIAS_GB_SEL_MASK (0x3 << 30) | ||
#define MG_PLL_BIAS_INIT_DCOAMP(x) ((x) << 24) | ||
#define MG_PLL_BIAS_INIT_DCOAMP_MASK (0x3f << 24) | ||
#define MG_PLL_BIAS_BIAS_BONUS(x) ((x) << 16) | ||
#define MG_PLL_BIAS_BIAS_BONUS_MASK (0xff << 16) | ||
#define MG_PLL_BIAS_BIASCAL_EN (1 << 15) | ||
#define MG_PLL_BIAS_CTRIM(x) ((x) << 8) | ||
#define MG_PLL_BIAS_CTRIM_MASK (0x1f << 8) | ||
#define MG_PLL_BIAS_VREF_RDAC(x) ((x) << 5) | ||
#define MG_PLL_BIAS_VREF_RDAC_MASK (0x7 << 5) | ||
#define MG_PLL_BIAS_IREFTRIM(x) ((x) << 0) | ||
#define MG_PLL_BIAS_IREFTRIM_MASK (0x1f << 0) | ||
#define MG_PLL_BIAS(tc_port) _MMIO_PORT((tc_port), _MG_PLL_BIAS_PORT1, \ | ||
_MG_PLL_BIAS_PORT2) | ||
|
||
#define _MG_PLL_TDC_COLDST_BIAS_PORT1 0x168A18 | ||
#define _MG_PLL_TDC_COLDST_BIAS_PORT2 0x169A18 | ||
#define _MG_PLL_TDC_COLDST_BIAS_PORT3 0x16AA18 | ||
#define _MG_PLL_TDC_COLDST_BIAS_PORT4 0x16BA18 | ||
#define MG_PLL_TDC_COLDST_IREFINT_EN (1 << 27) | ||
#define MG_PLL_TDC_COLDST_REFBIAS_START_PULSE_W(x) ((x) << 17) | ||
#define MG_PLL_TDC_COLDST_COLDSTART (1 << 16) | ||
#define MG_PLL_TDC_TDCOVCCORR_EN (1 << 2) | ||
#define MG_PLL_TDC_TDCSEL(x) ((x) << 0) | ||
#define MG_PLL_TDC_COLDST_BIAS(tc_port) _MMIO_PORT((tc_port), \ | ||
_MG_PLL_TDC_COLDST_BIAS_PORT1, \ | ||
_MG_PLL_TDC_COLDST_BIAS_PORT2) | ||
|
||
#endif /* __INTEL_TC_PHY_REGS__ */ |
Oops, something went wrong.