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

Lukasz Majewski l.majewski at samsung.com
Tue Aug 19 10:56:41 CEST 2014


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 at 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


More information about the U-Boot mailing list