EHCI_USBCMD
uint32_t val = EOREAD4(&sc->sc, EHCI_USBCMD);
EOWRITE4(&sc->sc, EHCI_USBCMD, val);
while (EOREAD4(&sc->sc, EHCI_USBCMD) & EHCI_CMD_RS)
val = EOREAD4(&sc->sc, EHCI_USBCMD);
EOWRITE4(&sc->sc, EHCI_USBCMD, val);
while (EOREAD4(&sc->sc, EHCI_USBCMD) & EHCI_CMD_HCRESET)
EOWRITE4(sc, EHCI_USBCMD,
(EOREAD4(sc, EHCI_USBCMD) & EHCI_CMD_FLS_M) |
EOWRITE4(sc, EHCI_USBCMD, 0); /* Halt controller */
EOWRITE4(sc, EHCI_USBCMD, EHCI_CMD_HCRESET);
hcr = EOREAD4(sc, EHCI_USBCMD) & EHCI_CMD_HCRESET;
EOREAD4(sc, EHCI_USBCMD),
EOWRITE4(sc, EHCI_USBCMD, EOREAD4(sc, EHCI_USBCMD) |
switch (EHCI_CMD_FLS(EOREAD4(sc, EHCI_USBCMD))) {
EOWRITE4(sc, EHCI_USBCMD,
(EOREAD4(sc, EHCI_USBCMD) & EHCI_CMD_FLS_M) |
cmd = EOREAD4(sc, EHCI_USBCMD) & ~(EHCI_CMD_ASE | EHCI_CMD_PSE);
EOWRITE4(sc, EHCI_USBCMD, cmd);