[U-Boot] [PATCH v2 00/18] Improvement for the DWC3 USB generic driver and fixes for the K2 platforms

Siva Durga Prasad Paladugu sivadur at xilinx.com
Tue May 21 11:36:57 UTC 2019


Hi,

Tested the series with one out of tree patch(https://marc.info/?l=u-boot&m=155409909828219 ) on Xilinx ZynqMP and it looks fine.
We may need to finalize on https://marc.info/?l=u-boot&m=155409909828219 as well.

U-Boot 2019.04-rc4-00065-g5063fa3-dirty (May 21 2019 - 16:58:34 +0530)

Model: ZynqMP ZCU102 Rev1.0
Board: Xilinx ZynqMP
DRAM:  4 GiB
EL Level:       EL2
Chip ID:        zu9eg
MMC:   mmc at ff170000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial at ff000000
Out:   serial at ff000000
Err:   serial at ff000000
Bootmode: JTAG_MODE
Reset reason:   EXTERNAL 
Net:   ZYNQ GEM: ff0e0000, phyaddr c, interface rgmii-id

Warning: ethernet at ff0e0000 (eth0) using random MAC address - 32:98:cb:f1:92:33
eth0: ethernet at ff0e0000
Hit any key to stop autoboot:  0 
ZynqMP> usb start
starting USB...
USB0:   Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
ZynqMP> ls usb 0
  5242880   dummy.bin
 133849600   Image

2 file(s), 0 dir(s)

ZynqMP> load usb 0 100000 Image
133849600 bytes read in 1056 ms (120.9 MiB/s)
ZynqMP>

Thanks,
Siva

-----Original Message-----
From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Jean-Jacques Hiblot
Sent: Monday, May 13, 2019 8:00 PM
To: lukma at denx.de; marex at denx.de
Cc: Marcel Ziswiler <marcel.ziswiler at toradex.com>; u-boot at lists.denx.de; Miquel Raynal <miquel.raynal at bootlin.com>; Stefan Roese <sr at denx.de>; Tom Rini <trini at konsulko.com>; Ryder Lee <ryder.lee at mediatek.com>; Heinrich Schuchardt <xypron.glpk at gmx.de>; Michal Simek <michals at xilinx.com>; Krzysztof Kozlowski <krzk at kernel.org>; Maxime Ripard <maxime.ripard at bootlin.com>; Sven Schwermer <sven at svenschwermer.de>; Ramon Fried <ramon.fried at gmail.com>; Eugeniu Rosca <roscaeugeniu at gmail.com>; Vitaly Andrianov <vitalya at ti.com>; Joe Hershberger <joe.hershberger at ni.com>; Tom Warren <twarren at nvidia.com>
Subject: [U-Boot] [PATCH v2 00/18] Improvement for the DWC3 USB generic driver and fixes for the K2 platforms

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

Changes in v2:
- Add a test for the NOP uclass
- Update commit logs
- Select USB_GADGET_DUALSPEED if USB_DWC3_GADGET is selected

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 +-
 arch/sandbox/dts/test.dts                     |  12 ++
 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                      |  18 +--
 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
 test/dm/Makefile                              |   1 +
 test/dm/nop.c                                 |  73 +++++++++
 47 files changed, 421 insertions(+), 253 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%)  create mode 100644 test/dm/nop.c

--
2.17.1

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


More information about the U-Boot mailing list