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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot