Changeset 615abda in mainline for uspace/drv/bus/usb/ehci/hc.c


Ignore:
Timestamp:
2014-01-19T01:34:03Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4ee5272
Parents:
c9e954c
Message:

ehci: plug legacy disabling code

Remove CHECK_RET macro

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ehci/hc.c

    rc9e954c r615abda  
    280280void hc_start(hc_t *instance)
    281281{
     282        assert(instance);
     283        /*
     284         * TURN OFF EHCI FOR NOW
     285         */
     286
     287        usb_log_debug("USBCMD value: %x.\n",
     288            EHCI_RD(instance->registers->usbcmd));
     289        if (EHCI_RD(instance->registers->usbcmd) & USB_CMD_RUN_FLAG) {
     290                /* disable all interrupts */
     291                EHCI_WR(instance->registers->usbintr, 0);
     292                /* ack all interrupts */
     293                EHCI_WR(instance->registers->usbsts, 0x3f);
     294                /* release RH ports */
     295                EHCI_WR(instance->registers->configflag, 0);
     296                EHCI_WR(instance->registers->usbcmd, 0);
     297                /* Wait until hc is halted */
     298                while ((EHCI_RD(instance->registers->usbsts) & USB_STS_HC_HALTED_FLAG) == 0);
     299                usb_log_info("EHCI turned off.\n");
     300        } else {
     301                usb_log_info("EHCI was not running.\n");
     302        }
     303        usb_log_debug("Registers: \n"
     304            "\t USBCMD(%p): %x(0x00080000 = at least 1ms between interrupts)\n"
     305            "\t USBSTS(%p): %x(0x00001000 = HC halted)\n"
     306            "\t USBINT(%p): %x(0x0 = no interrupts).\n"
     307            "\t CONFIG(%p): %x(0x0 = ports controlled by companion hc).\n",
     308            &instance->registers->usbcmd, EHCI_RD(instance->registers->usbcmd),
     309            &instance->registers->usbsts, EHCI_RD(instance->registers->usbsts),
     310            &instance->registers->usbintr, EHCI_RD(instance->registers->usbintr),
     311            &instance->registers->configflag, EHCI_RD(instance->registers->configflag));
    282312}
    283313
Note: See TracChangeset for help on using the changeset viewer.