class DynamicFlexIoDisplayPortPinAssignment
Defined at line 359 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
PORT_TX_DFLEXPA1
Dynamic FlexIO Pin Assignment #1 (Connector 0-7)
FIA arranges the 4 DisplayPort lanes in Type-C connector based on 6 possible
arrangements called pin assignments A-F in VESA DisplayPort Alt Mode on USB
Type-C Standard.
This register is used by FIA to govern the pin assignment for each Type-C
connector.
The connector ID here is the logical number for each FIA. Type-C port to FIA
connector ID mapping is available at:
Tiger Lake: IHD-OS-TGL-Vol 12-1.22-Rev2.0 "TypeC Programming" > "Port
Mapping" table, Page 400.
Tiger Lake: IHD-OS-TGL-Vol 2c-1.22-Rev 2.0 Part 2, Pages 925-926.
Public Members
field_display_port_pin_assignment_connector_1_371
field_display_port_pin_assignment_connector_0_378
Public Methods
template <, >
typename SelfType::ValueType display_port_pin_assignment_connector_1 ()
DisplayPort pin assignment for Type-C connector 1 (DPPATC1).
See enum class `PinAssignment` for bit definitions.
Drivers can use `pin_assignment_for_ddi` helpers to access pin assignment
bitmap for a given DDI.
The register has these bit fields for Connector 0 to 7. Since on Tiger
Lake each FIA only connects to two connectors, we only define the bits for
connector 0 and 1.
Defined at line 371 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
template <, >
SelfType & set_display_port_pin_assignment_connector_1 (typename SelfType::ValueType val)
DisplayPort pin assignment for Type-C connector 1 (DPPATC1).
See enum class `PinAssignment` for bit definitions.
Drivers can use `pin_assignment_for_ddi` helpers to access pin assignment
bitmap for a given DDI.
The register has these bit fields for Connector 0 to 7. Since on Tiger
Lake each FIA only connects to two connectors, we only define the bits for
connector 0 and 1.
Defined at line 371 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
template <, >
typename SelfType::ValueType display_port_pin_assignment_connector_0 ()
DisplayPort pin assignment for Type-C connector 0 (DPPATC0).
See enum class `PinAssignment` for bit definitions.
Drivers can use `pin_assignment_for_ddi` helpers to access pin assignment
bitmap for a given DDI.
Defined at line 378 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
template <, >
SelfType & set_display_port_pin_assignment_connector_0 (typename SelfType::ValueType val)
DisplayPort pin assignment for Type-C connector 0 (DPPATC0).
See enum class `PinAssignment` for bit definitions.
Drivers can use `pin_assignment_for_ddi` helpers to access pin assignment
bitmap for a given DDI.
Defined at line 378 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
std::optional<PinAssignment> pin_assignment_for_ddi (intel_display::DdiId ddi_id)
Get the pin assignment for given DDI.
Pin assignments are defined at `display_port_pin_assignment_connector_0`
and `display_port_pin_assignment_connector_1`.
Callers must make sure they read from the correct FIA register.
Defined at line 426 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
hwreg::RegisterAddr<SelfType> GetForDdi (intel_display::DdiId ddi_id)
Defined at line 439 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h
Enumerations
enum PinAssignment
| Name | Value |
|---|---|
| kNone | 0b0000 |
| kA | 0b0001 |
| kB | 0b0010 |
| kC | 0b0011 |
| kD | 0b0100 |
| kE | 0b0101 |
| kF | 0b0110 |
Maps DisplayPort Alt Mode pin assignments to register values.
The pin assignments are described in the VESA DisplayPort Alt Mode on USB
Type-C Standard Version 2.0, Sections 3.1 "Pin Assignment Overview" and 3.2
"USB-C DP Pin Assignments" pages 34-36.
The pin assignment bit definitions are available at
Tiger Lake: IHD-OS-TGL-Vol 2c-12.21-Rev 2.0 Part 2, Page 926 and
IHD-OS-TGL-Vol 12-12.21-Rev 2.0, "DKL_DP_MODE Programming",
Pages 397-398.
Note that the section "DKL_DP_MODE Programming" in Vol 12 has a table that
includes values for pin assignments A-F. However, the register reference in
Vol 2c only documents the values for pin assignments C-E. This is likely
because the DisplayPort Alt Mode Standard states that assignments A, B,
and F are deprecated.
Defined at line 396 of file ../../src/graphics/display/drivers/intel-display/registers-typec.h