]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
xhci: tegra: Power down HSIC tracking circuit
authorJoy Wang <joyw@nvidia.com>
Tue, 3 Dec 2013 09:38:25 +0000 (17:38 +0800)
committerBharat Nihalani <bnihalani@nvidia.com>
Thu, 2 Jan 2014 05:02:40 +0000 (21:02 -0800)
Update HSIC pad tracking circuit programming sequence.
Bring HSIC pad tracking circuit out of power-down mode
and wait for 25 usec. This allow calibration complete.
Then power down again by setting PD_TRX to 1.

Bug 1417885

Change-Id: I9e55c3d59b5674c562ca3d270511ce7f718ce9b3
Signed-off-by: Joy Wang <joyw@nvidia.com>
Reviewed-on: http://git-master/r/337742
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
drivers/usb/host/xhci-tegra.c

index 11a964ce781085b31f056250b76abbb2ad143433..77f295b3760c89c79a76cf32bcae438f5965f6f8 100644 (file)
@@ -1252,6 +1252,14 @@ static int hsic_pad_enable(struct tegra_xhci_hcd *tegra, unsigned pad)
        reg &= ~(PD_RX | HSIC_PD_ZI | PD_TRX | PD_TX);
        writel(reg, base + HSIC_PAD_CTL_1(pad));
 
+       /* Wait for 25 us */
+       usleep_range(25, 50);
+
+       /* Power down tracking circuit */
+       reg = readl(base + HSIC_PAD_CTL_1(pad));
+       reg |= PD_TRX;
+       writel(reg, base + HSIC_PAD_CTL_1(pad));
+
        reg = readl(base + HSIC_STRB_TRIM_CONTROL);
        reg &= ~(STRB_TRIM_VAL(~0));
        reg |= STRB_TRIM_VAL(hsic->strb_trim_val);