Skip to contentSkip to conversation

usb: dwc3: Add new updates for DWC_usb31

PATCH New Thinh Nguyen 1 participant 2 messages Mar 16, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v5 cover usb: dwc3: Add new updates for DWC_usb31

This patch series adds new updates and some fixes for DWC_usb31.

Changes in v5:
- Remove isoc workaround patches from series
- Remove "usb: core: urb: Check SSP isoc ep comp descriptor" from series

Changes in v4:
- Correctly refer "databook" as "programming guide"
- Document more detail about enabling of ESS periodic tx/rx threshold

Changes in v3:
- Add "usb: dwc3: Check controller type before setting speed" to series

Changes in v2:
- Add another patch to the series to increase mass_storage max_speed
- Separate "usb: dwc3: ep0: Reset TRB counter for ep0 IN" from series
- Separate "usb: dwc3: gadget: Set maxpacket size for ep0 IN" from series
- Use msleep() instead of mdelay() for SoftReset PHY sync delay
- Rename new USB31 macros from DWC3_USB31_* to DWC31_*
- Rename device properties and replace '_' with '-'
- Minor fixes in the commit messages

Thinh Nguyen (10):
usb: dwc3: Add SoftReset PHY synchonization delay
usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
usb: dwc3: Check IP revision for GTXFIFOSIZ
usb: dwc3: Add DWC_usb31 GRXTHRCFG bit fields
usb: dwc3: gadget: Check IP revision for GRXTHRCFG
usb: dwc3: Add DWC_usb31 GTXTHRCFG reg fields
usb: dwc3: Make TX/RX threshold configurable
usb: dwc3: Check for ESS TX/RX threshold config
usb: dwc3: Dump LSP and BMU debug info
usb: dwc3: Check controller type before setting speed

 Documentation/devicetree/bindings/usb/dwc3.txt | 16 ++++++
 drivers/usb/dwc3/core.c                        | 68 +++++++++++++++++++++++++-
 drivers/usb/dwc3/core.h                        | 35 +++++++++++++
 drivers/usb/dwc3/debugfs.c                     |  5 ++
 drivers/usb/dwc3/gadget.c                      | 16 ++++--
 5 files changed, 136 insertions(+), 4 deletions(-)
Signature · 1 line
2.11.0
#1 lore raw

PATCH v5 7/10 usb: dwc3: Make TX/RX threshold configurable

DWC_usb31 periodic transfer at 48K+ bytes per interval may need modification to the TX/RX packet threshold to achieve optimal result. Add properties to make it configurable.

By default, periodic ESS TX and RX threshold are not enabled. To enable TX or RX threshold (host mode only), both packet threshold count and max burst size properties must be set to a valid non-zero value 1-16.

DWC_usb31 programming guide section 1.2.3 and 1.2.4.

---
 Documentation/devicetree/bindings/usb/dwc3.txt | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
Documentation/devicetree/bindings/usb/dwc3.txt +16 -0
index 44e8bab159ad..0dbd3083e7dd 100644
@@ -57,6 +57,22 @@ Optional properties:
  - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
 	register for post-silicon frame length adjustment when the
 	fladj_30mhz_sdbnd signal is invalid or incorrect.
+ - snps,rx-thr-num-pkt-prd: periodic ESS RX packet threshold count - host mode
+			only. Set this and rx-max-burst-prd to a valid,
+			non-zero value 1-16 (DWC_usb31 programming guide
+			section 1.2.4) to enable periodic ESS RX threshold.
+ - snps,rx-max-burst-prd: max periodic ESS RX burst size - host mode only. Set
+			this and rx-thr-num-pkt-prd to a valid, non-zero value
+			1-16 (DWC_usb31 programming guide section 1.2.4) to
+			enable periodic ESS RX threshold.
+ - snps,tx-thr-num-pkt-prd: periodic ESS TX packet threshold count - host mode
+			only. Set this and tx-max-burst-prd to a valid,
+			non-zero value 1-16 (DWC_usb31 programming guide
+			section 1.2.3) to enable periodic ESS TX threshold.
+ - snps,tx-max-burst-prd: max periodic ESS TX burst size - host mode only. Set
+			this and tx-thr-num-pkt-prd to a valid, non-zero value
+			1-16 (DWC_usb31 programming guide section 1.2.3) to
+			enable periodic ESS TX threshold.
 
  - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
 
Signature · 1 line
2.11.0