Re: [PATCH v3] EHCI bus glue for on-chip PMC MSP USB controller.
From: Anoop P A <hidden>
Date: 2011-02-09 15:25:08
Also in:
lkml
On Wed, 2011-02-09 at 16:10 +0100, Matthieu CASTET wrote:
Anoop P.A a écrit :quoted
config XPS_USB_HCD_XILINXdiff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 6fee3cd..a591890 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c@@ -262,6 +262,8 @@ static void tdi_reset (struct ehci_hcd *ehci) if (ehci_big_endian_mmio(ehci)) tmp |= USBMODE_BE; ehci_writel(ehci, tmp, reg_ptr); + if (ehci->pmc_msp_tdi) + usb_hcd_tdi_set_mode(ehci); }This is ugly to add callback to your driver here. How this will build on other platform, usb_hcd_tdi_set_mode is only defined on ehci-pmcmsp.c
I got that will remove it from patch and resend.the patch got carried from an older kernel :( . Thanks
quoted
+void usb_hcd_tdi_set_mode(struct ehci_hcd *ehci) +{ + u8 *base; + u8 *statreg; + u8 *fiforeg; + u32 val; + struct ehci_regs *reg_base = ehci->regs; + + /* get register base */ + base = (u8 *)reg_base + USB_EHCI_REG_USB_MODE; + statreg = (u8 *)reg_base + USB_EHCI_REG_USB_STATUS; + fiforeg = (u8 *)reg_base + USB_EHCI_REG_USB_FIFO; + + /* set the controller to host mode and BIG ENDIAN */ + ehci_writel(ehci, (USB_CTRL_MODE_HOST | USB_CTRL_MODE_BIG_ENDIAN + | USB_CTRL_MODE_STREAM_DISABLE), (u32 *)base); +We have done that in tdi_reset, why do you do it again ? Matthieu