kernel_optimize_test/drivers/usb/dwc2
Amelie Delaunay bc0f0d4a58 usb: dwc2: override PHY input signals with usb role switch support
This patch adds support for usb role switch to dwc2, by using overriding
control of the PHY voltage valid and ID input signals.

iddig signal (ID) can be overridden:
- when setting GUSBCFG_FORCEHOSTMODE, iddig input pin is overridden with 1;
- when setting GUSBCFG_FORCEDEVMODE, iddig input pin is overridden with 0.

avalid/bvalid/vbusvalid signals can be overridden respectively with:
- GOTGCTL_AVALOEN + GOTGCTL_AVALOVAL
- GOTGCTL_BVALOEN + GOTGCTL_BVALOVAL
- GOTGCTL_VBVALEN + GOTGCTL_VBVALOVAL

It is possible to determine valid sessions thanks to usb role switch:
- if USB_ROLE_NONE then !avalid && !bvalid && !vbusvalid
- if USB_ROLE_DEVICE then !avalid && bvalid && vbusvalid
- if USB_ROLE_HOST then avalid && !bvalid && vbusvalid

Acked-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
2020-07-23 14:45:36 +03:00
..
core_intr.c usb: dwc2: gadget: move gadget resume after the core is in L0 state 2020-05-25 11:09:39 +03:00
core.c usb: dwc2: Update Core Reset programming flow. 2020-05-25 11:09:44 +03:00
core.h usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00
debug.h USB: dwc2: Use the correct style for SPDX License Identifier 2020-05-05 10:58:50 +03:00
debugfs.c USB: ch9: add "USB_" prefix in front of TEST defines 2020-06-24 15:01:24 +02:00
drd.c usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00
gadget.c usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00
hcd_ddma.c usb: dwc2: Modify dwc2_readl/writel functions prototype 2018-07-30 10:39:16 +03:00
hcd_intr.c usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) 2019-06-06 13:51:41 +03:00
hcd_queue.c usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) 2019-06-06 13:51:41 +03:00
hcd.c usb: dwc2: use well defined macros for power_down 2020-06-18 10:13:16 +02:00
hcd.h USB: dwc2: Use the correct style for SPDX License Identifier 2020-05-05 10:58:50 +03:00
hw.h usb: dwc2: Update Core Reset programming flow. 2020-05-25 11:09:44 +03:00
Kconfig usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00
Makefile usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00
params.c usb: dwc2: use well defined macros for power_down 2020-06-18 10:13:16 +02:00
pci.c usb: dwc2: pci: Fix an error code in probe 2018-11-14 11:07:12 +02:00
platform.c usb: dwc2: override PHY input signals with usb role switch support 2020-07-23 14:45:36 +03:00