hc.c File Reference

OHCI Host controller driver routines. More...

#include <errno.h>
#include <str_error.h>
#include <adt/list.h>
#include <libarch/ddi.h>
#include <usb/debug.h>
#include <usb/usb.h>
#include <usb/ddfiface.h>
#include "hc.h"
#include "hcd_endpoint.h"

Go to the source code of this file.

Defines

#define OHCI_USED_INTERRUPTS   (I_SO | I_WDH | I_UE | I_RHSC)

Functions

int hc_add_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_speed_t speed, usb_transfer_type_t type, usb_direction_t direction, size_t mps, size_t size, unsigned interval)
 Create end register endpoint structures.
static void hc_gain_control (hc_t *instance)
 Turn off any (BIOS)driver that might be in control of the device.
endpoint_thc_get_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_direction_t direction, size_t *bw)
 Get access to endpoint structures.
int hc_init (hc_t *instance, uintptr_t regs, size_t reg_size, bool interrupts)
 Initialize OHCI hc driver structure.
static int hc_init_memory (hc_t *instance)
 Initialize memory structures used by the OHCI hcd.
static int hc_init_transfer_lists (hc_t *instance)
 Initialize schedule queues.
void hc_interrupt (hc_t *instance, uint32_t status)
 Interrupt handling routine.
int hc_register_hub (hc_t *instance, ddf_fun_t *hub_fun)
 Announce OHCI root hub to the DDF.
int hc_remove_endpoint (hc_t *instance, usb_address_t address, usb_endpoint_t endpoint, usb_direction_t direction)
 Dequeue and delete endpoint structures.
int hc_schedule (hc_t *instance, usb_transfer_batch_t *batch)
 Add USB transfer to the schedule.
void hc_start_hw (hc_t *instance)
 OHCI hw initialization routine.
static int interrupt_emulator (hc_t *instance)
 Check status register regularly.


Detailed Description

OHCI Host controller driver routines.

Definition in file hc.c.


Generated on Thu Jun 2 07:45:51 2011 for HelenOS/USB by  doxygen 1.4.7