diff options
author | Nathan Connell <w14185@motorola.com> | 2011-01-12 14:32:24 -0600 |
---|---|---|
committer | Benoit Goby <benoit@android.com> | 2011-01-25 17:33:24 -0800 |
commit | 769922c5aa726ddb100548f4df6cbe0c40503666 (patch) | |
tree | ab8a0837c63caa1efa6a7bfa84ae7f045560d682 | |
parent | 41fec00c4b01ac43b19bba39422c85d00487a98b (diff) |
ARM: tegra: usb_phy: Configure USB1 PHY to use programmed value
instead of fused value. This is required
to meet High Speed USB signaling requirements.
Change-Id: I659b33faa950605ecf040598112e1972047ae7ad
Signed-off-by: Nathan Connell <w14185@motorola.com>
-rw-r--r-- | arch/arm/mach-tegra/usb_phy.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c index 13e502cd0490..7242dda542c2 100644 --- a/arch/arm/mach-tegra/usb_phy.c +++ b/arch/arm/mach-tegra/usb_phy.c @@ -136,7 +136,7 @@ #define UTMIP_PD_CHRG (1 << 0) #define UTMIP_SPARE_CFG0 0x834 -#define FUSE_SETUP_SEL (1 << 3); +#define FUSE_SETUP_SEL (1 << 3) #define UTMIP_XCVR_CFG1 0x838 #define UTMIP_FORCE_PDDISC_POWERDOWN (1 << 0) @@ -420,6 +420,15 @@ static void utmi_phy_power_on(struct tegra_usb_phy *phy) val |= UTMIP_BIAS_PDTRK_COUNT(0x5); writel(val, base + UTMIP_BIAS_CFG1); + if (phy->instance == 0) { + val = readl(base + UTMIP_SPARE_CFG0); + if (phy->mode == TEGRA_USB_PHY_MODE_DEVICE) + val &= ~FUSE_SETUP_SEL; + else + val |= FUSE_SETUP_SEL; + writel(val, base + UTMIP_SPARE_CFG0); + } + if (phy->instance == 2) { val = readl(base + USB_SUSP_CTRL); val |= UTMIP_PHY_ENABLE; |