usb: xhci: tegra: disable regulators in lp0 path
authorAjay Gupta <ajayg@nvidia.com>
Fri, 1 Mar 2013 19:40:56 +0000 (11:40 -0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:01:23 +0000 (13:01 -0700)
commite5094ac53fa63f84f774e326582e49d5d800955b
treea7812d553b5f26c777a6a2ce4f2eaccaf4d2ced9
parentafc04e092ac7fa842dcca7f10ad84cbe99c67f3a
usb: xhci: tegra: disable regulators in lp0 path

We should be disabling all xusb regulators except vbus to
save power. Vbus regualtor is needed for xusb LP0 wakeup
capability.

Also changes the sequence of regualtor enable and disable
as listed below. The older sequence is causing kernel
panic during LP0 exit path.

Enable sequence:
regulator_enable(tegra->xusb_vddio_hsic_reg);
regulator_enable(tegra->xusb_hvdd_usb3_reg);
regulator_enable(tegra->xusb_vbus_reg);
regulator_enable(tegra->xusb_avddio_usb3_reg);
regulator_enable(tegra->xusb_avdd_usb3_pll_reg);

Disable sequence:
regulator_disable(tegra->xusb_avdd_usb3_pll_reg);
regulator_disable(tegra->xusb_avddio_usb3_reg);
regulator_disable(tegra->xusb_vbus_reg);
regulator_disable(tegra->xusb_hvdd_usb3_reg);
regulator_disable(tegra->xusb_vddio_hsic_reg);

Bug 1245553

Change-Id: I39b2c5437f39306965e49d7247347a0e91241f0f
Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Reviewed-on: http://git-master/r/205735
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
drivers/usb/host/xhci-tegra.c