summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-tegra.c
AgeCommit message (Collapse)Author
2010-03-21tegra usb: Switching of USB busy hints, when no active USB tranferstegra-9.12.8sgadagottu
are happening though a device connection on host port. Currently for harmony, an intergrated SMSC hub present on USB3. Because of this device connection is present on USB3 and USB power busy hints are always on. To avoid this, for host by default busy hints are off and USB busy hints will be on for : 1.Bulk and isochronus transfers 2.Interrupts transfers with buffer length >= 256. Busy hint will be on for pre-defined amount of time and after that busy hints will be off automatically. With this in idle state power is reduced. Tested on : Harmony Enumeartion is happening fine. LAN and USB HID devices are working fine Change-Id: Ifd653bebfb52c7702f7d24bf11ccf93e62ea0f66 Reviewed-on: http://git-master/r/915 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-05tegra: EHCI bus suspend/resume requires CONFIG_PMScott Williams
If CONFIG_PM is not selected, don't compile EHCI bus suspend/resume. Change-Id: Ia89612fa3d82dc671accc597e4d1ca05f56eaa5c Reviewed-on: http://git-master/r/783 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-03tegra usb: Making USB busy hints off on resume, when there is no adbsgadagottu
cable/usb device connection Currently on resume from LP1, though there is no adb cable/USB device connected to USB1/USB3 then also usb busy hints are getting on. With this change on resume: For gadget driver, if cable is not connected then busy hints made off. For host driver, if device(s) are not connected then busy hints are off. Code Clean-up for power improvement Tested on : Whistler board USB1 OTG + USB3 host Tested with all possible connection on USB1 and USB3 Change-Id: I6d210bba1264d9c0134d586d3f67ff609ba2b3fe Reviewed-on: http://git-master/r/745 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-03-02tegra usb: Clean up of host initializationRama Kandhala
Usb host initialization code clean up for using native calls instead of Rm APIs. Change-Id: I98af3666f310cf44554f78bcdec47eb860d71f18 Reviewed-on: http://git-master/r/717 Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-02-17tegra usb:Fix suspend/resume failure in OTG mode.Venkat Moganty
In OTG mode during suspend/resume functionalities both device driver and host driver are accessing the USB1 controller registers with out checking the operation mode. Host driver is reading wrong status values from the registers causing the stack dump. This is fixed by checking the OTG state and guarding the hardware to access by only one driver(host or device), which is currently in operation. Bug 651253 : [Whistler] : USB gadget and/or EHCI bus suspend/resume API causes crash 1st after suspend/resume Tested on : Android/whistler with suspend/resume framework enabled. Suspend/resume sequence work fine with OTG enabled.
2010-02-11tegra usbh: whistler suspend/resume failure fixBitan Biswas
With OTG disabled on whistler the suspend/resume code was hanging. The reason is because register reads hang when clocks are disabled. This fix tries to skip the suspend calls when device is already in suspend state. This avoids attempts to read register with clocks disabled. Bug 651253 : [Whistler] : USB gadget and/or EHCI bus suspend/resume API causes crash 1st after suspend/resume Reviewed by: vmoganty Tested on : whistler with suspend/resume framework enabled. Suspend/resume sequence seems to work fine on whistler and harmony with OTG disabled in kernel and odm_query. Change-Id: Iedc096648deab5c3b80350446c4ee67f625df27e
2010-02-03tegra pm: usb host suspend/resume supportBitan Biswas
suspend/resume APIs defined for tegra usb host Bug 635299 Tested on : harmony. suspend/resume calls success. Change-Id: I5dad8bc2cc524de74c2fd3260b014de4764c604c
2010-01-19tegra usb: fix build break when OTG not configuredGary King
commit 98968646e2f ("Adding USB OTG feature") causes the build to break due to dependencies on otg_get_transceiver if OTG isn't enabled for the platform. Change-Id: I97af1bb032297f922932a30fa4ef7e4607133592
2010-01-19TEGRA - Adding USB OTG featureVenkat Moganty
Enabling support for the OTG in NVIDIA Tegra SoCs by providing simple transceiver interface for detecting the Host or Device based on the USBID and VBUS sensors. Bug 629098 USB OTG problem Tested on Whistler with Android USB OTG is tested on whistler USB port1, by setting the USB mode type as "NvOdmUsbModeType_OTG" in the ODM usb property of arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c Tested OTG-HOST by connecting USB keyboard and OTG-device by connecting adb. Change-Id: I860e1f4be5f7c96765c2ce1ca320fdf212164811
2010-01-13tegra usb host: stubbing out ehci_bus suspend/resumeMayuresh Kulkarni
This is needed as ehci_bus_suspend() gets called during bootup which causes the boot process to hang when tegra suspend ops is registered with kernel. Change-Id: Ic6976ee8c04e284d3fb89a8f69cb662f5dbeffa6
2009-12-21ehci: enable clocks on tegra during shutdownGary King
tegra dynamically clocks access to the controller, so if no peripherals are attached the controller clocks will be disabled to conserve power since shutdown accesses the controller registers, the controller must have its clocks enabled, regardless of the presence of peripherals Change-Id: Ia95859fda514001cb8ad58260c3e58b4f470080c
2009-12-16tegra: reduce power of USB phy and USB pllGary King
use VBUS_WAKEUP_EVENT rather than A_SESSION_VALID for cable detection. disable OTG_BIAS circuitry when no cable connected set UTMIP to reset when device is suspended reduces measured idle USB power from 36mW to 3mW
2009-12-09ehci: add EHCI-compliant HCD driver for NVIDIA Tegra SoCsGary King
Change-Id: Ibcbc2a5d8ebe5d346d008019571ab9a659b7479d