linux/drivers/usb/dwc3
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
..
core.c usb: dwc3: Add support for DWC_usb32 IP 2020-05-25 11:09:40 +03:00
core.h usb: dwc3: Add support for DWC_usb32 IP 2020-05-25 11:09:40 +03:00
debug.h USB: dwc3: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
debugfs.c usb: dwc3: create debugfs directory under usb root 2019-11-14 11:14:54 +08:00
drd.c usb: dwc3: use true,false for dwc->otg_restart_host 2020-05-25 11:09:39 +03:00
dwc3-exynos.c usb: dwc3: exynos: Add support for Exynos5422 suspend clk 2020-03-15 11:08:27 +02:00
dwc3-haps.c usb: dwc3: haps: Workaround matching VID PID 2019-02-07 13:17:19 +02:00
dwc3-keystone.c USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: add support for GXL and GXM SoCs 2020-05-25 11:09:38 +03:00
dwc3-of-simple.c usb: dwc3: of-simple: remove Amlogic GXL and AXG compatibles 2020-05-25 11:09:38 +03:00
dwc3-omap.c USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
dwc3-pci.c usb: dwc3: pci: add ID for the Intel Comet Lake -V variant 2020-01-22 10:11:41 +01:00
dwc3-qcom.c usb: dwc3: qcom: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-03-15 11:32:56 +02:00
dwc3-st.c usb: dwc3: st: Add of_dev_put() in probe function 2019-08-28 13:04:58 +03:00
ep0.c usb: dwc3: gadget: Check END_TRANSFER completion 2020-01-15 10:39:23 +01:00
gadget.c usb: dwc3: Add support for DWC_usb32 IP 2020-05-25 11:09:40 +03:00
gadget.h USB: dwc3: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
host.c usb: dwc3: Add support for DWC_usb32 IP 2020-05-25 11:09:40 +03:00
io.h USB: dwc3: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
Kconfig usb: dwc3: Fix Kconfig indentation 2019-11-21 14:39:39 +01:00
Makefile usb: dwc3: Add Amlogic G12A DWC3 glue 2019-05-03 09:13:47 +03:00
trace.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
trace.h USB: dwc3: Use the correct style for SPDX License Identifier 2020-05-05 10:58:49 +03:00
ulpi.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00