class TypeCDdiTigerLake

Defined at line 222 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.h

Instantiation of Type-C DDI Physical Layer (DDI TC 1-6) on Tiger Lake.

Public Methods

PhysicalLayerInfo GetPhysicalLayerInfo ()

Defined at line 298 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.h

const InitializationPhase & GetInitializationPhaseForTesting ()

Defined at line 330 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.h

void SetInitializationPhaseForTesting (InitializationPhase initialization_phase)

Defined at line 333 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.h

void TypeCDdiTigerLake (DdiId ddi_id, Power * power, fdf::MmioBuffer * mmio_space, bool is_static_port)

Defined at line 535 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

void ~TypeCDdiTigerLake ()

Defined at line 549 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool IsEnabled ()

DdiPhysicalLayer overrides:

Defined at line 555 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool IsHealthy ()

Defined at line 559 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool Enable ()

Defined at line 657 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool Disable ()

Defined at line 681 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

PhysicalLayerInfo ReadPhysicalLayerInfo ()

Helper method to read `PhysicalLayerInfo` directly from hardware registers.

Caller must guarantee that this is only called when the Type-C

microcontroller is ready.

Defined at line 566 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool AdvanceEnableFsm ()

Advance the FSM in the "enable" direction (towards "Initialized") for one

step.

The return value indicates whether the "enable" FSM should continue

running.

Returns false if and only if

- The FSM is already at the terminal state (Initialized), or

- The step taken fails.

This public interface should be only used by tests.

Defined at line 605 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

bool AdvanceDisableFsm ()

Advance the FSM in the "disable" direction (towards "Uninitialized") for

one step.

The return value indicates whether the "disable" FSM should continue

running.

Returns false if and only if

- The FSM is already at the terminal state (Uninitialized), or

- The step taken fails.

This public interface should be only used by tests.

Defined at line 628 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer.cc

Enumerations

enum InitializationPhase
Name Value
kUninitialized 0
kTypeCColdBlocked 1
kSafeModeSet 2
kAuxPoweredOn 3
kInitialized 4

The DDI PHY initialization process contains multiple steps and can be

described as a linear finite state machine (FSM).

- For a successful initialization process, it starts from "Uninitialized"

and ends at "Initialized".

Uninitialized

|

v

Intermediate State 1

|

v

Intermediate State 2

|

...

|

v

Initialized

- For a failed initialization process, it starts from "Uninitialized",

transitioning to intermediate steps until initialization fails, and then

traverses back to "Uninitialized" (if deinitialization succeeds,

otherwise it will stop at the first failed deinitialization step) along

the reversed direction.

Uninitialized

| ^

v |

Intermediate State 1

| ^

v |

Intermediate State 2 (init failed)

or

Uninitialized

|

v

Intermediate State 1 (deinit failed)

| ^

v |

Intermediate State 2 (failed)

- For deinitialization process, it starts from "Initialized" and ends at

"Uninitialized" (if it succeeds) or the first intermediate state it

failed at.

Uninitialized

^

|

Intermediate State 1

^

|

...

|

Intermediate State N-1

^

|

Intermediate State N

^

|

Initialized

All the valid states, including "Uninitialized", "Initialized", and all

intermediate states will be defined in this class.

Defined at line 30 of file ../../src/graphics/display/drivers/intel-display/ddi-physical-layer-internal.h