Lines Matching defs:sc_ohci

72 	struct ohci_softc sc_ohci;	/* must be first */
91 sc->sc_ohci.sc_bus.parent = dev;
92 sc->sc_ohci.sc_bus.devices = sc->sc_ohci.sc_devices;
93 sc->sc_ohci.sc_bus.devices_max = OHCI_MAX_DEVICES;
94 sc->sc_ohci.sc_bus.dma_bits = 32;
97 if (usb_bus_mem_alloc_all(&sc->sc_ohci.sc_bus,
101 sc->sc_ohci.sc_dev = dev;
105 sc->sc_ohci.sc_io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
108 if (!(sc->sc_ohci.sc_io_res)) {
112 sc->sc_ohci.sc_io_tag = rman_get_bustag(sc->sc_ohci.sc_io_res);
113 bsh = rman_get_bushandle(sc->sc_ohci.sc_io_res);
115 bus_space_write_4((sc)->sc_ohci.sc_io_tag, bsh,0x04, 0x146);
117 bus_space_write_4((sc)->sc_ohci.sc_io_tag, bsh,0x44, 0x0200);
121 sc->sc_ohci.sc_io_size = rman_get_size(sc->sc_ohci.sc_io_res);
123 if (bus_space_subregion(sc->sc_ohci.sc_io_tag, bsh, 0x4000000,
124 sc->sc_ohci.sc_io_size, &sc->sc_ohci.sc_io_hdl) != 0)
129 sc->sc_ohci.sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
131 if (!(sc->sc_ohci.sc_irq_res)) {
134 sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usbus", -1);
135 if (!(sc->sc_ohci.sc_bus.bdev)) {
138 device_set_ivars(sc->sc_ohci.sc_bus.bdev, &sc->sc_ohci.sc_bus);
140 strlcpy(sc->sc_ohci.sc_vendor, "Cavium",
141 sizeof(sc->sc_ohci.sc_vendor));
144 err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res,
147 &sc->sc_ohci.sc_intr_hdl);
149 err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res,
152 &sc->sc_ohci.sc_intr_hdl);
155 sc->sc_ohci.sc_intr_hdl = NULL;
159 bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl,
162 err = ohci_init(&sc->sc_ohci);
164 err = device_probe_and_attach(sc->sc_ohci.sc_bus.bdev);
183 if (sc->sc_ohci.sc_bus.bdev) {
184 bdev = sc->sc_ohci.sc_bus.bdev;
191 bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl,
194 if (sc->sc_ohci.sc_irq_res && sc->sc_ohci.sc_intr_hdl) {
198 ohci_detach(&sc->sc_ohci);
200 err = bus_teardown_intr(dev, sc->sc_ohci.sc_irq_res,
201 sc->sc_ohci.sc_intr_hdl);
202 sc->sc_ohci.sc_intr_hdl = NULL;
204 if (sc->sc_ohci.sc_irq_res) {
206 sc->sc_ohci.sc_irq_res);
207 sc->sc_ohci.sc_irq_res = NULL;
209 if (sc->sc_ohci.sc_io_res) {
211 sc->sc_ohci.sc_io_res);
212 sc->sc_ohci.sc_io_res = NULL;
214 usb_bus_mem_free_all(&sc->sc_ohci.sc_bus, &ohci_iterate_hw_softc);