Thread (22 messages) 22 messages, 7 authors, 2011-02-24

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_XILINX
diff --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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help