From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Jacques Hiblot Date: Fri, 7 Dec 2018 08:46:14 +0100 Subject: [U-Boot] [PATCH v4 00/10] Improvements for the dwc3_generic driver In-Reply-To: <4c28ad87-7976-1fc7-9047-47a0254e2b2a@suse.de> References: <1543485170-15478-1-git-send-email-jjhiblot@ti.com> <4c28ad87-7976-1fc7-9047-47a0254e2b2a@suse.de> Message-ID: <86d052d0-feeb-1e27-d17f-3763e4fb1dde@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 06/12/2018 21:56, Loic Devulder wrote: > Hi, > > I re-tested this series on Khadas VIM1 and it still fix the USB issue I > had with 'usb reset' (I already tested v2 patches). > > I just have a message and I'm not sure that I had it last time: > "Error disabling PHY supply > Can't shutdown USB PHY1 for dwc3 at c9000000" > > But USB stack looks ok, I can plug/unplug USB key and do the reset, all > works as expected. > > Since my last test lot of changes has been done in Amlogic SoCs, maybe > it's because of this? > > So if you want you can add my tested-by flag. > Tested-by: Loic Devulder Thank you for testing > > On 11/29/18 10:52 AM, Jean-Jacques Hiblot wrote: >> 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 " >> >> 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 >>