Lines Matching full:ehci
19 #include "../host/ehci.h"
40 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_ci_portpower() local
41 struct ehci_ci_priv *priv = (struct ehci_ci_priv *)ehci->priv; in ehci_ci_portpower()
45 int port = HCS_N_PORTS(ehci->hcs_params); in ehci_ci_portpower()
88 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_ci_reset() local
95 ehci->need_io_watchdog = 0; in ehci_ci_reset()
123 struct ehci_hcd *ehci; in host_start() local
149 ehci = hcd_to_ehci(hcd); in host_start()
150 ehci->caps = ci->hw_bank.cap; in host_start()
151 ehci->has_hostpc = ci->hw_bank.lpm; in host_start()
152 ehci->has_tdi_phy_lpm = ci->hw_bank.lpm; in host_start()
153 ehci->imx28_write_fix = ci->imx28_write_fix; in host_start()
154 ehci->has_ci_pec_bug = ci->has_portsc_pec_bug; in host_start()
156 priv = (struct ehci_ci_priv *)ehci->priv; in host_start()
240 /* The below code is based on tegra ehci driver */
250 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ci_ehci_hub_control() local
251 unsigned int ports = HCS_N_PORTS(ehci->hcs_params); in ci_ehci_hub_control()
268 status_reg = &ehci->regs->port_status[port_index]; in ci_ehci_hub_control()
270 spin_lock_irqsave(&ehci->lock, flags); in ci_ehci_hub_control()
285 temp = ehci_readl(ehci, status_reg); in ci_ehci_hub_control()
293 ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); in ci_ehci_hub_control()
299 if (ehci_handshake(ehci, status_reg, PORT_SUSPEND, in ci_ehci_hub_control()
301 ehci_err(ehci, "timeout waiting for SUSPEND\n"); in ci_ehci_hub_control()
308 temp = ehci_readl(ehci, status_reg); in ci_ehci_hub_control()
310 ehci_writel(ehci, temp, status_reg); in ci_ehci_hub_control()
313 set_bit(port_index, &ehci->suspended_ports); in ci_ehci_hub_control()
324 if (ehci_handshake(ehci, status_reg, PORT_RESUME, 0, 25000)) in ci_ehci_hub_control()
325 ehci_err(ehci, "timeout waiting for resume\n"); in ci_ehci_hub_control()
328 spin_unlock_irqrestore(&ehci->lock, flags); in ci_ehci_hub_control()
333 spin_unlock_irqrestore(&ehci->lock, flags); in ci_ehci_hub_control()
338 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ci_ehci_bus_suspend() local
349 port = HCS_N_PORTS(ehci->hcs_params); in ci_ehci_bus_suspend()
351 u32 __iomem *reg = &ehci->regs->port_status[port]; in ci_ehci_bus_suspend()
352 u32 portsc = ehci_readl(ehci, reg); in ci_ehci_bus_suspend()
365 tmp = ehci_readl(ehci, &ehci->regs->command); in ci_ehci_bus_suspend()
367 ehci_writel(ehci, tmp, &ehci->regs->command); in ci_ehci_bus_suspend()
377 tmp = ehci_readl(ehci, reg); in ci_ehci_bus_suspend()
379 ehci_writel(ehci, tmp, reg); in ci_ehci_bus_suspend()