class DsiHost

Defined at line 26 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

Public Methods

zx::result<std::unique_ptr<DsiHost>> Create (fdf::Namespace & incoming, display::PanelType panel_type, const PanelConfig * panel_config)

Factory method intended for production use.

This method doesn't modify hardware state in any way, and is thus safe to

use when adopting a device that was initialized by the bootloader.

`parent` provides all resources needed to drive the DSI host hardware.

`panel_config` must be non-null and must outlive the `DsiHost` instance.

Returns a non-null pointer to the DsiHost instance on success.

Defined at line 78 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.cc

void DsiHost (display::PanelType panel_type, const PanelConfig * panel_config, fdf::MmioBuffer mipi_dsi_top_mmio, fdf::MmioBuffer hhi_mmio, fidl::ClientEnd<fuchsia_hardware_gpio::Gpio> lcd_reset_gpio, std::unique_ptr<designware_dsi::DsiHostController> designware_dsi_host_controller, std::unique_ptr<Lcd> lcd, std::unique_ptr<MipiPhy> phy, bool enabled)

Production code should prefer using the `Create()` factory method.

`panel_config` must be non-null and must outlive the `DsiHost` instance.

`mipi_dsi_top_mmio` is the MIPI-DSI top-level control MMIO register

region. It must be a valid MMIO buffer.

`hhi_mmio` is the HHI (HIU) MMIO register region. It must be a valid

MMIO buffer.

`lcd_reset_gpio` is the LCD RESET GPIO pin and must be valid.

`designware_dsi_host_controller` must not be nullptr.

`lcd` must not be nullptr. It may depend on `designware_dsi_host_controller`.

`phy` must not be nullptr. It may depend on `designware_dsi_host_controller`.

Defined at line 56 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.cc

void ~DsiHost ()

Defined at line 59 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

void DsiHost (const DsiHost & )

Defined at line 61 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

DsiHost & operator= (const DsiHost & )

Defined at line 62 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

void DsiHost (DsiHost && )

Defined at line 63 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

DsiHost & operator= (DsiHost && )

Defined at line 64 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

display::PanelType panel_type ()

Defined at line 81 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.h

zx::result<> Enable (int64_t dphy_data_lane_bits_per_second)

This function sets up mipi dsi interface. It includes both DWC and AmLogic blocks

The DesignWare setup could technically be moved to the dw_mipi_dsi driver. However,

given the highly configurable nature of this block, we'd have to provide a lot of

information to the generic driver. Therefore, it's just simpler to configure it here

`dphy_data_lane_bits_per_second` is the bit transmission rate on each

D-PHY data lane.

Defined at line 360 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.cc

void Disable ()

This function will turn off DSI Host. It is a "best-effort" function. We will attempt

to shutdown whatever we can. Error during shutdown path is ignored and function proceeds

with shutting down.

Defined at line 333 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.cc

void Dump ()

Defined at line 437 of file ../../src/graphics/display/drivers/amlogic-display/dsi-host.cc