Lines Matching refs:ehci

28 #include "ehci.h"
29 #include "ehci-fsl.h"
32 #define DRV_NAME "fsl-ehci"
147 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
150 dev_dbg(&pdev->dev, "hcd=0x%p ehci=0x%p, phy=0x%p\n",
151 hcd, ehci, hcd->usb_phy);
155 &ehci_to_hcd(ehci)->self);
196 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
206 portsc = ehci_readl(ehci, &ehci->regs->port_status[port_offset]);
283 ehci_writel(ehci, portsc, &ehci->regs->port_status[port_offset]);
295 static int ehci_fsl_usb_setup(struct ehci_hcd *ehci)
297 struct usb_hcd *hcd = ehci_to_hcd(ehci);
320 ehci->has_fsl_hs_errata = 1;
323 ehci->has_fsl_susp_errata = 1;
334 ehci->has_fsl_port_bug = 1;
360 static int ehci_fsl_reinit(struct ehci_hcd *ehci)
362 if (ehci_fsl_usb_setup(ehci))
371 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
378 ehci->big_endian_desc = pdata->big_endian_desc;
379 ehci->big_endian_mmio = pdata->big_endian_mmio;
382 ehci->caps = hcd->regs + 0x100;
390 ehci->need_oc_pp_cycle = 1;
405 ehci_writel(ehci, SBUSCFG_INCR8,
409 retval = ehci_fsl_reinit(ehci);
414 struct ehci_hcd ehci;
428 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
433 u32 mode = ehci_readl(ehci, hcd->regs + FSL_SOC_USB_USBMODE);
435 tmp = ehci_readl(ehci, hcd->regs + 0x140); /* usbcmd */
455 ehci->rh_state = EHCI_RH_SUSPENDED;
462 tmp = ehci_readl(ehci, &ehci->regs->command);
464 ehci_writel(ehci, tmp, &ehci->regs->command);
467 pdata->pm_command = ehci_readl(ehci, &ehci->regs->command);
469 pdata->pm_status = ehci_readl(ehci, &ehci->regs->status);
470 pdata->pm_intr_enable = ehci_readl(ehci, &ehci->regs->intr_enable);
471 pdata->pm_frame_index = ehci_readl(ehci, &ehci->regs->frame_index);
472 pdata->pm_segment = ehci_readl(ehci, &ehci->regs->segment);
473 pdata->pm_frame_list = ehci_readl(ehci, &ehci->regs->frame_list);
474 pdata->pm_async_next = ehci_readl(ehci, &ehci->regs->async_next);
476 ehci_readl(ehci, &ehci->regs->configured_flag);
477 pdata->pm_portsc = ehci_readl(ehci, &ehci->regs->port_status[0]);
478 pdata->pm_usbgenctrl = ehci_readl(ehci,
482 pdata->pm_portsc &= cpu_to_hc32(ehci, ~PORT_RWC_BITS);
487 tmp = ehci_readl(ehci, &ehci->regs->port_status[0]);
489 ehci_writel(ehci, tmp, &ehci->regs->port_status[0]);
497 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
525 ehci_writel(ehci, tmp, hcd->regs + FSL_SOC_USB_USBMODE);
527 ehci_writel(ehci, pdata->pm_usbgenctrl,
529 ehci_writel(ehci, ISIPHYCTRL_PXE | ISIPHYCTRL_PHYE,
532 ehci_writel(ehci, SBUSCFG_INCR8, hcd->regs + FSL_SOC_USB_SBUSCFG);
535 ehci_writel(ehci, pdata->pm_command, &ehci->regs->command);
536 ehci_writel(ehci, pdata->pm_intr_enable, &ehci->regs->intr_enable);
537 ehci_writel(ehci, pdata->pm_frame_index, &ehci->regs->frame_index);
538 ehci_writel(ehci, pdata->pm_segment, &ehci->regs->segment);
539 ehci_writel(ehci, pdata->pm_frame_list, &ehci->regs->frame_list);
540 ehci_writel(ehci, pdata->pm_async_next, &ehci->regs->async_next);
541 ehci_writel(ehci, pdata->pm_configured_flag,
542 &ehci->regs->configured_flag);
543 ehci_writel(ehci, pdata->pm_portsc, &ehci->regs->port_status[0]);
546 ehci->rh_state = EHCI_RH_RUNNING;
549 tmp = ehci_readl(ehci, &ehci->regs->command);
551 ehci_writel(ehci, tmp, &ehci->regs->command);
571 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
573 return container_of(ehci, struct ehci_fsl, ehci);
600 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
608 ehci_prepare_ports_for_controller_resume(ehci);
617 ehci_reset(ehci);
618 ehci_fsl_reinit(ehci);
645 struct ehci_hcd *ehci = hcd_to_ehci(hcd);
654 status = readl(&ehci->regs->port_status[port]);
659 if (ehci_is_TDI(ehci)) {
662 &ehci->regs->port_status[port]);
664 writel(PORT_RESET, &ehci->regs->port_status[port]);