Hi, since the dwc2 should be able to properly setup its fifos, i want to enable otg mode for Raspberry Pi Zero (BCM2835). According to the BCM2835 datasheet [1] it has 7 device EPs with a max FIFO depth for EP1..5 = 512 and EP6,7 = 768. This makes in sum 4096, which also seems to be okay regarding to datasheet. So i defined the following DTS part: &usb { dr_mode = "otg"; g-rx-fifo-size = <256>; g-np-tx-fifo-size = <32>; g-tx-fifo-size = <512 512 512 512 512 768 768>; }; Unfortunately i get the following errors from dwc2: [ 2.535879] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g-tx-fifo-size, setting to default average [ 2.561611] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[1]=539 [ 2.586045] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[2]=539 [ 2.611045] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[3]=539 [ 2.636209] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[4]=539 [ 2.661952] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[5]=539 [ 2.688044] dwc2 20980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM [ 2.704753] g_serial gadget: Gadget Serial v2.4 [ 2.717962] g_serial gadget: g_serial ready [ 2.730830] dwc2 20980000.usb: bound driver g_serial [ 2.745485] dwc2 20980000.usb: DWC OTG Controller [ 2.759763] dwc2 20980000.usb: new USB bus registered, assigned bus number 1 [ 2.776556] dwc2 20980000.usb: irq 33, io mem 0x20980000 Since these messages aren't really helpful, i added a info messages about fifo_count, sum of all fifo sizes and allowed total from hardware: [ 2.512808] dwc2 20980000.usb: dwc2_check_param_tx_fifo_sizes: fifo_count = 7, sum = 4096, total = 3776 So i decided to use the following setting, which works without any issues: g-tx-fifo-size = <512 512 512 512 512 512 512>; Here are my questions: Is the dwc2 still broken regarding to this error or is the datasheet wrong? Is it save to use the working g-tx-fifo-size for peripheral and otg mode? Or do i need to reserve some space in fifo (for host mode)? Is this the proper way to evaluate the right g-tx-fifo-size setting? Regards Stefan [1] - https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html