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 class PinAssignment : uint32_t
Name Value Comments
kNone 0b0000

Fixed/static DisplayPort or HDMI connection.

kA 0b0001

Deprecated, 4 DisplayPort lanes.

kB 0b0010

Deprecated, 2 DisplayPort lanes and 1 USB SuperSpeed TX/RX pair.

kC 0b0011

4 DisplayPort lanes, for USB-C to USB-C cables.

kD 0b0100

2 DisplayPort lanes and 1 USB SuperSpeed TX/RX pair, for USB-C to USB-C
cables.

kE 0b0101

4 DisplayPort lanes, for USB-C to DisplayPort cables.

kF 0b0110

Deprecated, 2 DisplayPort lanes and 1 USB SuperSpeed TX/RX pair.

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