| 3621b3b8 | 03-Mar-2015 |
Lukasz Majewski <l.majewski@samsung.com> |
usb: dwc3: Correct clean up code for requests
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 t
usb: dwc3: Correct clean up code for requests
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>
show more ...
|
| afa093bf | 03-Mar-2015 |
Lukasz Majewski <l.majewski@samsung.com> |
usb: dwc3: gadget: Set non EP0 max packet limit to 512B
Commit "drivers/dwc3: add a workaround for too small OUT requests" sets max packet for OUT requests when transfer is smaller.
Until this chan
usb: dwc3: gadget: Set non EP0 max packet limit to 512B
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>
show more ...
|
| 29e7fc19 | 03-Mar-2015 |
Lukasz Majewski <l.majewski@samsung.com> |
usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to be LST
It turned out that current dwc3 gadget code is preparing multiple TRBs for a transfer. Unfortunately, when multiple
usb: dwc3: gadget: Set all ctrl fields of Transfer Control Blocks (TRB) to 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>
show more ...
|
| 5dc4538b | 03-Mar-2015 |
Marek Szyprowski <m.szyprowski@samsung.com> |
usb: dwc3: add a workaround for too small OUT requests
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: Mare
usb: dwc3: add a workaround for too small OUT requests
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>
show more ...
|
| 7e9cb796 | 03-Mar-2015 |
Joonyoung Shim <jy0922.shim@samsung.com> |
usb: dwc3: make dwc3_set_mode to static
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 Majewsk
usb: dwc3: make dwc3_set_mode to static
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>
show more ...
|
| 5b9ce0e2 | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: Makefile: Make dwc3 driver compile in u-boot
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
usb: dwc3: Makefile: Make dwc3 driver compile in u-boot
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>
show more ...
|
| 8d488f3e | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: Add chained TRB support for ep0
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
usb: dwc3: Add chained TRB support for ep0
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>
show more ...
|
| 1f78f8fe | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: ep0: preparation for implementing chained TRB
No functional change. Modified few things so that there are no code duplication while implementing chained TRB.
Signed-off-by: Kishon Vijay
usb: dwc3: ep0: preparation for implementing chained TRB
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>
show more ...
|
| 526a50f8 | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
dwc3: flush the buffers before using it
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 flus
dwc3: flush the buffers before using it
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>
show more ...
|
| 6900aeda | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms
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 kerne
usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms
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>
show more ...
|
| 53de33fc | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: dwc3-omap: add interrupt status API to check for interrupts
Added an API to check for interrupt status. This API is generally called from board file to check for interrupt status.
Signed
usb: dwc3: dwc3-omap: add interrupt status API to check for interrupts
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>
show more ...
|
| 57207657 | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
dwc3: dwc3-omap: add support for multiple dwc3-omap controllers
Added support for multiple dwc3 omap controllers. This gives uboot the capability to control multiple dwc3 omap controllers.
Signed-o
dwc3: dwc3-omap: add support for multiple dwc3-omap controllers
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>
show more ...
|
| c241d7ee | 23-Feb-2015 |
Kishon Vijay Abraham I <kishon@ti.com> |
usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code
Removed probe and remove that are specific to linux and replaced it with uboot init and uboot exit. These functions wi
usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code
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>
show more ...
|