linux_dsm_epyc7002/drivers/usb
Thinh Nguyen 9af21dd6fa usb: dwc3: Add support for DWC_usb32 IP
Synopsys introduces a new controller DWC_usb32. It supports dual-lane
and speed up to 20 Gbps, and the DWC3 driver will drive this controller.
Currently the driver uses a single field dwc->revision to ID both
DWC_usb3 and DWC_usb31 and their version number. This was sufficient for
two IPs, but this method doesn't work with additional IPs. As a result,
let's separate the dwc->revision field to 2 separate fields: ip and
revision. The ip field now stores the ID of the controller's IP while
the revision field stores the controller's version number.

This new scheme enforces DWC3 to compare the revision within the same IP
only. As a result, we must update all the revision check of the
controller to check its corresponding IP.

To help with this enforcement, we create a few macros to help with
the common version checks:

DWC3_IP_IS(IP)
DWC3_VER_IS(IP, VERSION)
DWC3_VER_IS_PRIOR(IP, VERSION)
DWC3_VER_IS_WITHIN(IP, LOWER_VERSION, UPPER_VERSION)
DWC3_VER_TYPE_IS_WITHIN(IP, VERSION,
			LOWER_VERSION_TYPE,
			UPPER_VERSION_TYPE)

The DWC_usb32 controller operates using the same programming model and
with very similar configurations as its previous controllers. Please
note that the various IP and revision checks in this patch match the
current checks for DWC_usb31 version 1.90a. Additional configurations
that are unique to DWC_usb32 are applied separately.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
2020-05-25 11:09:40 +03:00
..
atm USB: atm: Use the correct style for SPDX License Identifier 2020-03-17 20:03:28 +01:00
c67x00 USB: c67x00: Use the correct style for SPDX License Identifier 2020-03-17 20:03:28 +01:00
cdns3 usb: cdns3: change dev_info to dev_dbg for debug message 2020-05-25 11:09:37 +03:00
chipidea Power management updates for 5.7-rc1 2020-03-30 15:05:01 -07:00
class cdc-acm: introduce a cool down 2020-04-16 14:59:49 +02:00
common usb: common: usb-conn-gpio: Don't log an error on probe deferral 2019-12-10 11:41:20 +01:00
core USB: hub: Revert commit bd0e6c9614 ("usb: hub: try old enumeration scheme first for high speed devices") 2020-04-23 15:22:41 +02:00
dwc2 usb: dwc2: gadget: move gadget resume after the core is in L0 state 2020-05-25 11:09:39 +03:00
dwc3 usb: dwc3: Add support for DWC_usb32 IP 2020-05-25 11:09:40 +03:00
early USB: early: Handle AMD's spec-compliant identifiers, too 2020-04-16 14:46:00 +02:00
gadget usb: gadget: tegra-xudc: add port_speed_quirk 2020-05-25 11:09:40 +03:00
host xhci: Don't clear hub TT buffer on ep0 protocol stall 2020-04-21 16:27:38 +02:00
image Merge 5.4-rc3 into usb-next 2019-10-14 07:09:59 +02:00
isp1760 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
misc USB: sisusbvga: Change port variable from signed to unsigned 2020-04-23 15:26:17 +02:00
mon USB: mon: Use scnprintf() for avoiding potential buffer overflow 2020-03-12 09:49:28 +01:00
mtu3 USB: mtu3: Use the correct style for SPDX License Identifier 2020-05-25 11:09:37 +03:00
musb usb: musb: tusb6010: fix a possible missing data type replacement 2020-03-17 20:03:28 +01:00
phy usb: phy: Add driver for the Ingenic JZ4770 USB transceiver 2020-03-12 09:53:08 +01:00
renesas_usbhs usb: renesas_usbhs: Use the correct style for SPDX License Identifier 2020-05-25 11:09:38 +03:00
roles usb: roles: Allow the role switches to be named 2020-03-04 11:12:50 +01:00
serial USB-serial updates for 5.7-rc1 2020-03-26 11:15:30 +01:00
storage usb-storage: Add unusual_devs entry for JMicron JMS566 2020-04-23 15:22:42 +02:00
typec usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer 2020-04-22 19:23:19 +02:00
usbip usbip: Fix error path of vhci_recv_ret_submit() 2019-12-17 16:36:33 +01:00
Kconfig usb: common: create Kconfig file 2019-09-03 19:00:39 +02:00
Makefile USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
usb-skeleton.c USB: usb-skeleton: drop redundant in-urb check 2019-10-10 12:41:19 +02:00