[U-Boot] [u-boot PATCH v2 00/40] dra7xx: am43xx: add dwc3 gadget driver support and enable dfu

Kishon Vijay Abraham I kishon at ti.com
Mon Feb 23 14:09:43 CET 2015


This patch series ports dwc3 gadget driver from linux kernel (3.19-rc1)
to u-boot.

Changes from v2:
*) Made all the buffers which should be flushed to be memaligned and made
   flush_dcache_range to flush only those memory regions.
*) In dwc3_ep0_complete_data, changed the conditional check in implementing
   chained TRB for ep0.
*) Other misc fixes from review comments for v1.
*) Added "Reviewed-by: Lukasz Majewski <l.majewski at samsung.com>" in all the
   patches.

Changes from RFC:
*) A patch has been added to copy the driver from linux kernel to u-boot and then
   it's modfied to make it work in u-boot. This will help to understand the changes
   that's been done to make it work in u-boot and will also be easier to review.
*) Implemented chained TRB support in dwc3 ep0 so that we need not increase the size
   of bounce buffer

Testing:
*) tested DFU RAM and DFU MMC in dra7xx and am43xx

TODO:
*) Add Kconfig support
*) Adapt dwc3 driver to use the driver model.
*) Make composite driver similar to the one in linux kernel.

Pushed these patches to
git://git.ti.com/~kishon/ti-u-boot/kishons-ti-u-boot.git dwc3_upstream_v2

Kishon Vijay Abraham I (40):
  ARM: DRA7: Enable clocks for USB OTGSS and USB PHY
  ARM: AM43xx: Enable clocks for USB OTGSS and USB PHY
  usb: gadget: udc: add udc-core from linux kernel to u-boot
  include: usb: modify gadget.h to include udc support
  usb: gadget: udc: make udc-core compile in u-boot build
  include: asm: dma-mapping: get rid of the compilation warning in
    udc-core
  usb: dwc3: add dwc3 folder from linux kernel to u-boot
  usb: dwc3: remove un-used files from dwc3 folder
  usb: dwc3: Modify the file headers to u-boot format
  usb: dwc3: remove trace_* APIs from dwc3 driver
  usb: dwc3: fix dwc3 header files
  usb: dwc3: remove pm related operations from dwc3 driver
  arm: asm: dma-mapping: added dma_free_coherent API
  usb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiy
  usb: dwc3: gadget: make dwc3 gadget build in uboot
  include: asm: types: add resource_size_t type
  usb: dwc3: ep0: make dwc3 ep0 build in uboot
  include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid
    compilation error
  usb: dwc3: core: make dwc3 core build in uboot
  include: dwc3-uboot: add a structure for populating platform data
  dwc3: core: change probe and remove to uboot init and uboot exit code
  dwc3: core: add support for multiple dwc3 controllers
  dwc3: core: added an API to invoke irq handlers
  usb: dwc3: dwc3-omap: make dwc3-omap build in uboot
  include: dwc3-omap-uboot: add a structure for populating dwc3-omap
    platform data
  usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot
    exit code
  dwc3: dwc3-omap: add support for multiple dwc3-omap controllers
  usb: dwc3: dwc3-omap: add interrupt status API to check for
    interrupts
  usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms
  dwc3: flush the buffers before using it
  usb: dwc3: ep0: preparation for implementing chained TRB
  usb: dwc3: Add chained TRB support for ep0
  usb: dwc3: Makefile: Make dwc3 driver compile in u-boot
  usb: gadget: defer setting maxpacket till ->setup()
  common: cmd_dfu: invoke board_usb_cleanup() for cleaning up
  board: ti: DRA7: added USB initializtion code
  include: configs: Enable DWC3 and DFU in DRA7xx
  board: ti: AM43xx: added USB initializtion code
  include: configs: Enable DWC3 and DFU in AM43xx
  usb: modify usb_gadget_handle_interrupts to take controller index

 Makefile                                           |    2 +
 arch/arm/cpu/armv7/am33xx/clock_am43xx.c           |   12 +
 arch/arm/cpu/armv7/omap5/hw_data.c                 |   14 +
 arch/arm/cpu/armv7/omap5/prcm-regs.c               |   10 +-
 arch/arm/include/asm/arch-am33xx/cpu.h             |   20 +-
 arch/arm/include/asm/arch-am33xx/hardware_am43xx.h |   12 +
 arch/arm/include/asm/arch-omap5/omap.h             |   12 +
 arch/arm/include/asm/dma-mapping.h                 |    9 +-
 arch/arm/include/asm/omap_common.h                 |    4 +-
 arch/arm/include/asm/types.h                       |    1 +
 board/ti/am43xx/board.c                            |  108 +
 board/ti/dra7xx/evm.c                              |  109 +
 common/cmd_dfu.c                                   |    3 +-
 common/cmd_fastboot.c                              |    2 +-
 common/cmd_usb_mass_storage.c                      |    2 +-
 common/usb.c                                       |    6 +
 drivers/usb/dwc3/Makefile                          |    8 +
 drivers/usb/dwc3/core.c                            |  792 ++++++
 drivers/usb/dwc3/core.h                            | 1033 ++++++++
 drivers/usb/dwc3/dwc3-omap.c                       |  441 ++++
 drivers/usb/dwc3/ep0.c                             | 1112 ++++++++
 drivers/usb/dwc3/gadget.c                          | 2680 ++++++++++++++++++++
 drivers/usb/dwc3/gadget.h                          |  108 +
 drivers/usb/dwc3/io.h                              |   55 +
 drivers/usb/dwc3/linux-compat.h                    |   38 +
 drivers/usb/dwc3/ti_usb_phy.c                      |  309 +++
 drivers/usb/gadget/atmel_usba_udc.c                |    2 +-
 drivers/usb/gadget/ci_udc.c                        |    2 +-
 drivers/usb/gadget/composite.c                     |    4 +-
 drivers/usb/gadget/ether.c                         |   12 +-
 drivers/usb/gadget/f_mass_storage.c                |    2 +-
 drivers/usb/gadget/f_thor.c                        |    6 +-
 drivers/usb/gadget/fotg210.c                       |    2 +-
 drivers/usb/gadget/pxa25x_udc.c                    |    2 +-
 drivers/usb/gadget/s3c_udc_otg.c                   |    2 +-
 drivers/usb/gadget/udc/Makefile                    |    4 +
 drivers/usb/gadget/udc/udc-core.c                  |  354 +++
 drivers/usb/musb-new/musb_uboot.c                  |    2 +-
 include/configs/am43xx_evm.h                       |   58 +-
 include/configs/dra7xx_evm.h                       |   63 +
 include/configs/ti_omap5_common.h                  |    5 +
 include/dwc3-omap-uboot.h                          |   32 +
 include/dwc3-uboot.h                               |   42 +
 include/linux/compat.h                             |    1 +
 include/linux/usb/composite.h                      |    9 +
 include/linux/usb/dwc3-omap.h                      |   19 +
 include/linux/usb/gadget.h                         |   84 +-
 include/linux/usb/otg.h                            |   20 +
 include/ti-usb-phy-uboot.h                         |   22 +
 49 files changed, 7616 insertions(+), 35 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/Makefile
 create mode 100644 drivers/usb/gadget/udc/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

-- 
1.7.9.5



More information about the U-Boot mailing list