Lines Matching defs:ehci
3 * Generic platform ehci driver
39 #include "ehci.h"
57 static const char hcd_name[] = "ehci-platform";
63 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
66 ehci->has_synopsys_hc_bug = pdata->has_synopsys_hc_bug;
74 ehci->caps = hcd->regs + pdata->caps_offset;
80 ehci->need_io_watchdog = 0;
82 if (of_device_is_compatible(pdev->dev.of_node, "brcm,xgs-iproc-ehci"))
83 ehci_writel(ehci, BCM_USB_FIFO_THRESHOLD,
84 &ehci->regs->bcm_iproc_insnreg01);
136 * @ehci: the ehci hcd pointer
145 static bool quirk_poll_check_port_status(struct ehci_hcd *ehci)
147 u32 port_status = ehci_readl(ehci, &ehci->regs->port_status[0]);
160 * @ehci: the ehci hcd pointer
167 static void quirk_poll_rebind_companion(struct ehci_hcd *ehci)
170 struct usb_hcd *hcd = ehci_to_hcd(ehci);
178 ehci_err(ehci, "%s: failed\n", __func__);
188 struct ehci_hcd *ehci = container_of((void *)priv, struct ehci_hcd,
192 if (!quirk_poll_check_port_status(ehci))
195 if (!quirk_poll_check_port_status(ehci))
198 ehci_dbg(ehci, "%s: detected getting stuck. rebind now!\n", __func__);
199 quirk_poll_rebind_companion(ehci);
205 struct ehci_hcd *ehci = container_of((void *)priv, struct ehci_hcd,
208 if (quirk_poll_check_port_status(ehci)) {
245 struct ehci_hcd *ehci;
277 ehci = hcd_to_ehci(hcd);
281 ehci->big_endian_mmio = 1;
284 ehci->big_endian_desc = 1;
287 ehci->big_endian_mmio = ehci->big_endian_desc = 1;
298 "aspeed,ast2500-ehci") ||
300 "aspeed,ast2600-ehci"))
301 ehci->is_aspeed = 1;
329 ehci->big_endian_desc = 1;
331 ehci->big_endian_mmio = 1;
338 if (ehci->big_endian_mmio) {
346 if (ehci->big_endian_desc) {
482 { .compatible = "via,vt8500-ehci", },
483 { .compatible = "wm,prizm-ehci", },
484 { .compatible = "generic-ehci", },
485 { .compatible = "cavium,octeon-6335-ehci", },
499 { "ehci-platform", 0 },
513 .name = "ehci-platform",