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

Jean-Jacques Hiblot jjhiblot at ti.com
Mon Apr 29 09:09:20 UTC 2019


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%)
>


More information about the U-Boot mailing list