Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/i915/display/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 7 kB image not shown  

Quelle  intel_combo_phy_regs.h   Sprache: C

 
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2022 Intel Corporation
 */


#ifndef __INTEL_COMBO_PHY_REGS__
#define __INTEL_COMBO_PHY_REGS__

#include "intel_display_reg_defs.h"

#define _ICL_COMBOPHY_A    0x162000
#define _ICL_COMBOPHY_B    0x6C000
#define _EHL_COMBOPHY_C    0x160000
#define _RKL_COMBOPHY_D    0x161000
#define _ADL_COMBOPHY_E    0x16B000

#define _ICL_COMBOPHY(phy)   _PICK(phy, _ICL_COMBOPHY_A, \
            _ICL_COMBOPHY_B, \
            _EHL_COMBOPHY_C, \
            _RKL_COMBOPHY_D, \
            _ADL_COMBOPHY_E)

/* ICL Port CL_DW registers */
#define _ICL_PORT_CL_DW(dw, phy)  (_ICL_COMBOPHY(phy) + \
       4 * (dw))

#define ICL_PORT_CL_DW5(phy)   _MMIO(_ICL_PORT_CL_DW(5, phy))
#define   CL_POWER_DOWN_ENABLE   REG_BIT(4)
#define   SUS_CLOCK_CONFIG   REG_GENMASK(1, 0)

#define ICL_PORT_CL_DW10(phy)   _MMIO(_ICL_PORT_CL_DW(10, phy))
#define  PG_SEQ_DELAY_OVERRIDE_MASK  REG_GENMASK(26, 25)
#define  PG_SEQ_DELAY_OVERRIDE_ENABLE  REG_BIT(24)
#define  PWR_DOWN_LN_MASK   REG_GENMASK(7, 4)
#define  PWR_UP_ALL_LANES   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0x0)
#define  PWR_DOWN_LN_3_2_1   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0xe)
#define  PWR_DOWN_LN_3_2   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0xc)
#define  PWR_DOWN_LN_3    REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0x8)
#define  PWR_DOWN_LN_2_1_0   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0x7)
#define  PWR_DOWN_LN_1_0   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0x3)
#define  PWR_DOWN_LN_3_1   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0xa)
#define  PWR_DOWN_LN_3_1_0   REG_FIELD_PREP(PWR_DOWN_LN_MASK, 0xb)
#define  EDP4K2K_MODE_OVRD_EN   REG_BIT(3)
#define  EDP4K2K_MODE_OVRD_OPTIMIZED  REG_BIT(2)

#define ICL_PORT_CL_DW12(phy)   _MMIO(_ICL_PORT_CL_DW(12, phy))
#define   ICL_LANE_ENABLE_AUX   REG_BIT(0)

/* ICL Port COMP_DW registers */
#define _ICL_PORT_COMP    0x100
#define _ICL_PORT_COMP_DW(dw, phy)  (_ICL_COMBOPHY(phy) + \
       _ICL_PORT_COMP + 4 * (dw))

#define ICL_PORT_COMP_DW0(phy)   _MMIO(_ICL_PORT_COMP_DW(0, phy))
#define   COMP_INIT    REG_BIT(31)

#define ICL_PORT_COMP_DW1(phy)   _MMIO(_ICL_PORT_COMP_DW(1, phy))

#define ICL_PORT_COMP_DW3(phy)   _MMIO(_ICL_PORT_COMP_DW(3, phy))
#define   PROCESS_INFO_MASK   REG_GENMASK(28, 26)
#define   PROCESS_INFO_DOT_0   REG_FIELD_PREP(PROCESS_INFO_MASK, 0)
#define   PROCESS_INFO_DOT_1   REG_FIELD_PREP(PROCESS_INFO_MASK, 1)
#define   PROCESS_INFO_DOT_4   REG_FIELD_PREP(PROCESS_INFO_MASK, 2)
#define   VOLTAGE_INFO_MASK   REG_GENMASK(25, 24)
#define   VOLTAGE_INFO_0_85V   REG_FIELD_PREP(VOLTAGE_INFO_MASK, 0)
#define   VOLTAGE_INFO_0_95V   REG_FIELD_PREP(VOLTAGE_INFO_MASK, 1)
#define   VOLTAGE_INFO_1_05V   REG_FIELD_PREP(VOLTAGE_INFO_MASK, 2)

#define ICL_PORT_COMP_DW8(phy)   _MMIO(_ICL_PORT_COMP_DW(8, phy))
#define   IREFGEN    REG_BIT(24)

#define ICL_PORT_COMP_DW9(phy)   _MMIO(_ICL_PORT_COMP_DW(9, phy))

#define ICL_PORT_COMP_DW10(phy)   _MMIO(_ICL_PORT_COMP_DW(10, phy))

/* ICL Port PCS registers */
#define _ICL_PORT_PCS_AUX   0x300
#define _ICL_PORT_PCS_GRP   0x600
#define _ICL_PORT_PCS_LN(ln)   (0x800 + (ln) * 0x100)
#define _ICL_PORT_PCS_DW_AUX(dw, phy)  (_ICL_COMBOPHY(phy) + \
       _ICL_PORT_PCS_AUX + 4 * (dw))
#define _ICL_PORT_PCS_DW_GRP(dw, phy)  (_ICL_COMBOPHY(phy) + \
       _ICL_PORT_PCS_GRP + 4 * (dw))
#define _ICL_PORT_PCS_DW_LN(dw, ln, phy)  (_ICL_COMBOPHY(phy) + \
        _ICL_PORT_PCS_LN(ln) + 4 * (dw))
#define ICL_PORT_PCS_DW1_AUX(phy)  _MMIO(_ICL_PORT_PCS_DW_AUX(1, phy))
#define ICL_PORT_PCS_DW1_GRP(phy)  _MMIO(_ICL_PORT_PCS_DW_GRP(1, phy))
#define ICL_PORT_PCS_DW1_LN(ln, phy)  _MMIO(_ICL_PORT_PCS_DW_LN(1, ln, phy))
#define   DCC_MODE_SELECT_MASK   REG_GENMASK(21, 20)
#define   RUN_DCC_ONCE    REG_FIELD_PREP(DCC_MODE_SELECT_MASK, 0)
#define   COMMON_KEEPER_EN   REG_BIT(26)
#define   LATENCY_OPTIM_MASK   REG_GENMASK(3, 2)
#define   LATENCY_OPTIM_VAL(x)   REG_FIELD_PREP(LATENCY_OPTIM_MASK, (x))

/* ICL Port TX registers */
#define _ICL_PORT_TX_AUX   0x380
#define _ICL_PORT_TX_GRP   0x680
#define _ICL_PORT_TX_LN(ln)   (0x880 + (ln) * 0x100)

#define _ICL_PORT_TX_DW_AUX(dw, phy)  (_ICL_COMBOPHY(phy) + \
       _ICL_PORT_TX_AUX + 4 * (dw))
#define _ICL_PORT_TX_DW_GRP(dw, phy)  (_ICL_COMBOPHY(phy) + \
       _ICL_PORT_TX_GRP + 4 * (dw))
#define _ICL_PORT_TX_DW_LN(dw, ln, phy)  (_ICL_COMBOPHY(phy) + \
        _ICL_PORT_TX_LN(ln) + 4 * (dw))

#define ICL_PORT_TX_DW2_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(2, phy))
#define ICL_PORT_TX_DW2_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(2, phy))
#define ICL_PORT_TX_DW2_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(2, ln, phy))
#define   SWING_SEL_UPPER_MASK   REG_BIT(15)
#define   SWING_SEL_UPPER(x)   REG_FIELD_PREP(SWING_SEL_UPPER_MASK, (x) >> 3)
#define   SWING_SEL_LOWER_MASK   REG_GENMASK(13, 11)
#define   SWING_SEL_LOWER(x)   REG_FIELD_PREP(SWING_SEL_LOWER_MASK, (x) & 0x7)
#define   FRC_LATENCY_OPTIM_MASK  REG_GENMASK(10, 8)
#define   FRC_LATENCY_OPTIM_VAL(x)  REG_FIELD_PREP(FRC_LATENCY_OPTIM_MASK, (x))
#define   RCOMP_SCALAR_MASK   REG_GENMASK(7, 0)
#define   RCOMP_SCALAR(x)   REG_FIELD_PREP(RCOMP_SCALAR_MASK, (x))

#define ICL_PORT_TX_DW4_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(4, phy))
#define ICL_PORT_TX_DW4_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(4, phy))
#define ICL_PORT_TX_DW4_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(4, ln, phy))
#define   LOADGEN_SELECT   REG_BIT(31)
#define   POST_CURSOR_1_MASK   REG_GENMASK(17, 12)
#define   POST_CURSOR_1(x)   REG_FIELD_PREP(POST_CURSOR_1_MASK, (x))
#define   POST_CURSOR_2_MASK   REG_GENMASK(11, 6)
#define   POST_CURSOR_2(x)   REG_FIELD_PREP(POST_CURSOR_2_MASK, (x))
#define   CURSOR_COEFF_MASK   REG_GENMASK(5, 0)
#define   CURSOR_COEFF(x)   REG_FIELD_PREP(CURSOR_COEFF_MASK, (x))

#define ICL_PORT_TX_DW5_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(5, phy))
#define ICL_PORT_TX_DW5_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(5, phy))
#define ICL_PORT_TX_DW5_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(5, ln, phy))
#define   TX_TRAINING_EN   REG_BIT(31)
#define   TAP2_DISABLE    REG_BIT(30)
#define   TAP3_DISABLE    REG_BIT(29)
#define   CURSOR_PROGRAM   REG_BIT(26)
#define   COEFF_POLARITY   REG_BIT(25)
#define   SCALING_MODE_SEL_MASK   REG_GENMASK(20, 18)
#define   SCALING_MODE_SEL(x)   REG_FIELD_PREP(SCALING_MODE_SEL_MASK, (x))
#define   RTERM_SELECT_MASK   REG_GENMASK(5, 3)
#define   RTERM_SELECT(x)   REG_FIELD_PREP(RTERM_SELECT_MASK, (x))

#define ICL_PORT_TX_DW6_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(6, phy))
#define ICL_PORT_TX_DW6_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(6, phy))
#define ICL_PORT_TX_DW6_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(6, ln, phy))
#define   O_FUNC_OVRD_EN   REG_BIT(7)
#define   O_LDO_REF_SEL_CRI   REG_GENMASK(6, 1)
#define   O_LDO_BYPASS_CRI   REG_BIT(0)

#define ICL_PORT_TX_DW7_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(7, phy))
#define ICL_PORT_TX_DW7_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(7, phy))
#define ICL_PORT_TX_DW7_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(7, ln, phy))
#define   N_SCALAR_MASK    REG_GENMASK(30, 24)
#define   N_SCALAR(x)    REG_FIELD_PREP(N_SCALAR_MASK, (x))

#define ICL_PORT_TX_DW8_AUX(phy)  _MMIO(_ICL_PORT_TX_DW_AUX(8, phy))
#define ICL_PORT_TX_DW8_GRP(phy)  _MMIO(_ICL_PORT_TX_DW_GRP(8, phy))
#define ICL_PORT_TX_DW8_LN(ln, phy)  _MMIO(_ICL_PORT_TX_DW_LN(8, ln, phy))
#define   ICL_PORT_TX_DW8_ODCC_CLK_SEL  REG_BIT(31)
#define   ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_MASK REG_GENMASK(30, 29)
#define   ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_DIV2 REG_FIELD_PREP(ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_MASK, 0x1)

#define _ICL_DPHY_CHKN_REG   0x194
#define ICL_DPHY_CHKN(port)   _MMIO(_ICL_COMBOPHY(port) + _ICL_DPHY_CHKN_REG)
#define   ICL_DPHY_CHKN_AFE_OVER_PPI_STRAP REG_BIT(7)

#endif /* __INTEL_COMBO_PHY_REGS__ */

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.