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

Kishon Vijay Abraham I
2015-02-06T08:47:37Z

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

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_v1

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 | 22 +-
arch/arm/include/asm/arch-am33xx/hardware_am43xx.h | 13 +
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 | 7 +
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 | 2679 ++++++++++++++++++++
drivers/usb/dwc3/gadget.h | 108 +
drivers/usb/dwc3/io.h | 56 +
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 | 61 +-
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, 7622 insertions(+), 36 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