summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | dfu: cmd: trigger watchdog before calling usb_gadget_handle_interruptsHeiko Schocher2015-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | trigger watchdog before calling usb_gadget_handle_interrupts() This prevents board resets when calling dfu command on boards which have a watchdog. Signed-off-by: Heiko Schocher <hs@denx.de> [ Reedition by Lukasz Majewski <l.majewski@samsung.com> to apply to v2014.04 release ]
* | cmd_usb_mass_storage: Use 'USB Mass Storage' in the help textFabio Estevam2015-04-141-1/+1
| | | | | | | | | | | | | | | | USB Mass Storage is the standard name, so let's use it here. Suggested-by: Soeren Moch <smoch@web.de> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Marek Vasut <marex@denx.de>
* | usb: gadget: thor: Claim EP after allocating it in thor gadgetMarek Szyprowski2015-04-141-0/+3
| | | | | | | | | | | | | | Storing thor device struct as an EP private data. It is necessary for DWC3 operation. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* | usb: dwc3: Correct clean up code for requestsLukasz Majewski2015-04-141-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For u-boot dwc3 driver the scatter gather list support has been removed from original linux code. It is correct, since we try to send one request at a time. However, the cleanup left spurious break, which caused early exit from loop at dwc3_cleanup_done_reqs() function. As a result the dwc3_gadget_giveback() wasn't called and caused USB Mass Storage to hang. This commit removes this problem and refactor the code to remove superfluous do { } while(1) loop. Test HW: Odroid XU3 (with ./test/ums/ums_gadget_test.sh) Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: gadget: Set non EP0 max packet limit to 512BLukasz Majewski2015-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | Commit "drivers/dwc3: add a workaround for too small OUT requests" sets max packet for OUT requests when transfer is smaller. Until this change the default maxpacket for non EP0 EPs was 1024. This is too much, since UMS LBA size is 512B Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to ↵Lukasz Majewski2015-04-141-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be LST It turned out that current dwc3 gadget code is preparing multiple TRBs for a transfer. Unfortunately, when multiple requests are in the same queue, only for the last one the LST (last) ctrl bit is set. Due to that dwc3 HW executes all TRBs up till the one marked as last. Unfortunately, UMS requires call of ->complete callback after any send TRB. This is the reason for "hangs" in executing UMS. This code simplifies this situation and set each TRB's ctrl field bit to be last (LST bit). Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: optimize interrupt loopMarek Szyprowski2015-04-142-9/+13
| | | | | | | | | | | | | | | | There is no point in calling dwc3_thread_interrupt() if no event is pending. There is also no point in flushing event cache in EVERY loop iteration. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* | usb: dwc3: gadget: add common endpoint configuration for dwc3 udc driverMarek Szyprowski2015-04-142-1/+31
| | | | | | | | | | | | | | | | | | This patch adds code to select standard, commonly used usb endpoint configuration (ep1in-bulk, ep2out-bulk, ep3in-int) to dwc3 driver. This ensures compatibility with old userspace and windows drivers, which expects hardcoded endpoint numbers. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* | usb: dwc3: add a workaround for too small OUT requestsMarek Szyprowski2015-04-141-0/+8
| | | | | | | | | | | | | | DWC3 hangs on OUT requests smaller than maxpacket size, so HACK the request length to be at least equal to maxpacket size. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
* | usb: dwc3: make dwc3_set_mode to staticJoonyoung Shim2015-04-142-2/+1
| | | | | | | | | | | | | | This commit makes the dwc3_set_mode() as static, to prevent collisions. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: Remove BIT(x) macro from DWC3's gadget codeLukasz Majewski2015-04-142-2/+2
| | | | | | | | | | | | | | The BIT() macro is used only in those places, so it is reasonable to replace it by a constant value. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: composite: Add .reset callback to usb_gadget_driver structureLukasz Majewski2015-04-141-0/+1
| | | | | | | | | | | | | | DWC3 UDC driver requires presence of .reset callback in a composite driver. This setting is similar to the one nowadays present in linux kernel. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: gadget: thor: Invoke board specific USB cleanup interfaceInha Song2015-04-141-0/+1
| | | | | | | | | | | | | | This patch invokes board-specific USB cleanup (board_usb_cleanup) function in the thor gadget. Signed-off-by: Inha Song <ideal.song@samsung.com>
* | usb: gadget: UMS: Invoke board specific USB cleanup interfaceInha Song2015-04-141-0/+1
| | | | | | | | | | | | | | This patch invokes board-specific USB cleanup (board_usb_cleanup) function in the mass storage gadget Signed-off-by: Inha Song <ideal.song@samsung.com>
* | usb: board: goni: Add default board_usb_cleanup() definition for Goni boardLukasz Majewski2015-04-141-0/+5
| | | | | | | | | | | | This definition is necessary for S5PC110 based GONI board to work properly. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: board: samsung: Add default board_usb_cleanup() definition for Exynos SoCsLukasz Majewski2015-04-141-0/+6
| | | | | | | | | | | | This definition is necessary for Exynos based boards to work properly. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: modify usb_gadget_handle_interrupts to take controller indexKishon Vijay Abraham I2015-04-1415-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we support multiple dwc3 controllers to be existent at the same time, in order to handle the interrupts of a particular dwc3 controller usb_gadget_handle_interrutps should take controller index as an argument. Hence the API of usb_gadget_handle_interrupts is modified to take controller index as an argument and made the corresponding changes to all the usb_gadget_handle_interrupts calls. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: configs: Enable DWC3 and DFU in AM43xxKishon Vijay Abraham I2015-04-141-1/+57
| | | | | | | | | | | | | | | | Enabled dwc3, dwc3-omap and PHY for dwc3 are enabled. Also enabled support for DFU. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | board: ti: AM43xx: added USB initializtion codeKishon Vijay Abraham I2015-04-142-0/+117
| | | | | | | | | | | | | | | | | | Implemented board_usb_init(), board_usb_cleanup() and usb_gadget_handle_interrupts() in am43xx board file that can be invoked by various gadget drivers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: configs: Enable DWC3 and DFU in DRA7xxKishon Vijay Abraham I2015-04-142-0/+68
| | | | | | | | | | | | | | | | Enabled dwc3, dwc3-omap and PHY for dwc3 are enabled. Also enabled support for DFU. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | board: ti: DRA7: added USB initializtion codeKishon Vijay Abraham I2015-04-142-0/+121
| | | | | | | | | | | | | | | | | | Implemented board_usb_init(), board_usb_cleanup() and usb_gadget_handle_interrupts() in dra7xx board file that can be invoked by various gadget drivers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | common: cmd_dfu: invoke board_usb_cleanup() for cleaning upKishon Vijay Abraham I2015-04-142-0/+7
| | | | | | | | | | | | | | | | Invoked board_usb_cleanup for cleaning up initialized USB. It will be invoked if the user enterts ctrl-C. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: gadget: defer setting maxpacket till ->setup()Kishon Vijay Abraham I2015-04-142-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Taken from linux kernel with commit commit 765f5b830e547229bb752e7b232ee83e2b3d49d5 Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Thu Jun 23 14:26:11 2011 +0200 usb: gadget: defer setting maxpacket till ->setup() Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: Makefile: Make dwc3 driver compile in u-bootKishon Vijay Abraham I2015-04-143-33/+6
| | | | | | | | | | | | | | | | Now that the entire dwc3 driver is adapted to compile with uboot build, modify the Makefiles so that the dwc3 driver can be built. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: Add chained TRB support for ep0Kishon Vijay Abraham I2015-04-142-19/+55
| | | | | | | | | | | | | | | | | | dwc3 can do only max packet aligned transfers. So in case request length is not max packet aligned and is bigger than DWC3_EP0_BOUNCE_SIZE two chained TRBs is required to handle the transfer. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: ep0: preparation for implementing chained TRBKishon Vijay Abraham I2015-04-141-8/+12
| | | | | | | | | | | | | | | | No functional change. Modified few things so that there are no code duplication while implementing chained TRB. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | dwc3: flush the buffers before using itKishon Vijay Abraham I2015-04-144-3/+27
| | | | | | | | | | | | | | | | In the linux kernel, non cacheable buffers are used. However in uboot since there are no APIs to allocate non cacheable memory, all the buffers should be flushed before using it. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
* | usb: dwc3: TI PHY: PHY driver for dwc3 in TI platformsKishon Vijay Abraham I2015-04-142-0/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a single driver for both USB2 PHY programming and USB3 PHY programming. USB3 PHY is taken from drivers/phy/phy-ti-pipe3.c in linux kernel. commit 56042e : phy: ti-pipe3: Fix suspend/resume and module reload. USB2 PHY is taken from drivers/phy/phy-omap-usb2.c in linux kernel. commit eb82a3 : phy: omap-usb2: Balance pm_runtime_enable() on probe failure and remove. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: dwc3-omap: add interrupt status API to check for interruptsKishon Vijay Abraham I2015-04-142-0/+21
| | | | | | | | | | | | | | | | Added an API to check for interrupt status. This API is generally called from board file to check for interrupt status. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | dwc3: dwc3-omap: add support for multiple dwc3-omap controllersKishon Vijay Abraham I2015-04-142-7/+22
| | | | | | | | | | | | | | | | Added support for multiple dwc3 omap controllers. This gives uboot the capability to control multiple dwc3 omap controllers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit codeKishon Vijay Abraham I2015-04-142-89/+42
| | | | | | | | | | | | | | | | | | | | | | Removed probe and remove that are specific to linux and replaced it with uboot init and uboot exit. These functions will be invoked from boardfile. This will change once we have dwc3-omap driver adapted to use the uboot driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: dwc3-omap-uboot: add a structure for populating dwc3-omap platform dataKishon Vijay Abraham I2015-04-142-7/+27
| | | | | | | | | | | | | | | | | | | | Added a structure to populate dwc3 omap platform data. The board file should populate these platform data before invoking dwc3 omap driver. This will be removed once dwc3-omap driver is adapted to use the driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: dwc3-omap: make dwc3-omap build in ubootKishon Vijay Abraham I2015-04-142-136/+27
| | | | | | | | | | | | | | | | | | | | | | *) Changed the included header files to that used in u-boot. *) Removed extcon_* APIs *) Removed regulator_* APIs *) Fixed other misc warnings *) Added dwc3-omap.h to include the definitions of UTMI modes. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | dwc3: core: added an API to invoke irq handlersKishon Vijay Abraham I2015-04-142-0/+22
| | | | | | | | | | | | | | | | | | Since interrupt support is not present in u-boot, added an API to handle the interrupts in dwc3 core. This API can be polled to handle the interrupts. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | dwc3: core: add support for multiple dwc3 controllersKishon Vijay Abraham I2015-04-143-9/+30
| | | | | | | | | | | | | | | | Added support for multiple dwc3 controllers. This gives uboot the capability to control multiple dwc3 controllers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | dwc3: core: change probe and remove to uboot init and uboot exit codeKishon Vijay Abraham I2015-04-141-166/+52
| | | | | | | | | | | | | | | | Removed probe and remove that are specific to linux and replaced it with uboot init and uboot exit. These functions will be invoked from boardfile. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: dwc3-uboot: add a structure for populating platform dataKishon Vijay Abraham I2015-04-141-0/+40
| | | | | | | | | | | | | | | | | | Added a structure to populate dwc3 core platform data. The board file should populate these platform data before invoking dwc3 driver. This will be removed once we have dwc3 driver adapted to use the driver model. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: core: make dwc3 core build in ubootKishon Vijay Abraham I2015-04-143-196/+40
| | | | | | | | | | | | | | | | | | | | | | *) Changed the include header files to that used in u-boot. *) Removed phy_* APIs *) Removed jiffies and used a simple while loop *) Used dma_alloc_coherent and dma_free_coherent APIs of u-boot *) Fixed other misc warnings Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation ↵Kishon Vijay Abraham I2015-04-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | error Added USB_GADGET_DELAYED_STATUS to avoid the following compilation error. error: ‘USB_GADGET_DELAYED_STATUS’ undeclared (first use in this function) while compiling dwc3/ep0.c While this is been added only to avoid compilation error, the complete fix should be something like the one added in linux kernel. The complete fix will be ported once we have the composite driver in u-boot look similar to the one in linux kernel. commit 1b9ba000177ee47bcc5b44c7c34e48e735f5f9b1 Author: Roger Quadros <roger.quadros@nokia.com> Date: Mon May 9 13:08:06 2011 +0300 usb: gadget: composite: Allow function drivers to pause control transfers Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: ep0: make dwc3 ep0 build in ubootKishon Vijay Abraham I2015-04-143-12/+27
| | | | | | | | | | | | | | | | | | *) Changed the included header files to that used in u-boot. *) added dwc3_ep_event_string() used in ep0.c *) Fixed other misc warnings Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | include: asm: types: add resource_size_t typeKishon Vijay Abraham I2015-04-141-0/+1
| | | | | | | | | | | | | | | | | | Added resource_size_t type in order to get rid of the following compilation error whiel building dwc3 gadget. include/linux/ioport.h:19:2: error: unknown type name ‘resource_size_t’ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: gadget: make dwc3 gadget build in ubootKishon Vijay Abraham I2015-04-145-163/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | Did a bunch of things to get dwc3/gadget.c compile in u-boot without build errors and warnings *) Changed the included header files to that used in u-boot. *) Used dma_alloc_coherent and dma_free_coherent APIs of u-boot *) removed sg support *) remove jiffies and used a simple while loop *) removed irq support and added a function to call these interrupt handler. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiyKishon Vijay Abraham I2015-04-141-0/+30
| | | | | | | | | | | | | | | | | | Added a header file to include various linux specific APIs like pr_debug, WARN_ WARN_ON_ONCE etc.. in order to avoid compilation error while building dwc3 driver. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | arm: asm: dma-mapping: added dma_free_coherent APIKishon Vijay Abraham I2015-04-141-0/+7
| | | | | | | | | | | | | | | | | | Added dma_free_coherent corresponding to the dma_alloc_coherent in dma-mapping.h in order to free memory allocated using dma_alloc_coherent. This API is used in dwc3 driver. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: remove pm related operations from dwc3 driverKishon Vijay Abraham I2015-04-144-223/+5
| | | | | | | | | | | | | | | | Removed all pm related operations including pm_runtime APIs, suspend/resume hooks as support for these are not present in u-boot. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: fix dwc3 header filesKishon Vijay Abraham I2015-04-143-14/+23
| | | | | | | | | | | | | | | | | | Changed the header files included in core.h and io.h to the u-boot header files so that these files can be included in other dwc3 source files and be compiled in uboot. Also added otg.h which has the defines for dr_mode. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: remove trace_* APIs from dwc3 driverKishon Vijay Abraham I2015-04-144-80/+29
| | | | | | | | | | | | | | | | Removed most of the trace_* APIs from dwc3 driver since tracepoints are not supported in u-boot. Replaced some of the trace_* API with dev_dbg/dev/vdbg. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Review-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: Modify the file headers to u-boot formatKishon Vijay Abraham I2015-04-147-58/+45
| | | | | | | | | | | | | | | | | | Modified the file header to the format that is used in u-boot. Also included in the header, the commit in linux kernel from which each of these files are added. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: remove un-used files from dwc3 folderKishon Vijay Abraham I2015-04-1413-2741/+0
| | | | | | | | | | | | | | | | removed un-used/un-supported files from dwc3. These files can be added later as and when the support is added. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
* | usb: dwc3: add dwc3 folder from linux kernel to u-bootKishon Vijay Abraham I2015-04-1421-0/+9679
| | | | | | | | | | | | | | | | | | Added dwc3 folder from linux kernel 3.19-rc1 (97bf6af1f9) to u-boot. This will be adapted to work with u-boot in the following patches. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
OpenPOWER on IntegriCloud