• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/host/

Lines Matching defs:omap

11  * Based on ehci-omap.c and some other ohci glue layers
154 static void ohci_omap3_clock_power(struct ohci_hcd_omap3 *omap, int on)
157 clk_enable(omap->usbtll_ick);
158 clk_enable(omap->usbtll_fck);
159 clk_enable(omap->usbhost_ick);
160 clk_enable(omap->usbhost1_48m_fck);
161 clk_enable(omap->usbhost2_120m_fck);
163 clk_disable(omap->usbhost2_120m_fck);
164 clk_disable(omap->usbhost1_48m_fck);
165 clk_disable(omap->usbhost_ick);
166 clk_disable(omap->usbtll_fck);
167 clk_disable(omap->usbtll_ick);
248 static void ohci_omap3_tll_config(struct ohci_hcd_omap3 *omap)
254 reg = ohci_omap_readl(omap->tll_base, OMAP_TLL_SHARED_CONF);
259 ohci_omap_writel(omap->tll_base, OMAP_TLL_SHARED_CONF, reg);
269 if (omap->port_mode[i] == OMAP_OHCI_PORT_MODE_UNUSED)
272 reg = ohci_omap_readl(omap->tll_base, OMAP_TLL_CHANNEL_CONF(i));
273 reg |= ohci_omap3_fslsmode(omap->port_mode[i])
277 ohci_omap_writel(omap->tll_base, OMAP_TLL_CHANNEL_CONF(i), reg);
284 static int omap3_start_ohci(struct ohci_hcd_omap3 *omap, struct usb_hcd *hcd)
290 dev_dbg(omap->dev, "starting TI OHCI USB Controller\n");
293 omap->usbhost_ick = clk_get(omap->dev, "usbhost_ick");
294 if (IS_ERR(omap->usbhost_ick)) {
295 dev_err(omap->dev, "could not get usbhost_ick\n");
296 ret = PTR_ERR(omap->usbhost_ick);
300 omap->usbhost2_120m_fck = clk_get(omap->dev, "usbhost_120m_fck");
301 if (IS_ERR(omap->usbhost2_120m_fck)) {
302 dev_err(omap->dev, "could not get usbhost_120m_fck\n");
303 ret = PTR_ERR(omap->usbhost2_120m_fck);
307 omap->usbhost1_48m_fck = clk_get(omap->dev, "usbhost_48m_fck");
308 if (IS_ERR(omap->usbhost1_48m_fck)) {
309 dev_err(omap->dev, "could not get usbhost_48m_fck\n");
310 ret = PTR_ERR(omap->usbhost1_48m_fck);
314 omap->usbtll_fck = clk_get(omap->dev, "usbtll_fck");
315 if (IS_ERR(omap->usbtll_fck)) {
316 dev_err(omap->dev, "could not get usbtll_fck\n");
317 ret = PTR_ERR(omap->usbtll_fck);
321 omap->usbtll_ick = clk_get(omap->dev, "usbtll_ick");
322 if (IS_ERR(omap->usbtll_ick)) {
323 dev_err(omap->dev, "could not get usbtll_ick\n");
324 ret = PTR_ERR(omap->usbtll_ick);
329 ohci_omap3_clock_power(omap, 1);
332 ohci_omap_writel(omap->tll_base, OMAP_USBTLL_SYSCONFIG,
336 while (!(ohci_omap_readl(omap->tll_base, OMAP_USBTLL_SYSSTATUS)
341 dev_dbg(omap->dev, "operation timed out\n");
347 dev_dbg(omap->dev, "TLL reset done\n");
350 ohci_omap_writel(omap->tll_base, OMAP_USBTLL_SYSCONFIG,
357 reg = ohci_omap_readl(omap->uhh_base, OMAP_UHH_SYSCONFIG);
365 ohci_omap_writel(omap->uhh_base, OMAP_UHH_SYSCONFIG, reg);
367 reg = ohci_omap_readl(omap->uhh_base, OMAP_UHH_HOSTCONFIG);
385 if (omap->port_mode[0] == OMAP_OHCI_PORT_MODE_UNUSED)
387 if (omap->port_mode[1] == OMAP_OHCI_PORT_MODE_UNUSED)
389 if (omap->port_mode[2] == OMAP_OHCI_PORT_MODE_UNUSED)
396 if (omap->es2_compatibility) {
402 dev_dbg(omap->dev, "OMAP3 ES version <= ES2.1\n");
405 dev_dbg(omap->dev, "OMAP3 ES version > ES2.1\n");
406 if (omap->port_mode[0] == OMAP_OHCI_PORT_MODE_UNUSED)
411 if (omap->port_mode[1] == OMAP_OHCI_PORT_MODE_UNUSED)
416 if (omap->port_mode[2] == OMAP_OHCI_PORT_MODE_UNUSED)
422 ohci_omap_writel(omap->uhh_base, OMAP_UHH_HOSTCONFIG, reg);
423 dev_dbg(omap->dev, "UHH setup done, uhh_hostconfig=%x\n", reg);
425 ohci_omap3_tll_config(omap);
430 ohci_omap3_clock_power(omap, 0);
431 clk_put(omap->usbtll_ick);
434 clk_put(omap->usbtll_fck);
437 clk_put(omap->usbhost1_48m_fck);
440 clk_put(omap->usbhost2_120m_fck);
443 clk_put(omap->usbhost_ick);
449 static void omap3_stop_ohci(struct ohci_hcd_omap3 *omap, struct usb_hcd *hcd)
453 dev_dbg(omap->dev, "stopping TI EHCI USB Controller\n");
456 ohci_omap_writel(omap->uhh_base, OMAP_UHH_SYSCONFIG,
458 while (!(ohci_omap_readl(omap->uhh_base, OMAP_UHH_SYSSTATUS)
463 dev_dbg(omap->dev, "operation timed out\n");
466 while (!(ohci_omap_readl(omap->uhh_base, OMAP_UHH_SYSSTATUS)
471 dev_dbg(omap->dev, "operation timed out\n");
474 while (!(ohci_omap_readl(omap->uhh_base, OMAP_UHH_SYSSTATUS)
479 dev_dbg(omap->dev, "operation timed out\n");
482 ohci_omap_writel(omap->tll_base, OMAP_USBTLL_SYSCONFIG, (1 << 1));
484 while (!(ohci_omap_readl(omap->tll_base, OMAP_USBTLL_SYSSTATUS)
489 dev_dbg(omap->dev, "operation timed out\n");
492 ohci_omap3_clock_power(omap, 0);
494 if (omap->usbtll_fck != NULL) {
495 clk_put(omap->usbtll_fck);
496 omap->usbtll_fck = NULL;
499 if (omap->usbhost_ick != NULL) {
500 clk_put(omap->usbhost_ick);
501 omap->usbhost_ick = NULL;
504 if (omap->usbhost1_48m_fck != NULL) {
505 clk_put(omap->usbhost1_48m_fck);
506 omap->usbhost1_48m_fck = NULL;
509 if (omap->usbhost2_120m_fck != NULL) {
510 clk_put(omap->usbhost2_120m_fck);
511 omap->usbhost2_120m_fck = NULL;
514 if (omap->usbtll_ick != NULL) {
515 clk_put(omap->usbtll_ick);
516 omap->usbtll_ick = NULL;
519 dev_dbg(omap->dev, "Clock to USB host has been disabled\n");
584 struct ohci_hcd_omap3 *omap;
600 omap = kzalloc(sizeof(*omap), GFP_KERNEL);
601 if (!omap) {
613 platform_set_drvdata(pdev, omap);
614 omap->dev = &pdev->dev;
615 omap->port_mode[0] = pdata->port_mode[0];
616 omap->port_mode[1] = pdata->port_mode[1];
617 omap->port_mode[2] = pdata->port_mode[2];
618 omap->es2_compatibility = pdata->es2_compatibility;
619 omap->ohci = hcd_to_ohci(hcd);
634 omap->uhh_base = ioremap(res->start, resource_size(res));
635 if (!omap->uhh_base) {
642 omap->tll_base = ioremap(res->start, resource_size(res));
643 if (!omap->tll_base) {
649 ret = omap3_start_ohci(omap, hcd);
655 ohci_hcd_init(omap->ohci);
666 omap3_stop_ohci(omap, hcd);
669 iounmap(omap->tll_base);
672 iounmap(omap->uhh_base);
681 kfree(omap);
702 struct ohci_hcd_omap3 *omap = platform_get_drvdata(pdev);
703 struct usb_hcd *hcd = ohci_to_hcd(omap->ohci);
706 omap3_stop_ohci(omap, hcd);
708 iounmap(omap->tll_base);
709 iounmap(omap->uhh_base);
711 kfree(omap);
718 struct ohci_hcd_omap3 *omap = platform_get_drvdata(pdev);
719 struct usb_hcd *hcd = ohci_to_hcd(omap->ohci);