class UsbPeripheral

Defined at line 94 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
static const uint8_t kMaxInterfaces
static const uint8_t kMaxStrings
static const uint8_t kMaxStringLength
static const uint8_t kOutEpStart
static const uint8_t kOutEpEnd
static const uint8_t kInEpStart
static const uint8_t kInEpEnd

Public Methods

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

Defined at line 302 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 1140 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 1034 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

void ClearFunctions (ClearFunctionsCompleter::Sync & completer)

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

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

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

zx_status_t SetDeviceDescriptor (DeviceDescriptor desc)

Defined at line 1086 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 308 of file ../../src/devices/usb/drivers/usb-peripheral/usb-peripheral.cc

zx_status_t FunctionRegistered ()

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

void FunctionCleared ()
const ddk::UsbDciProtocolClient & dci ()

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

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

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

size_t ParentRequestSize ()

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

zx::result<ResourceAllocations> AllocResources (size_t function_index, uint8_t interface_count, std::span<fuchsia_hardware_usb_function::EndpointResource> endpoints, std::span<std::string> strings)

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

void ReleaseResources (size_t function_index)

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

ResourceAllocations GetResourceAllocations (size_t function_index)

Returns currently allocated resources for the given function.

For testing purposes only.

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

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

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

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

const usb_device_descriptor_t & device_desc ()

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

zx_status_t DeviceStateChanged ()

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

Records

Friends

class UsbDciInterfaceServer