Lines Matching +full:generic +full:- +full:ohci

1 // SPDX-License-Identifier: GPL-1.0+
3 * OHCI HCD (Host Controller Driver) for USB.
6 * (C) Copyright 2000-2002 David Brownell <dbrownell@users.sourceforge.net>
7 * (C) Copyright 2002 Hewlett-Packard Company
17 #include <asm/mach-types.h>
21 #error "This file is SA-1111 bus glue. CONFIG_SA1111 must be defined."
46 unsigned long status = readl_relaxed(hcd->regs + USB_STATUS);
59 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_reset() local
61 ohci_hcd_init(ohci); in ohci_sa1111_reset()
62 return ohci_init(ohci); in ohci_sa1111_reset()
67 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_start() local
70 ret = ohci_run(ohci); in ohci_sa1111_start()
72 ohci_err(ohci, "can't start\n"); in ohci_sa1111_start()
80 .product_desc = "SA-1111 OHCI",
84 * generic hardware linkage
126 dev_dbg(&dev->dev, "starting SA-1111 OHCI USB Controller\n"); in sa1111_start_hc()
139 dev->mapbase + USB_RESET); in sa1111_start_hc()
148 writel_relaxed(usb_rst, dev->mapbase + USB_RESET); in sa1111_start_hc()
158 dev_dbg(&dev->dev, "stopping SA-1111 OHCI USB Controller\n"); in sa1111_stop_hc()
163 usb_rst = readl_relaxed(dev->mapbase + USB_RESET); in sa1111_stop_hc()
165 dev->mapbase + USB_RESET); in sa1111_stop_hc()
174 * ohci_hcd_sa1111_probe - initialize SA-1111-based HCDs
185 return -ENODEV; in ohci_hcd_sa1111_probe()
190 * SA-1111 bus code (which includes bug workarounds.) in ohci_hcd_sa1111_probe()
193 hcd = usb_create_hcd(&ohci_sa1111_hc_driver, &dev->dev, "sa1111"); in ohci_hcd_sa1111_probe()
195 return -ENOMEM; in ohci_hcd_sa1111_probe()
197 hcd->rsrc_start = dev->res.start; in ohci_hcd_sa1111_probe()
198 hcd->rsrc_len = resource_size(&dev->res); in ohci_hcd_sa1111_probe()
202 ret = irq ? : -ENXIO; in ohci_hcd_sa1111_probe()
206 if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) { in ohci_hcd_sa1111_probe()
207 dev_dbg(&dev->dev, "request_mem_region failed\n"); in ohci_hcd_sa1111_probe()
208 ret = -EBUSY; in ohci_hcd_sa1111_probe()
212 hcd->regs = dev->mapbase; in ohci_hcd_sa1111_probe()
220 device_wakeup_enable(hcd->self.controller); in ohci_hcd_sa1111_probe()
226 release_mem_region(hcd->rsrc_start, hcd->rsrc_len); in ohci_hcd_sa1111_probe()
233 * ohci_hcd_sa1111_remove - shutdown processing for SA-1111-based HCDs
245 release_mem_region(hcd->rsrc_start, hcd->rsrc_len); in ohci_hcd_sa1111_remove()
256 if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { in ohci_hcd_sa1111_shutdown()
257 hcd->driver->shutdown(hcd); in ohci_hcd_sa1111_shutdown()
264 .name = "sa1111-ohci",