Build time options

This section lists build time configuration defines that impact the behaviour of lib_xud.

XUD_OSC_MHZ

Frequency of oscillator used to clock xcore (in MHz)

XUD_SUSPEND_PHY

Option to put the PHY in low power mode during USB suspend.

When set to 1, the PHY will enter low power mode during USB suspend. When set to 0 (default), this feature is disabled.

Only supported on XS3A/xcore.ai based devices.

XUD_USB_ISO_MAX_TXNS_PER_MICROFRAME

Maximum number of transactions per microframe for an ISO endpoint.

Defines how many transactions an isochronous (ISO) endpoint can perform in a single USB microframe. This value controls whether high-bandwidth ISO support is enabled.

  • Default: 1

  • Maximum supported value: 2

Applications can include a custom xud_conf.h file to override this value.

Setting this to a value greater than 1 enables ISO High Bandwidth support in lib_xud.

XUD_USB_ISO_EP_MAX_TXN_SIZE

Max data payload per ISO transaction (in bytes).

Must not exceed 1024, per USB 2.0 spec limit for high-speed isochronous transfers.

Default: 1024

Applications can include a custom xud_conf.h file to override this value.

XUD_WINUSB_DEVICE_INTERFACE_GUID_CONTROL

Device interface GUID for the MSOS 2.0 Descriptor.

This is provided as part of the device registry property in the MSOS 2.0 descriptor. Default: “{a008382b-5adc-464f-a849-17500f09074c}” User can override by defining their own in xud_conf.h

XUD_REQUEST_GET_MSOS_DESCRIPTOR

Request code for the D2H vendor request that the host will use to request the MSOS descriptor.

The user shouldn’t use this bRequest number in their custom vendor requests to the device, as it is now reserved for descriptor handling. However, the user can override this define to use a different bRequest number if required.