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

Records