[U-Boot] [PATCH v4 00/15] Improvement for the DWC3 USB generic driver and fixes for the K2 platforms
Jean-Jacques Hiblot
jjhiblot at ti.com
Wed Sep 11 09:33:43 UTC 2019
The K2 platforms have shown boot issues after switching to the DWC3 generic
driver. Those are due to the fact that the USB domains are not turned off
before booting linux and the phy were not properly initialized. Fixing it
by improving the DWC3-generic driver and handling the USB power domain in
the PHY driver.
Improvements to the DWC3 generic driver are:
- core: read quirks properties from DT and apply the fixes.
- add a new host driver that uses the DWC3 core (more generic than
xhci-dwc3). This should enable most platforms to drop their own version
of the xhci-driver to use the generic one instead.
This series also removes the now unused xhci-zynqmp driver and tries to
better manage the Kconfig options related to DWC3 gadget/host mode
selection.
This has been tested with K2 and DRA7 platforms (host and device modes).
Travis build: https://travis-ci.org/jjhiblot/u-boot/builds/583080674
Changes in v4:
- removed patches already merged (DWC3 fixes)
- update more defconfigs (u200, sei510, rock64-rk332 and odroid-n2)
- Fix the test of the USB_DWC3_GADGET option. IS_ENABLED() requires the
whole option name including the 'CONFIG_' prefix
Changes in v3:
- updated log message when defaulting to super speed
Changes in v2:
Update commit log
Select USB_GADGET_DUALSPEED if USB_DWC3_GADGET is selected
Jean-Jacques Hiblot (15):
usb: host: remove the xhci-zynqmp driver
usb: dwc3: switch to peripheral mode when exiting
usb: xhci: move xhci.h to include usb
usb: dwc3: always use the inlined version of
dwc3_host_init/dwc3_host_exit
usb: dwc3-generic: use platdata
usb: dwc3-generic: factorize code
usb: dwc3-generic: add a new host driver that uses the dwc3 core
usb: dwc3-generic: if no max speed is specified in DT, assume super
speed
usb: dwc3: Add dwc3_of_parse() to get quirks information from DT
usb: dwc3: Kconfig: get rid of obsolete mode selection
ARM: keystone: increase PSC timeout
ARM: keystone: Do not enable the USB power domains at the board level
phy: keystone-usb: handle the transition of the USB power domain
configs: k2g_evm_defconfig: disable XHCI_DWC3 and enable
KEYSTONE_USB_PHY
ARM: DTS: keystone: complete the description of the USB PHY devices
MAINTAINERS | 1 +
arch/arm/dts/keystone-k2e-evm-u-boot.dtsi | 32 ++++
arch/arm/dts/keystone-k2g-evm-u-boot.dtsi | 28 ++++
arch/arm/dts/keystone-k2hk-evm-u-boot.dtsi | 14 ++
arch/arm/dts/keystone-k2l-evm-u-boot.dtsi | 18 +++
.../arm/mach-keystone/include/mach/psc_defs.h | 2 +-
board/ti/ks2_evm/board.c | 13 --
configs/avnet_ultra96_rev1_defconfig | 1 -
configs/evb-rk3328_defconfig | 1 +
configs/k2g_evm_defconfig | 3 +-
configs/odroid-n2_defconfig | 1 +
configs/rock64-rk3328_defconfig | 1 +
configs/sei510_defconfig | 1 +
configs/u200_defconfig | 1 +
.../xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 -
.../xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 1 -
.../xilinx_zynqmp_zc1751_xm017_dc3_defconfig | 1 -
configs/xilinx_zynqmp_zcu100_revC_defconfig | 1 -
configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 -
configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 -
configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 -
configs/xilinx_zynqmp_zcu104_revA_defconfig | 1 -
configs/xilinx_zynqmp_zcu104_revC_defconfig | 1 -
configs/xilinx_zynqmp_zcu106_revA_defconfig | 1 -
configs/xilinx_zynqmp_zcu111_revA_defconfig | 1 -
drivers/phy/keystone-usb-phy.c | 22 +++
drivers/usb/dwc3/Kconfig | 18 +--
drivers/usb/dwc3/core.c | 84 +++++++++-
drivers/usb/dwc3/core.h | 6 +-
drivers/usb/dwc3/dwc3-generic.c | 146 ++++++++++++++----
drivers/usb/host/Kconfig | 7 -
drivers/usb/host/Makefile | 1 -
drivers/usb/host/xhci-dwc3.c | 2 +-
drivers/usb/host/xhci-exynos5.c | 2 +-
drivers/usb/host/xhci-fsl.c | 2 +-
drivers/usb/host/xhci-mem.c | 2 +-
drivers/usb/host/xhci-mvebu.c | 2 +-
drivers/usb/host/xhci-omap.c | 2 +-
drivers/usb/host/xhci-pci.c | 2 +-
drivers/usb/host/xhci-rcar.c | 2 +-
drivers/usb/host/xhci-ring.c | 2 +-
drivers/usb/host/xhci-rockchip.c | 2 +-
drivers/usb/host/xhci-zynqmp.c | 146 ------------------
drivers/usb/host/xhci.c | 2 +-
drivers/usb/phy/omap_usb_phy.c | 2 +-
{drivers/usb/host => include/usb}/xhci.h | 0
46 files changed, 331 insertions(+), 251 deletions(-)
create mode 100644 arch/arm/dts/keystone-k2l-evm-u-boot.dtsi
delete mode 100644 drivers/usb/host/xhci-zynqmp.c
rename {drivers/usb/host => include/usb}/xhci.h (100%)
--
2.17.1
More information about the U-Boot
mailing list