Lines Matching refs:hcd

50 	struct usb_hcd *hcd;  in fsl_ehci_drv_probe()  local
83 hcd = __usb_create_hcd(&fsl_ehci_hc_driver, pdev->dev.parent, in fsl_ehci_drv_probe()
85 if (!hcd) { in fsl_ehci_drv_probe()
90 hcd->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in fsl_ehci_drv_probe()
91 if (IS_ERR(hcd->regs)) { in fsl_ehci_drv_probe()
92 retval = PTR_ERR(hcd->regs); in fsl_ehci_drv_probe()
96 hcd->rsrc_start = res->start; in fsl_ehci_drv_probe()
97 hcd->rsrc_len = resource_size(res); in fsl_ehci_drv_probe()
99 pdata->regs = hcd->regs; in fsl_ehci_drv_probe()
102 hcd->power_budget = pdata->power_budget; in fsl_ehci_drv_probe()
114 tmp = ioread32be(hcd->regs + FSL_SOC_USB_CTRL); in fsl_ehci_drv_probe()
117 iowrite32be(tmp, hcd->regs + FSL_SOC_USB_CTRL); in fsl_ehci_drv_probe()
123 iowrite32be(USB_CTRL_USB_EN, hcd->regs + FSL_SOC_USB_CTRL); in fsl_ehci_drv_probe()
130 tmp = ioread32be(hcd->regs + FSL_SOC_USB_CTRL); in fsl_ehci_drv_probe()
133 iowrite32be(tmp, hcd->regs + FSL_SOC_USB_CTRL); in fsl_ehci_drv_probe()
135 writel(PORT_PTS_UTMI, hcd->regs + FSL_SOC_USB_PORTSC1); in fsl_ehci_drv_probe()
140 retval = usb_add_hcd(hcd, irq, IRQF_SHARED); in fsl_ehci_drv_probe()
143 device_wakeup_enable(hcd->self.controller); in fsl_ehci_drv_probe()
147 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in fsl_ehci_drv_probe()
149 hcd->usb_phy = usb_get_phy(USB_PHY_TYPE_USB2); in fsl_ehci_drv_probe()
151 hcd, ehci, hcd->usb_phy); in fsl_ehci_drv_probe()
153 if (!IS_ERR_OR_NULL(hcd->usb_phy)) { in fsl_ehci_drv_probe()
154 retval = otg_set_host(hcd->usb_phy->otg, in fsl_ehci_drv_probe()
157 usb_put_phy(hcd->usb_phy); in fsl_ehci_drv_probe()
166 hcd->skip_phy_initialization = 1; in fsl_ehci_drv_probe()
172 usb_put_hcd(hcd); in fsl_ehci_drv_probe()
180 static bool usb_phy_clk_valid(struct usb_hcd *hcd) in usb_phy_clk_valid() argument
182 void __iomem *non_ehci = hcd->regs; in usb_phy_clk_valid()
191 static int ehci_fsl_setup_phy(struct usb_hcd *hcd, in ehci_fsl_setup_phy() argument
196 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_fsl_setup_phy()
197 void __iomem *non_ehci = hcd->regs; in ehci_fsl_setup_phy()
198 struct device *dev = hcd->self.controller; in ehci_fsl_setup_phy()
202 dev_warn(hcd->self.controller, "Could not get controller version\n"); in ehci_fsl_setup_phy()
248 pdata->have_sysif_regs && !usb_phy_clk_valid(hcd)) { in ehci_fsl_setup_phy()
278 !usb_phy_clk_valid(hcd)) { in ehci_fsl_setup_phy()
279 dev_warn(hcd->self.controller, "USB PHY clock invalid\n"); in ehci_fsl_setup_phy()
297 struct usb_hcd *hcd = ehci_to_hcd(ehci); in ehci_fsl_usb_setup() local
299 void __iomem *non_ehci = hcd->regs; in ehci_fsl_usb_setup()
301 pdata = dev_get_platdata(hcd->self.controller); in ehci_fsl_usb_setup()
327 if (ehci_fsl_setup_phy(hcd, pdata->phy_mode, 0)) in ehci_fsl_usb_setup()
337 if (ehci_fsl_setup_phy(hcd, pdata->phy_mode, 0)) in ehci_fsl_usb_setup()
341 if (ehci_fsl_setup_phy(hcd, pdata->phy_mode, 1)) in ehci_fsl_usb_setup()
369 static int ehci_fsl_setup(struct usb_hcd *hcd) in ehci_fsl_setup() argument
371 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_fsl_setup()
376 dev = hcd->self.controller; in ehci_fsl_setup()
377 pdata = dev_get_platdata(hcd->self.controller); in ehci_fsl_setup()
382 ehci->caps = hcd->regs + 0x100; in ehci_fsl_setup()
393 hcd->has_tt = 1; in ehci_fsl_setup()
395 retval = ehci_setup(hcd); in ehci_fsl_setup()
406 hcd->regs + FSL_SOC_USB_SBUSCFG); in ehci_fsl_setup()
427 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_fsl_mpc512x_drv_suspend() local
428 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_fsl_mpc512x_drv_suspend()
433 u32 mode = ehci_readl(ehci, hcd->regs + FSL_SOC_USB_USBMODE); in ehci_fsl_mpc512x_drv_suspend()
435 tmp = ehci_readl(ehci, hcd->regs + 0x140); /* usbcmd */ in ehci_fsl_mpc512x_drv_suspend()
459 clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); in ehci_fsl_mpc512x_drv_suspend()
479 hcd->regs + FSL_SOC_USB_USBGENCTRL); in ehci_fsl_mpc512x_drv_suspend()
496 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_fsl_mpc512x_drv_resume() local
497 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_fsl_mpc512x_drv_resume()
525 ehci_writel(ehci, tmp, hcd->regs + FSL_SOC_USB_USBMODE); in ehci_fsl_mpc512x_drv_resume()
528 hcd->regs + FSL_SOC_USB_USBGENCTRL); in ehci_fsl_mpc512x_drv_resume()
530 hcd->regs + FSL_SOC_USB_ISIPHYCTRL); in ehci_fsl_mpc512x_drv_resume()
532 ehci_writel(ehci, SBUSCFG_INCR8, hcd->regs + FSL_SOC_USB_SBUSCFG); in ehci_fsl_mpc512x_drv_resume()
545 set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); in ehci_fsl_mpc512x_drv_resume()
553 usb_hcd_resume_root_hub(hcd); in ehci_fsl_mpc512x_drv_resume()
569 static struct ehci_fsl *hcd_to_ehci_fsl(struct usb_hcd *hcd) in hcd_to_ehci_fsl() argument
571 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in hcd_to_ehci_fsl()
578 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_fsl_drv_suspend() local
579 struct ehci_fsl *ehci_fsl = hcd_to_ehci_fsl(hcd); in ehci_fsl_drv_suspend()
580 void __iomem *non_ehci = hcd->regs; in ehci_fsl_drv_suspend()
587 ehci_prepare_ports_for_controller_suspend(hcd_to_ehci(hcd), in ehci_fsl_drv_suspend()
598 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_fsl_drv_resume() local
599 struct ehci_fsl *ehci_fsl = hcd_to_ehci_fsl(hcd); in ehci_fsl_drv_resume()
600 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_fsl_drv_resume()
601 void __iomem *non_ehci = hcd->regs; in ehci_fsl_drv_resume()
612 usb_root_hub_lost_power(hcd->self.root_hub); in ehci_fsl_drv_resume()
625 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_fsl_drv_restore() local
627 usb_root_hub_lost_power(hcd->self.root_hub); in ehci_fsl_drv_restore()
643 static int ehci_start_port_reset(struct usb_hcd *hcd, unsigned port) in ehci_start_port_reset() argument
645 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_start_port_reset()
689 struct usb_hcd *hcd = platform_get_drvdata(pdev); in fsl_ehci_drv_remove() local
691 if (!IS_ERR_OR_NULL(hcd->usb_phy)) { in fsl_ehci_drv_remove()
692 otg_set_host(hcd->usb_phy->otg, NULL); in fsl_ehci_drv_remove()
693 usb_put_phy(hcd->usb_phy); in fsl_ehci_drv_remove()
696 usb_remove_hcd(hcd); in fsl_ehci_drv_remove()
704 usb_put_hcd(hcd); in fsl_ehci_drv_remove()