class Dwc3

Defined at line 78 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

Some platforms support fully powering down the dwc3 core. When powered down, accessing the MMIO

will cause the system to crash or lock up. power_on_ indicates whether or not the core is powered

down, and therefore whether or not it is safe to access the MMIO.

UsbDci, Controller, or Endpoint FIDL methods may be safely called at any time regardless of

the power state. Other methods must not be called when powered down, unless indicated by comments

below.

Public Methods

void Dwc3 ()

Defined at line 82 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

const std::shared_ptr<fdf::Namespace> & incoming ()

Defined at line 90 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

inspect::ComponentInspector & inspector ()

Defined at line 92 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

fuchsia_hardware_usb_descriptor::UsbSpeed max_speed ()

Defined at line 94 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

void set_max_speed_for_testing (fuchsia_hardware_usb_descriptor::UsbSpeed speed)

Defined at line 95 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_usb_dci::UsbDci> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 127 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_usb_policy::Controller> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 135 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

bool AllowEnqueueManyTRBs (fdescriptor::EndpointType ep_type)

Gating flag to enable enqueueing multiple TRBs at once for a given endpoint

type.

Defined at line 143 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

bool supports_gfladj ()

For testing.

Defined at line 148 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

std::optional<uint32_t> fladj ()

Defined at line 149 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

bool fladj_refclk_lpm_sel ()

Defined at line 150 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

void SetEnableEnqueueManyTrbs (bool enable)

Defined at line 151 of file ../../src/devices/usb/drivers/dwc3/dwc3.h

void ~Dwc3 ()

Defined at line 1340 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

zx::result<> Start (fdf::DriverContext context)

Defined at line 481 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void Stop (fdf::StopCompleter completer)

fdf::DriverBase2 provides an asynchronous Stop method. Synchronous cleanup should be performed

in the destructor.

Defined at line 1358 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void ConnectToEndpoint (ConnectToEndpointRequest & request, ConnectToEndpointCompleter::Sync & completer)

Defined at line 1516 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void SetInterface (SetInterfaceRequest & request, SetInterfaceCompleter::Sync & completer)

Defined at line 1529 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void StartController (StartControllerCompleter::Sync & completer)

Defined at line 1547 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void StopController (StopControllerCompleter::Sync & completer)

Defined at line 1562 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void ConfigureEndpoint (ConfigureEndpointRequest & request, ConfigureEndpointCompleter::Sync & completer)

Defined at line 1582 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void DisableEndpoint (DisableEndpointRequest & request, DisableEndpointCompleter::Sync & completer)

Defined at line 1688 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void EndpointSetStall (EndpointSetStallRequest & request, EndpointSetStallCompleter::Sync & completer)

Defined at line 1720 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void EndpointClearStall (EndpointClearStallRequest & request, EndpointClearStallCompleter::Sync & completer)

Defined at line 1743 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void CancelAll (CancelAllRequest & request, CancelAllCompleter::Sync & completer)

Defined at line 1767 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void GetHardwareInfo (GetHardwareInfoCompleter::Sync & completer)

Defined at line 2184 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void AllocEndpoint (AllocEndpointRequest & request, AllocEndpointCompleter::Sync & completer)

Defined at line 2243 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void FreeEndpoint (FreeEndpointRequest & request, FreeEndpointCompleter::Sync & completer)

Defined at line 2247 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

void WatchDeviceState (WatchDeviceStateCompleter::Sync & completer)

fuchsia_hardware_usb_policy::Controller protocol implementation.

Defined at line 2144 of file ../../src/devices/usb/drivers/dwc3/dwc3.cc

Friends

class Dwc3TestHelper
template <bool manage_lifetime, typename gtest_base>
class TestFixture
class Dwc3Metrics
class formatter
class formatter