diff --git a/drivers/usb/udc/udc_dwc2.c b/drivers/usb/udc/udc_dwc2.c index c83e6671c29b8..22b6665b1f96d 100644 --- a/drivers/usb/udc/udc_dwc2.c +++ b/drivers/usb/udc/udc_dwc2.c @@ -1399,6 +1399,11 @@ static int dwc2_set_dedicated_fifo(const struct device *dev, reqdep *= (1 + addnl); } + /* Allocate double fifo size for bulk endpoints to improve throughput */ + if ((cfg->attributes & USB_EP_TRANSFER_TYPE_MASK) == USB_EP_TYPE_BULK) { + reqdep *= 2; + } + if (priv->dynfifosizing) { if (priv->txf_set & ~BIT_MASK(ep_idx)) { dwc2_unset_unused_fifo(dev);