There are in sum 952 dwords available for g-rx-fifo-size, g-np-tx-fifo-size and the eight entries of g-tx-fifo-size. For high speed endpoints the maximal packet size is 512 (for full speed it's 64) bytes. So a tx-fifo-size of more than 128 (dwords) isn't sensible. So instead of one (too) big and several small fifos, use two big fifos and to better use the remaining available space increase one of the small fifos. This patch is already discussed for the mainline kernel. https://lore.kernel.org/linux-arm-kernel/20230112112013.1086787-1-u.kleine-koenig@xxxxxxxxxxxxxx/ Until this is fix has reached the synced kernel dts tree in barebox we fix this locally. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> --- v1 -> v2: - added this patch to solve the fifo issue on stm32 dwc2 when loading fastboot arch/arm/dts/stm32mp151.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/dts/stm32mp151.dtsi b/arch/arm/dts/stm32mp151.dtsi index d3e924dc00..602bcd60b2 100644 --- a/arch/arm/dts/stm32mp151.dtsi +++ b/arch/arm/dts/stm32mp151.dtsi @@ -52,3 +52,7 @@ barebox,mode-serial = <0xFF>; }; }; + +&usbotg_hs { + g-tx-fifo-size = <128 128 16 16 16 16 16 16>; +}; -- 2.30.2