Contains the organizing hardware used to add USB3 Device functionality to your own designs; including the core USBSuperSpeedDevice class.

class sol_usb.gateware.usb.usb3.device.USBSuperSpeedDevice(*args, src_loc_at: int = 0, **kwargs)

Core gateware common to all SOL USB3 devices.


Adds an endpoint interface to the device.


endpoint (Elaborateable) – The endpoint interface to be added. Can be any piece of gateware with a EndpointInterface attribute called interface.

add_standard_control_endpoint(descriptors: DeviceDescriptorCollection)

Adds a control endpoint with standard request handlers to the device.

  • descriptors (DeviceDescriptorCollection) – The descriptors to use for this device.

  • value (Return)

  • ------------

  • created. (The endpoint object)