Ignore:
File:
1 edited

Legend:

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

    rbb97118 r9dfb034  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2011 Jan Vesely
    34 * Copyright (c) 2018 Ondrej Hlavaty
     
    192193{
    193194        assert(instance);
    194         /* TODO: implement*/
     195        /* TODO: implement */
    195196        return ENOTSUP;
     197}
     198
     199/** Quiesce host controller
     200 *
     201 * @param hcd Host controller device
     202 */
     203int hc_quiesce(hc_device_t *hcd)
     204{
     205        hc_t *instance = hcd_to_hc(hcd);
     206
     207        /* OHCI guide page 42 */
     208        usb_log_debug2("Started hc initialization routine.");
     209
     210        /* Reset hc */
     211        usb_log_debug2("HC reset.");
     212        size_t time = 0;
     213        OHCI_WR(instance->registers->command_status, CS_HCR);
     214        while (OHCI_RD(instance->registers->command_status) & CS_HCR) {
     215                fibril_usleep(10);
     216                time += 10;
     217        }
     218        usb_log_debug2("HC reset complete in %zu us.", time);
     219
     220        return EOK;
    196221}
    197222
     
    595620        }
    596621
    597         /*Init HCCA */
     622        /* Init HCCA */
    598623        instance->hcca = hcca_get();
    599624        if (instance->hcca == NULL)
Note: See TracChangeset for help on using the changeset viewer.