Changeset 8300c72 in mainline for uspace/drv/bus/usb/uhci/hc.c
- Timestamp:
- 2025-03-03T22:58:05Z (13 hours ago)
- Branches:
- master
- Children:
- 77a0119
- Parents:
- f35749e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/hc.c
rf35749e r8300c72 1 1 /* 2 * Copyright (c) 2025 Jiri Svoboda 2 3 * Copyright (c) 2011 Jan Vesely 3 4 * Copyright (c) 2018 Ondrej Hlavaty, Petr Manek … … 267 268 } 268 269 270 /** Quiesce host controller. 271 * 272 * @param[in] instance Host controller structure to use. 273 */ 274 int hc_quiesce(hc_device_t *hcd) 275 { 276 hc_t *instance = hcd_to_hc(hcd); 277 uhci_regs_t *registers = instance->registers; 278 279 /* Reset everything, who knows what touched it before us */ 280 pio_write_16(®isters->usbcmd, UHCI_CMD_GLOBAL_RESET); 281 fibril_usleep(50000); /* 50ms according to USB spec(root hub reset) */ 282 pio_write_16(®isters->usbcmd, 0); 283 284 /* Reset hc, all states and counters. Hope that hw is not broken */ 285 pio_write_16(®isters->usbcmd, UHCI_CMD_HCRESET); 286 do { 287 fibril_usleep(10); 288 } while ((pio_read_16(®isters->usbcmd) & UHCI_CMD_HCRESET) != 0); 289 290 return EOK; 291 } 292 269 293 /** Initialize UHCI hc hw resources. 270 294 *
Note:
See TracChangeset
for help on using the changeset viewer.