summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-tegra.c
AgeCommit message (Collapse)Author
2011-03-02tegra: usb: ehci: Handling for hsic phy rx errortegra-11.2.1Seshendra Gadagottu
Increased timeout values to maximum safe values BUG 791857 Change-Id: Ib3aa2a495391b8cf1e3795759bfe3bb78598839d Reviewed-on: http://git-master/r/21234 Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Shail Dave <sdave@nvidia.com>
2011-03-01tegra: usb: ehci: Error handling for hsic phy rx errorSeshendra Gadagottu
Implementation of recover function for hsic phy rx error. BUG 791857 Change-Id: Iedd16caf8ce61a9fa280ae3f62d4f1475318ee72 Reviewed-on: http://git-master/r/21225 Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-02-22tegra: usb: ehci: Enabling interrupts during resumeSeshendra Gadagottu
Fixing the hsic resuem issue by enabling the interrupts on ehci-restart. BUG 790888 Change-Id: Ibdd6e844c2f80d2f3ba0a17266717fea949cc383 Reviewed-on: http://git-master/r/20063 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-14merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/usb/host/ehci-tegra.c include/linux/usb.h include/linux/usb/hcd.h Change-Id: I2499459b717e36a2a994af9d7a5ae1ecb5e7ca9c
2011-02-10tegra hsic: Adding USB hsic driver support to K36Seshendra Gadagottu
Adding hsic funtionality to USB2 instance. Add the changes required for hsic functionality and power management. BUG 756184 Change-Id: Ife8a1fc6ea95b15f66d840b1565d858ee25d5ded Reviewed-on: http://git-master/r/15192 Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Michael Hsu <mhsu@nvidia.com> Tested-by: Michael Hsu <mhsu@nvidia.com> Reviewed-by: Shail Dave <sdave@nvidia.com>
2011-02-08USB: ehci: tegra: Align DMA transfers to 32 bytesRobert Morell
The Tegra2 USB controller doesn't properly deal with misaligned DMA buffers, causing corruption. This is especially prevalent with USB network adapters, where skbuff alignment is often in the middle of a 4-byte dword. To avoid this, allocate a temporary buffer for the DMA if the provided buffer isn't sufficiently aligned. Signed-off-by: Robert Morell <rmorell@nvidia.com>
2011-02-04merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: arch/arm/mach-tegra/include/mach/dc.h drivers/video/tegra/dc/hdmi.c drivers/video/tegra/host/nvhost_acm.c Change-Id: Iddf74984cc02f08dca3738967c0580ba7c375337
2011-01-28merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: arch/arm/mach-tegra/tegra2_dvfs.c Change-Id: I3853d668107c191c94f731256a8d0b63149e8279
2011-01-27usb: host: tegra: Fix SetPortFeature PORT_SUSPENDBenoit Goby
This fixes a regression where hubs cannot detect new devices once they have been auto-suspended. Change-Id: I4b3efcaa9634b9a912060e438527000bbc83dc32 Signed-off-by: Benoit Goby <benoit@android.com> Reviewed-on: http://git-master/r/16710 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-27usb: host: tegra: Fix resuming low speed devices from lp0Benoit Goby
Change-Id: I9576853bbe0fae52c5c2cfab26ce8f2017077d4e Signed-off-by: Benoit Goby <benoit@android.com> Reviewed-on: http://git-master/r/16709 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-25usb: host: tegra: Request 400MHz emc clockBenoit Goby
while USB is active to eliminate all USB buffer underruns. Change-Id: I9977224601e715e950284708958be98d37b3e6b1 Signed-off-by: Nathan Connell <w14185@motorola.com>
2011-01-20usb: host: tegra: Enable emc clock while usb is resumedBenoit Goby
Change-Id: I03a102f40134686fabbd5cfa1830816a691cf876 Signed-off-by: Benoit Goby <benoit@android.com>
2011-01-18usb: host: tegra: Fix SetPortFeature PORT_SUSPENDBenoit Goby
This fixes a regression where hubs cannot detect new devices once they have been auto-suspended. Change-Id: I4b3efcaa9634b9a912060e438527000bbc83dc32 Signed-off-by: Benoit Goby <benoit@android.com>
2011-01-18usb: host: tegra: Fix resuming low speed devices from lp0Benoit Goby
Change-Id: I9576853bbe0fae52c5c2cfab26ce8f2017077d4e Signed-off-by: Benoit Goby <benoit@android.com>
2011-01-10merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: arch/arm/mach-tegra/fuse.c drivers/misc/Makefile Change-Id: I300b925d78b31efe00c342190d8dbd50e2e81230
2011-01-09usb: ehci: tegra: continues driving FS-J during resumeJay Cheng
To prevent USB glitch. Also only program PTC bits when resume from LP0 Change-Id: Iced668e33f986828d3a483b411055948b5b257e1 Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2011-01-09usb: ehci: tegra: remove reschedule rh_timerJay Cheng
Reschedule rh_timer may cause usb device resume fail, as rh_timer may be timeout and send USB_REQ_GET_STATUS SETUP control transfer by the time when the device is handling clear suspend feature, which in turn the device may drop clear suspend feature request. Actually on port resume case, the host driver don't need to reschedule rh_timer to check port status. The host driver will check port status right after suspend feature is cleared. Change-Id: I6205e97af49ed4349b6215b851f6b5f1394258d8 Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2011-01-06usb: host: tegra: Fix enumeration after lp0Benoit Goby
Fix enumeration when a device is plugged while the host is in lp0 state. Change-Id: Idb491f347172daac8a5603ed098b422b15cc534e Signed-off-by: Benoit Goby <benoit@android.com>
2011-01-04usb: host: tegra: Fix a possible int storm on resume from lp0Benoit Goby
usbcore will reenable usb interrupts later once the bus has been resumed. Change-Id: If78088bc86710f50293d84234d764655f4bba979 Signed-off-by: Benoit Goby <benoit@android.com>
2011-01-03merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I0c8b3e31cf0e02661c69afce7795c163e103aac6
2010-12-28usb: ehci: tegra: Don't change the hcd state on restartBenoit Goby
usbcore will change it once the bus has been resumed. This fixes the "hub 3-0:1.0: activate --> -22" error on resume. Change-Id: Icff283a60634b4d003e77aafb5a5127d415cbd3f Signed-off-by: Benoit Goby <benoit@android.com>
2010-12-17USB: ehci: tegra: Align DMA transfers to 32 bytesRobert Morell
The Tegra2 USB controller doesn't properly deal with misaligned DMA buffers, causing corruption. This is especially prevalent with USB network adapters, where skbuff alignment is often in the middle of a 4-byte dword. To avoid this, allocate a temporary buffer for the DMA if the provided buffer isn't sufficiently aligned. Change-Id: Ica56c52c3b2152e3ba2b96506cf15105462a0602 Signed-off-by: Robert Morell <rmorell@nvidia.com> Reviewed-on: http://git-master/r/13382 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
2010-12-15merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I84ac6254ede2e88e8141e6ffd630eb753d9b1d91
2010-12-10merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I1312ec33ba8bac38dc395d7d1a2f485b13d74c14
2010-12-09usb: host: tegra: Remove clear PORT_RESUME to clear PORT_SUSPENDJay Cheng
PORT_SUSPEND bit will be cleared by the host controller when PORT_RESUME change to 0. Change-Id: I94a72f51be1cebee414f11ace89a7e8b3249278d Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-12-03Revert "usb: host: tegra: Remove programing PTC bits based on bus speed."Benoit Goby
This reverts commit 91e80b79243c1b6341c1a8d6e8e5e872b837bfea. This is needed to resume usb from lp0
2010-12-03merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I7299b3bed83fbf41f5666724e328980cfcda1186
2010-11-29usb: host: tegra: Reduce busy polling durationJay Cheng
Change-Id: I63e271409818e33b4c19bb99b00e556bc5a2a4b3 Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-26merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: Id26b47f3db282d85af7b88234c3b0bd336a0af48
2010-11-24usb: host: tegra: protect bus suspend with CONFIG_PMAllen Martin
Protect the bus suspend/resume functions behind #ifdef CONFIG_PM. This prevents a compile error if CONFIG_PM is turned off. Signed-off-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Colin Cross <ccross@android.com>
2010-11-23merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: Ibd208fc6b803bbf729d1f554839ebaee8c8461ce
2010-11-22usb: host: tegra: rewrite usb suspend/resume routine.Jay Cheng
Tegra host controller will time the resume operation to clear the bit when the port control state switches to HS or FS Idle. This behavior is different from EHCI where the host controller driver is required to set this bit to a zero after the resume duration is timed in the driver. Poll PORT_SUSPEND bit till the suspend is completed. Write PORT_RESUME to 0 to clear PORT_SUSPEND bit. Disable disconnect detection during resume. Change-Id: I30a45dc7e7a87773a93c128877d0f0827e5d44b7 Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-18Merge branch android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: Ib01f171e7159768fc5ed3509b5a3e0b987dc57ef
2010-11-15usb: host: tegra: Remove programing PTC bits based on bus speed.Jay Cheng
Program PTC bits as NORMAL_OP is enough when resume. Change-Id: I229eb3ef2ebaff72d023179502ec7a8904e87682 Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-12tegra: otg: enable OTG supportSuresh Mangipudi
enabling OTG support for ventana on USB1. Bug 724111 Change-Id: I5ccc438a982030028ef6ffd466cd313506adf890 Reviewed-on: http://git-master/r/10492 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2010-10-18usb: host: ehci-tegra: Don't power down the phy on shutdownBenoit Goby
There is no need to poweroff the phy and disable the clocks on shutdown. This interferes with autopm that may try to disable the clocks after shutdown. Change-Id: I3aee19abe6dd11685b3be348e25fc3e195a2a416 Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: Add power_off_on_bus_suspend optionBenoit Goby
If the device connected to a port has out-of-band wakeup signaling, the phy and controller may be powered off on bus suspend. Change-Id: Ia206f05d01160411b97aefa83045cd759d35b66d Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: OTG driver now adds/removes the ehci device based on ID pin statusBenoit Goby
There is no need anymore to check the OTG state on every interrupts and use a work thread. Moved the suspend code from usb_phy.c as this is ehci specific. Change-Id: I523baab1476323a35360b1d802088370e42d0fd7 Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: Add support for suspend and bus suspendBenoit Goby
On suspend, use phy_suspend save the phy registers so that there is no need to reset the controller and re-enumerate devices on resume. Change-Id: I00fe5b87a1b319044724494b8e635b540088a38b Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: Fix kernel warning on probeBenoit Goby
Change-Id: I6d5b10e047807f9bcb36809672705f8a8b2d11a4 Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: Fix tegra EHCI suspend in OTG modeBenoit Goby
Change-Id: Ia46830dfbb8bc39de1280b00ce30efe6022f6bd3 Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06[ARM] tegra: Add USB PHY configurationBenoit Goby
Configure board dependant phy settings from the board file. Change-Id: I29f6ffe0b84a2a6eb55bade1379002f561d92d17 Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06[ARM] tegra: Setup USB PHY as recommended by NVIDIABenoit Goby
This fixes enumeration issues with some devices Change-Id: I6283a6fb49a9e4505ad388cacdd88ecf1bdf1b9d Signed-off-by: Benoit Goby <benoit@android.com>
2010-10-06usb: host: Add EHCI driver for NVIDIA Tegra SoCsBenoit Goby
Change-Id: I53c560f2c31e043f139b840f58786429ded6ec62 Signed-off-by: Benoit Goby <benoit@android.com>