public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 00/10] Improvements for the dwc3_generic driver
@ 2018-11-29  9:52 Jean-Jacques Hiblot
  2018-11-29  9:52 ` [U-Boot] [PATCH v4 01/10] usb: gadget: Do not call board_usb_xxx() directly in USB gadget drivers Jean-Jacques Hiblot
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Jean-Jacques Hiblot @ 2018-11-29  9:52 UTC (permalink / raw)
  To: u-boot


This series aims at bringing improvements to the dwc3_generic driver so
that it can be used by most of the platforms using the dwc3 controller.

I tested this on with DRA7 and AM57x platforms for both Peripheral and Host
operations. The code to enable DM USB host & dev support for those
platforms will be submitted in a separate series.

Michal Simek has tested this series:
" I have tested it on zcu100 with usb stick, usb to ethernet converter and
also dfu.
Tested-by: Michal Simek <michal.simek@xilinx.com>"

Enhancements:
- use separate Kconfig option for DM USB Periphal and DM USB Host. This
allow platforms to keep their non-DM USB peripheral code and use the DM
USB host.
- fixes the bind/probe confusion in dwc3_generic. The probe is done when
the USB device is first needed.
- handles PHYs when in the peripheral mode. The code to handle the PHYs is
shared with the host side
- handles clock and reset
- bind host controller to the more generic driver 'xhci-dwc3'


Changes in v4:
- rebased on latest U-Boot
- renamed DM_USB_DEV as DM_USB_GADGET
- Add a new commit to create a new UCLASS for USB gadget drivers

Changes in v3:
- fixes bug dwc3_setup_phy(): the phy arrays wasn't returned. This was
  visible only when the device is removed.
- Stub the DWC3 PHY operations if CONFIG_IS_ENABLED(PHY) is false.
  This fixes all build issues but one (evb-rk3328).
- Fix build issue with evb-rk3328 by enabling CONFIG_USB_DWC3. This has
  little impact on the footprint and should not break the runtime as the
  xhci-rockchip driver has its own probe function.
  Nevertheless this was !!! NOT TESTED !!! by lack of hw

Changes in v2:
- Updated commit log
- Fixed typo in thordown.c
- select DM_USB_DEV by default for zynqmp platforms

Jean-Jacques Hiblot (10):
  usb: gadget: Do not call board_usb_xxx() directly in USB gadget
    drivers
  usb: introduce a separate config option for DM USB device
  usb: udc: implement DM versions of
    usb_gadget_initialize()/_release()/_handle_interrupt()
  dwc3_generic: do not probe the USB device driver when it's bound
  dwc3: move phy operation to core.c
  dm: usb: create a new UCLASS ID for USB gadget devices
  configs: evb-rk3328: Enable CONFIG_USB_DWC3
  dwc3-generic: Handle the PHYs, the clocks and the reset lines
  dwc3-generic: Add select_dr_mode operation
  usb: dwc3: Fix a compilation error with the edison defconfig

 arch/arm/Kconfig                    |   2 +
 board/sunxi/board.c                 |   2 +-
 cmd/fastboot.c                      |   4 +-
 cmd/rockusb.c                       |   4 +-
 cmd/thordown.c                      |   4 +-
 cmd/usb_gadget_sdp.c                |   4 +-
 cmd/usb_mass_storage.c              |   4 +-
 common/dfu.c                        |   6 +-
 configs/evb-rk3328_defconfig        |   1 +
 drivers/usb/Kconfig                 |  14 +++
 drivers/usb/dwc3/Kconfig            |   7 +-
 drivers/usb/dwc3/core.c             |  89 ++++++++++++++-
 drivers/usb/dwc3/dwc3-generic.c     | 208 ++++++++++++++++++++++++++++--------
 drivers/usb/dwc3/ep0.c              |   2 +-
 drivers/usb/gadget/ether.c          |  40 ++-----
 drivers/usb/gadget/udc/Makefile     |   4 +
 drivers/usb/gadget/udc/udc-core.c   |   3 +-
 drivers/usb/gadget/udc/udc-uclass.c |  58 ++++++++++
 drivers/usb/host/xhci-dwc3.c        |  95 ++--------------
 drivers/usb/musb-new/omap2430.c     |   2 +-
 drivers/usb/musb-new/sunxi.c        |   2 +-
 include/dm/uclass-id.h              |   1 +
 include/dwc3-uboot.h                |  19 ++++
 include/linux/usb/gadget.h          |  18 ++++
 24 files changed, 401 insertions(+), 192 deletions(-)
 create mode 100644 drivers/usb/gadget/udc/udc-uclass.c

-- 
2.7.4

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2019-01-04 13:58 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-29  9:52 [U-Boot] [PATCH v4 00/10] Improvements for the dwc3_generic driver Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 01/10] usb: gadget: Do not call board_usb_xxx() directly in USB gadget drivers Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 02/10] usb: introduce a separate config option for DM USB device Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 03/10] usb: udc: implement DM versions of usb_gadget_initialize()/_release()/_handle_interrupt() Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 04/10] dwc3_generic: do not probe the USB device driver when it's bound Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 05/10] dwc3: move phy operation to core.c Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 06/10] dm: usb: create a new UCLASS ID for USB gadget devices Jean-Jacques Hiblot
2018-12-11  1:03   ` Simon Glass
2018-12-18 12:08   ` Jagan Teki
2018-12-18 13:22     ` Adam Ford
2018-12-19 10:31     ` Jean-Jacques Hiblot
2018-12-19 10:34       ` Jean-Jacques Hiblot
2018-12-19 13:02         ` Adam Ford
2018-11-29  9:52 ` [U-Boot] [PATCH v4 07/10] configs: evb-rk3328: Enable CONFIG_USB_DWC3 Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 08/10] dwc3-generic: Handle the PHYs, the clocks and the reset lines Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 09/10] dwc3-generic: Add select_dr_mode operation Jean-Jacques Hiblot
2018-11-29  9:52 ` [U-Boot] [PATCH v4 10/10] usb: dwc3: Fix a compilation error with the edison defconfig Jean-Jacques Hiblot
2018-12-06 20:56 ` [U-Boot] [PATCH v4 00/10] Improvements for the dwc3_generic driver Loic Devulder
2018-12-07  7:46   ` Jean-Jacques Hiblot
2019-01-04  7:05     ` Jon Nettleton
2019-01-04  8:53       ` Jean-Jacques Hiblot
2019-01-04 10:19         ` Lukasz Majewski
2019-01-04 10:24           ` Jean-Jacques Hiblot
2019-01-04 11:22             ` Jon Nettleton
2019-01-04 13:54               ` Jon Nettleton
2019-01-04 13:58                 ` Jean-Jacques Hiblot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox