class DisplayPllDcoFrequencyTigerLake
Defined at line 704 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
DPLL_CFGCR0 (Display PLL Configuration and Control Register 0?)
This register configures the frequency of the DCO (Digitally-Controlled
Oscillator) in the DPLL. This influences the frequency that the DPLL outputs
to connected DDIs.
This register's reserved fields are all MBZ (must be zero). So, this register
can be safely written without reading it first.
The Kaby Lake and Skylake equivalent of this register is
`DisplayPllDcoFrequencyKabyLake` (DPLL_CFGCR1).
Tiger Lake: IHD-OS-TGL-Vol 2c-1.22-Rev2.0 Part 1 page 650 and
IHD-OS-TGL-Vol 14-12.21 pages 32 and 62.
DG1: IHD-OS-DG1-Vol 2c-2.21 Part 1 page 614
Ice Lake: IHD-OS-ICLLP-Vol 2c-1.22-Rev2.0 Part 1 pages 471-472
Public Members
field_RsvdZ_714
field_spread_spectrum_clocking_enabled_ice_lake_721
field_dco_frequency_multiplier_fraction_726
field_dco_frequency_multiplier_integer_727
static const int kMultiplierPrecisionBits
Public Methods
template <, >
SelfType & set_spread_spectrum_clocking_enabled_ice_lake (typename SelfType::ValueType val)
Enables SSC (Spread Spectrum Clocking) on Ice Lake display engines.
On Tiger Lake, SSC is configured in the `DisplayPllSpreadSpectrumClocking`
(DPLL_SSC) register. The SSC entries in IHD-OS-TGL-Vol 14-12.21 pages 8 and
47 suggest that this change landed late / unintentionally.
Defined at line 721 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
template <, >
typename SelfType::ValueType spread_spectrum_clocking_enabled_ice_lake ()
Enables SSC (Spread Spectrum Clocking) on Ice Lake display engines.
On Tiger Lake, SSC is configured in the `DisplayPllSpreadSpectrumClocking`
(DPLL_SSC) register. The SSC entries in IHD-OS-TGL-Vol 14-12.21 pages 8 and
47 suggest that this change landed late / unintentionally.
Defined at line 721 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
template <, >
typename SelfType::ValueType dco_frequency_multiplier_fraction ()
These fields have a non-trivial representation. They should be used via the
`dco_frequency_multiplier()` and `set_dco_frequency_multiplier()`
helpers.
Defined at line 726 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
template <, >
SelfType & set_dco_frequency_multiplier_fraction (typename SelfType::ValueType val)
These fields have a non-trivial representation. They should be used via the
`dco_frequency_multiplier()` and `set_dco_frequency_multiplier()`
helpers.
Defined at line 726 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
template <, >
typename SelfType::ValueType dco_frequency_multiplier_integer ()
NOLINTEND(misc-non-private-member-variables-in-classes)
Defined at line 727 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
template <, >
SelfType & set_dco_frequency_multiplier_integer (typename SelfType::ValueType val)
Defined at line 727 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
int32_t dco_frequency_multiplier (bool tiger_lake_38mhz_workaround)
The frequency multiplier for the DCO (Digitally Controlled Oscillator).
The return value has `kMultiplierPrecisionBits` fractional bits.
`tiger_lake_38mhz_workaround` must be true iff targeting a Tiger Lake
display engine with a 38.4 MHz reference. clock.
The multiplier is relative to the display engine reference frequency. On
Tiger Lake, there are multiple possible values for this reference
frequency.
Defined at line 739 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
DisplayPllDcoFrequencyTigerLake & set_dco_frequency_multiplier (int32_t multiplier, bool tiger_lake_38mhz_workaround)
See `dco_frequency_multiplier()` for details.
Defined at line 753 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
int32_t dco_frequency_khz (int32_t reference_frequency_khz)
The currently configured DCO (Digitally Controlled Oscillator) frequency.
`reference_frequency_khz` is the frequency of the display engine's
reference clock, which can be read from the `DisplayStraps` (DSSM)
register.
This is a convenience method on top of the `dco_frequency_multiplier`
fields.
Defined at line 774 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
DisplayPllDcoFrequencyTigerLake & set_dco_frequency_khz (int32_t frequency_khz, int32_t reference_frequency_khz)
The currently configured DCO (Digitally Controlled Oscillator) frequency.
`reference_frequency_khz` is the frequency of the display engine's
reference clock, which can be read from the `DisplayStraps` (DSSM)
register.
This is a convenience method on top of the `dco_frequency_multiplier`
fields.
Defined at line 795 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h
hwreg::RegisterAddr<DisplayPllDcoFrequencyTigerLake> GetForDpll (intel_display::PllId pll_id)
Defined at line 806 of file ../../src/graphics/display/drivers/intel-display/registers-dpll.h