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