You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/coldfire/patches/021-m5445x_usb_premerge.patch

46 lines
1.7 KiB
Diff

From 3d7f85e904cf9dab191eeab9933ecac1e90d06e4 Mon Sep 17 00:00:00 2001
From: Bruce Schmid <duck@freescale.com>
Date: Thu, 29 Nov 2007 16:30:47 -0700
Subject: [PATCH] USB pre-merge
LTIBName: m5445x-usb-premerge
Signed-off-by: Duck <duck@freescale.com>
---
drivers/usb/host/ehci-arc.c | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
--- a/drivers/usb/host/ehci-arc.c
+++ b/drivers/usb/host/ehci-arc.c
@@ -373,14 +373,30 @@ static int ehci_fsl_drv_resume(struct pl
pr_debug("%s pdev=0x%p pdata=0x%p ehci=0x%p hcd=0x%p\n",
__FUNCTION__, pdev, pdata, ehci, hcd);
- pr_debug("%s ehci->regs=0x%p hcd->regs=0x%p",
+ pr_debug("%s ehci->regs=0x%p hcd->regs=0x%p\n",
__FUNCTION__, ehci->regs, hcd->regs);
memcpy(ehci->regs, (void *)&usb_ehci_regs, sizeof(struct ehci_regs));
+
+#if 0 // DDD test
ehci_writel(ehci, usb_ehci_portsc, &ehci->regs->port_status[0]);
+ printk("set portsc %08x %08x\n", usb_ehci_portsc,
+ ehci_readl(ehci, &ehci->regs->port_status[0]));
+ printk("set usbmode %08x\n",
+ ehci_readl(ehci, &ehci->regs + FSL_SOC_USB_USBMODE));
tmp = USBMODE_CM_HOST | (pdata->es ? USBMODE_ES : 0);
ehci_writel(ehci, tmp, hcd->regs + FSL_SOC_USB_USBMODE);
+#else
+ tmp = USBMODE_CM_HOST | (pdata->es ? USBMODE_ES : 0);
+ ehci_writel(ehci, tmp, hcd->regs + FSL_SOC_USB_USBMODE);
+ printk("tmp %08x set usbmode %08x\n", tmp,
+ ehci_readl(ehci, hcd->regs + FSL_SOC_USB_USBMODE));
+
+ ehci_writel(ehci, usb_ehci_portsc, &ehci->regs->port_status[0]);
+ printk("set portsc %08x %08x\n", usb_ehci_portsc,
+ ehci_readl(ehci, &ehci->regs->port_status[0]));
+#endif
set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
hcd->state = HC_STATE_RUNNING;