class UsbPeripheral

Defined at line 93 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

This is the main class for the USB peripheral role driver.

It binds against the USB DCI driver device and manages a list of UsbFunction devices,

one for each USB function in the peripheral role configuration.

Public Members

static basic_string_view kDriverName
static basic_string_view kChildNodeName

Public Methods

void UsbPeripheral (fdf::DriverStartArgs start_args, fdf::UnownedSynchronizedDispatcher driver_dispatcher)

Defined at line 270 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

zx::result<> Start ()

fdf::DriverBase implementation.

Defined at line 90 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void PrepareStop (fdf::PrepareStopCompleter completer)

Defined at line 1030 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t UsbDciCancelAll (uint8_t ep_address)

Defined at line 40 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void SetConfiguration (SetConfigurationRequestView request, SetConfigurationCompleter::Sync & completer)

fuchsia_hardware_usb_peripheral::Device protocol implementation.

Defined at line 924 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void ClearFunctions (ClearFunctionsCompleter::Sync & completer)

Defined at line 1014 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void SetStateChangeListener (SetStateChangeListenerRequestView request, SetStateChangeListenerCompleter::Sync & completer)

Defined at line 1022 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t SetDeviceDescriptor (DeviceDescriptor desc)

Defined at line 976 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t AllocInterface (size_t function_index, uint8_t * out_intf_num)

Defined at line 465 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t AllocEndpoint (size_t function_index, uint8_t direction, uint8_t * out_address)

Defined at line 483 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t AllocStringDesc (std::string desc, uint8_t * out_index)

Defined at line 260 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t ValidateFunction (size_t function_index, void * descriptors, size_t length, uint8_t * out_num_interfaces)

Defined at line 276 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t FunctionRegistered ()

Defined at line 355 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void FunctionCleared ()
void UsbPeripheralRequestQueue (usb_request_t * usb_request, const usb_request_complete_callback_t * complete_cb)

Defined at line 70 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

const ddk::UsbDciProtocolClient & dci ()

Defined at line 124 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

const fidl::WireSyncClient<fuchsia_hardware_usb_dci::UsbDci> & dci_new ()

Defined at line 125 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

size_t ParentRequestSize ()

Defined at line 129 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

zx_status_t ConnectToEndpoint (uint8_t ep_address, fidl::ServerEnd<fuchsia_hardware_usb_endpoint::Endpoint> ep)

Defined at line 133 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

const usb_device_descriptor_t & device_desc ()

Defined at line 146 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.h

zx_status_t DeviceStateChanged ()

Defined at line 738 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

Friends

class UsbDciInterfaceServer