Marek,

This series fixes the linux boot on the K2 platforms. without it the K2 platforms are broken. Can you give it a look please ?

Thanks,

JJ

On 05/04/2019 14:55, Jean-Jacques Hiblot wrote:
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.
At the same time this series introduce a new uclass (UCLASS_NOP) to replace
usage of UCLASS_MISC in the USB wrapper because the MISC class now
automatically binds all the child devices.

Improvements to the DWC3 generic driver are:
- Fix it by switching to UCLASS_NOP
- 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/515282720


Jean-Jacques Hiblot (18):
   usb: dwc3-generic: remove dm_scan_fdt_dev() from the remove() callback
   usb: host: remove the xhci-zynqmp driver
   dm: Add a No-op uclass
   usb: dwc3: Use UCLASS_NOP instead of UCLASS_MISC for the DWC3 generic
     glue
   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 +-
  .../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/core/uclass.c                         |   5 +
  drivers/phy/keystone-usb-phy.c                |  22 +++
  drivers/usb/dwc3/Kconfig                      |  20 +--
  drivers/usb/dwc3/core.c                       |  84 +++++++++-
  drivers/usb/dwc3/core.h                       |   6 +-
  drivers/usb/dwc3/dwc3-generic.c               | 150 ++++++++++++++----
  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 +-
  include/dm/uclass-id.h                        |   1 +
  {drivers/usb/host => include/usb}/xhci.h      |   0
  44 files changed, 335 insertions(+), 255 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%)

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to