[U-Boot] [UBOOT RFC PATCH 00/13] DRA7xx: Add DWC3 USB driver and enable DFU

Lukasz Majewski
2014-08-19T08:56:41Z

Hi Kishon,

> Ported DWC3 driver from linux kernel v3.16 to uboot and enabled DFU
> in DRA7xx. Tested only with DFU ram.

I'm afraid that only testing the code with DFU ram is not enough.

I'd _appreciate_ if you had CCed other people involved in DFU/UDC/USB
development to this RFC. I've CCed Marek Vasut - the USB custodian.

The whole series seems like a huge improvement from the base code -
which is 2.6.36 based one...

>
> While I kept the dwc3 driver pretty much the same from linux kernel,
> I have created a single driver for both USB2 and USB3 PHY
> programming.

I concern about driver model compliance. Simon Glass has put a lot of
effort to convert Exynos' UART and GPIO to it. Hence, I believe that
potential UDC/PHY rework shall comply with Simon's device model work.

Therefore, I've CC'ed Simon as well.

> I have also adapted udc-core from linux kernel so that
> we can cleanly link the gadet driver with the controller driver.
>
> This series was created on top of
> commit 61e76f53708cf082ef9061a140b57df3513b8ba1
> Merge: 76b2102 3d83e67
> Author: Tom Rini <trini@ti.com>
> Date: Tue Jun 10 20:37:00 2014 -0400
>
> Merge branch 'master' of git://git.denx.de/u-boot-usb
>
> Let me know of any feedback and suggestions.
>
> Known Issues:
> DWC3 is not enumerating consistently.
>
> Kishon Vijay Abraham I (13):
> include: linux: preparation for porting dwc3 from linux kernel
> usb: gadget: udc-core: Add minimal udc-core from linux kernel
> ARM: DRA7: Enable clocks for USB OTGSS and USB PHY
> usb: dwc3: Add dwc3 driver
> usb: dwc3-omap: Add dwc3 glue driver for OMAP
> usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms
> usb: gadget: g_dnl: Explicitly set the max packet size in descriptor
> common: cmd_dfu: invoke board_usb_cleanup() for cleaning up
> common: cmd_dfu: add an API that takes controller index for handling
> interrupts
> board: ti: DRA7: added USB initializtion code
> commom: usb: implement "__weak" functions to make compiler happy
> include: configs: Enable DWC3 and DFU in DRA7xx
> dwc3: core: Change the bounce buffer size to 4096
>
> Makefile | 1 +
> arch/arm/cpu/armv7/omap5/hw_data.c | 14 +
> arch/arm/cpu/armv7/omap5/prcm-regs.c | 6 +-
> arch/arm/include/asm/arch-omap5/omap.h | 12 +
> arch/arm/include/asm/omap_common.h | 4 +-
> board/ti/dra7xx/evm.c | 106 ++
> common/cmd_dfu.c | 2 +
> common/usb.c | 18 +
> drivers/usb/dwc3/Makefile | 10 +
> drivers/usb/dwc3/core.c | 640 +++++++
> drivers/usb/dwc3/core.h | 961 +++++++++++
> drivers/usb/dwc3/dwc3-omap.c | 447 +++++
> drivers/usb/dwc3/ep0.c | 1045 ++++++++++++
> drivers/usb/dwc3/gadget.c | 2841
> ++++++++++++++++++++++++++++++++
> drivers/usb/dwc3/gadget.h | 163 ++
> drivers/usb/dwc3/io.h | 52 +
> drivers/usb/dwc3/linux-compat.h | 132 ++
> drivers/usb/dwc3/ti_usb_phy.c | 269 +++
> drivers/usb/gadget/Makefile | 1 +
> drivers/usb/gadget/composite.c | 3 +-
> drivers/usb/gadget/g_dnl.c | 1 +
> drivers/usb/gadget/udc-core.c | 229 +++
> include/configs/dra7xx_evm.h | 59 +
> include/configs/ti_omap5_common.h | 1 +
> include/dwc3-omap-uboot.h | 32 +
> include/dwc3-uboot.h | 26 +
> include/linux/compat.h | 12 +-
> include/linux/usb/composite.h | 12 +
> include/linux/usb/dwc3-omap.h | 19 +
> include/linux/usb/gadget.h | 75 +-
> include/linux/usb/otg.h | 20 +
> include/ti-usb-phy-uboot.h | 22 +
> include/usb.h | 7 +
> include/usb/lin_gadget_compat.h | 8 +- 34 files changed,
> 7236 insertions(+), 14 deletions(-) create mode 100644
> drivers/usb/dwc3/Makefile create mode 100644 drivers/usb/dwc3/core.c
> create mode 100644 drivers/usb/dwc3/core.h
> create mode 100644 drivers/usb/dwc3/dwc3-omap.c
> create mode 100644 drivers/usb/dwc3/ep0.c
> create mode 100644 drivers/usb/dwc3/gadget.c
> create mode 100644 drivers/usb/dwc3/gadget.h
> create mode 100644 drivers/usb/dwc3/io.h
> create mode 100644 drivers/usb/dwc3/linux-compat.h
> create mode 100644 drivers/usb/dwc3/ti_usb_phy.c
> create mode 100644 drivers/usb/gadget/udc-core.c
> create mode 100644 include/dwc3-omap-uboot.h
> create mode 100644 include/dwc3-uboot.h
> create mode 100644 include/linux/usb/dwc3-omap.h
> create mode 100644 include/linux/usb/otg.h
> create mode 100644 include/ti-usb-phy-uboot.h
>

--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group