Lines Matching refs:dev

45 #include <dev/clk/clk.h>
46 #include <dev/hwreset/hwreset.h>
47 #include <dev/phy/phy.h>
48 #include <dev/ofw/ofw_bus.h>
49 #include <dev/ofw/ofw_bus_subr.h>
50 #include <dev/usb/usb.h>
51 #include <dev/usb/usbdi.h>
52 #include <dev/usb/usb_busdma.h>
53 #include <dev/usb/usb_process.h>
54 #include <dev/usb/usb_controller.h>
55 #include <dev/usb/usb_bus.h>
56 #include <dev/usb/controller/ehci.h>
57 #include <dev/usb/controller/ehcireg.h>
75 device_t dev;
98 tegra_ehci_probe(device_t dev)
101 if (!ofw_bus_status_okay(dev))
104 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data != 0) {
105 device_set_desc(dev, "Nvidia Tegra EHCI controller");
112 tegra_ehci_detach(device_t dev)
117 sc = device_get_softc(dev);
123 device_delete_child(dev, esc->sc_bus.bdev);
127 bus_teardown_intr(dev, esc->sc_irq_res,
130 bus_release_resource(dev, SYS_RES_IRQ, 0,
133 bus_release_resource(dev, SYS_RES_MEMORY, 0,
139 device_delete_children(dev);
145 tegra_ehci_attach(device_t dev)
152 sc = device_get_softc(dev);
153 sc->dev = dev;
158 sc->ehci_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid,
161 device_printf(dev, "Cannot allocate memory resources\n");
167 sc->ehci_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
170 device_printf(dev, "Cannot allocate IRQ resources\n");
175 rv = hwreset_get_by_ofw_name(dev, 0, "usb", &sc->reset);
177 device_printf(dev, "Cannot get reset\n");
182 rv = phy_get_by_ofw_property(sc->dev, 0, "nvidia,phy", &sc->phy);
184 device_printf(sc->dev, "Cannot get 'nvidia,phy' phy\n");
189 rv = clk_get_by_ofw_index(sc->dev, 0, 0, &sc->clk);
191 device_printf(dev, "Cannot get clock\n");
197 device_printf(dev, "Cannot enable clock\n");
204 device_printf(dev, "Cannot get clock frequency\n");
210 device_printf(dev, "Cannot clear reset: %d\n", rv);
217 device_printf(dev, "Cannot enable phy: %d\n", rv);
225 esc->sc_bus.parent = dev;
231 rv = usb_bus_mem_alloc_all(&esc->sc_bus, USB_GET_DMA_TAG(dev),
235 device_printf(dev, "usb_bus_mem_alloc_all() failed\n");
248 device_printf(dev, "Could not create USB memory subregion\n");
254 rv = bus_setup_intr(dev, sc->ehci_irq_res, INTR_TYPE_BIO | INTR_MPSAFE,
257 device_printf(dev, "Could not setup IRQ\n");
262 esc->sc_bus.bdev = device_add_child(dev, "usbus", -1);
264 device_printf(dev, "Could not add USB device\n");
277 device_printf(dev, "USB init failed: %d\n",
286 device_printf(dev,
293 tegra_ehci_detach(dev);