USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx
authorSrikanth Srinivasan <srikanth.srinivasan@freescale.com>
Wed, 2 Jul 2008 07:14:33 +0000 (02:14 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Jul 2008 22:16:45 +0000 (15:16 -0700)
A couple of USB register initializations had to be changed on MPC85xx
platforms.  This is due to the internal SoC buses being different on
MPC83xx SoCs vs MPC85xx SoCs.

We currently handle this via an ifdef since 83xx and 85xx are mutually
exclusive kernel builds.

Signed-off-by: Srikanth Srinivasan <srikanth.srinivasan@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-fsl.c

index f710a2d3423a555739aaf7b80a34e930ecadf9b3..01c3da34f678e4a52107f64bca1674bb7e64c807 100644 (file)
@@ -230,8 +230,13 @@ static void mpc83xx_usb_setup(struct usb_hcd *hcd)
 
        /* put controller in host mode. */
        ehci_writel(ehci, 0x00000003, non_ehci + FSL_SOC_USB_USBMODE);
+#ifdef CONFIG_PPC_85xx
+       out_be32(non_ehci + FSL_SOC_USB_PRICTRL, 0x00000008);
+       out_be32(non_ehci + FSL_SOC_USB_AGECNTTHRSH, 0x00000080);
+#else
        out_be32(non_ehci + FSL_SOC_USB_PRICTRL, 0x0000000c);
        out_be32(non_ehci + FSL_SOC_USB_AGECNTTHRSH, 0x00000040);
+#endif
        out_be32(non_ehci + FSL_SOC_USB_SICTRL, 0x00000001);
 }