f07e572f64
bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
From 1257716d9bae9730c43c636046983f5d80c4efc8 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Tue, 4 Feb 2020 13:03:21 +0000
|
|
Subject: [PATCH] overlays: dwc2: Increase RX FIFO size
|
|
|
|
The previous version of the dwc2 overlay set the RX FIFO size to
|
|
256 4-byte words. This sounds large enough for a 1024 byte packet (the
|
|
largest isochronous high speed packet allowed), but it doesn't take
|
|
into account some extra space needed by the hardware.
|
|
|
|
Minas Harutyunyan at Synopsys (the source of the DWC OTG design)
|
|
came up with a more correct value, 301, but since there is spare packet
|
|
RAM this can be increased to 558 to allow two packets per frame.
|
|
|
|
Also update the upstream overlay to match.
|
|
|
|
See: https://github.com/raspberrypi/linux/issues/3447
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
arch/arm/boot/dts/overlays/dwc2-overlay.dts | 2 +-
|
|
arch/arm/boot/dts/overlays/upstream-overlay.dts | 2 +-
|
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/arch/arm/boot/dts/overlays/dwc2-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/dwc2-overlay.dts
|
|
@@ -12,7 +12,7 @@
|
|
compatible = "brcm,bcm2835-usb";
|
|
dr_mode = "otg";
|
|
g-np-tx-fifo-size = <32>;
|
|
- g-rx-fifo-size = <256>;
|
|
+ g-rx-fifo-size = <558>;
|
|
g-tx-fifo-size = <512 512 512 512 512 256 256>;
|
|
status = "okay";
|
|
};
|
|
--- a/arch/arm/boot/dts/overlays/upstream-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/upstream-overlay.dts
|
|
@@ -123,7 +123,7 @@
|
|
compatible = "brcm,bcm2835-usb";
|
|
dr_mode = "otg";
|
|
g-np-tx-fifo-size = <32>;
|
|
- g-rx-fifo-size = <256>;
|
|
+ g-rx-fifo-size = <558>;
|
|
g-tx-fifo-size = <512 512 512 512 512 256 256>;
|
|
status = "okay";
|
|
};
|