Embedded Xinu Operating System
An ongoing research project and educational operating system.
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Groups Pages
Modules | Files | Functions

Universal Serial Bus 2.0 subsystem. More...

Modules

 USB Core Driver
 USB device model and API for USB device drivers.
 
 USB Host Controller Driver
 Platform-dependent code to actually send and receive data over the USB.
 
 USB Hub Driver
 Driver for USB hub devices.
 

Files

file  usbcore.c
 
file  usbdebug.c
 
file  usbhub.c
 

Functions

syscall usbinit (void)
 
syscall usbinfo (void)
 

Detailed Description

Universal Serial Bus 2.0 subsystem.

USB support

Function Documentation

syscall usbinfo ( void  )

Print information about all devices attached to the USB. This uses printf() and therefore should be called with interrupts enabled (e.g. by the shell).

Returns
::SYSERR if USB subsystem is not initialized; ::OK otherwise.
syscall usbinit ( void  )

Initializes the USB subsystem and corresponding USB and begins the USB device enumeration process. Since USB is a dynamic bus, the enumeration process proceeds in an interrupt-driven manner and continues after this function returns. Thus, there is no guarantee that any given device will be enumerated at any specific time, even after this function returns; this is necessary by the design of USB itself. USB device drivers will be bound to devices as they are found; use usb_register_device_driver() to register a device driver, which can be done at any time (either before or after calling this function).

Returns
OK on success; SYSERR if the USB subsystem was not successfully initialized.