summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Yushchenko <nyushchenko@dev.rtsoft.ru>2014-04-28 19:23:44 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-06-07 10:28:15 -0700
commit6cb00d58ad0724088646dc1fec20de4e7bbaaf72 (patch)
tree067f6a2dd43c7956fc96e979b593ac2cb816b785
parentedbfad5ceee721db176f03fb56070ff651b7f2e6 (diff)
downloadlwn-6cb00d58ad0724088646dc1fec20de4e7bbaaf72.tar.gz
lwn-6cb00d58ad0724088646dc1fec20de4e7bbaaf72.zip
fsl-usb: do not test for PHY_CLK_VALID bit on controller version 1.6
commit d183c81929beeba842b74422f754446ef2b8b49c upstream. Per reference manuals of Freescale P1020 and P2020 SoCs, USB controller present in these SoCs has bit 17 of USBx_CONTROL register marked as Reserved - there is no PHY_CLK_VALID bit there. Testing for this bit in ehci_fsl_setup_phy() behaves differently on two P1020RDB boards available here - on one board test passes and fsl-usb init succeeds, but on other board test fails, causing fsl-usb init to fail. This patch changes ehci_fsl_setup_phy() not to test PHY_CLK_VALID on controller version 1.6 that (per manual) does not have this bit. Signed-off-by: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/host/ehci-fsl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 6f2c8d3899d2..cf2734b532a7 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -248,7 +248,8 @@ static int ehci_fsl_setup_phy(struct usb_hcd *hcd,
break;
}
- if (pdata->have_sysif_regs && pdata->controller_ver &&
+ if (pdata->have_sysif_regs &&
+ pdata->controller_ver > FSL_USB_VER_1_6 &&
(phy_mode == FSL_USB2_PHY_ULPI)) {
/* check PHY_CLK_VALID to get phy clk valid */
if (!(spin_event_timeout(in_be32(non_ehci + FSL_SOC_USB_CTRL) &