genode/dde_linux
Sebastian Sumpf c98a80251c USB: Sync interrupts
On systems that use multiple UHCI/EHCI controllers, synchronize access to low
level interrupt handler. Let 'device_may_wakeup' return 1, so suspended
controllers will send interrupts upon device connection. Make sure URBs are
shutdown upon disconnect.

Fixes #332
2012-08-30 11:12:49 +02:00
..
patches USB: Performance improvements 2012-08-07 22:22:45 +02:00
run USB: Performance improvements 2012-08-07 22:22:45 +02:00
src/drivers/usb USB: Sync interrupts 2012-08-30 11:12:49 +02:00
Makefile USB: Support usbnet and smsc95xx for omap4 2012-07-09 17:53:43 +02:00
README USB: Support usbnet and smsc95xx for omap4 2012-07-09 17:53:43 +02:00

Device drivers ported from the Linux kernel

USB
###

HID
~~~

Supports keyboard and mouse. A run script can be found under 'run/usb_hid.run'.

Configuration snippet:

!<start name="usb_drv">
!  <resource name="RAM" quantum="3M"/>
!  <provides><service name="Input"/></provides>
!  <config>
!    <hid/>
!  </config>
!</start>

Note: It has been observed that certain 1.0 versions of Qemu do not generate
mouse interrupts. The mouse driver should work correctly on Qemu 1.0.93 and
above.

Storage
~~~~~~~

Currently supports one USB storage device. Hot plugging has not been tested. A
run script can be found under 'run/usb_storage.run'.

Configuration snippet:

!<start name="usb_drv">
!  <resource name="RAM" quantum="2M"/>
!  <provides> <service name="Block"/> </provides>
!  <config><storage /></config>
!</start>


Network (Nic)
~~~~~~~~~~~~~

Supported on PandaBoard only using the 'smsc95xx' driver.

Configuration snippet:

!<start name="usb_drv">
!  <resource name="RAM" quantum="3M"/>
!  <provides>
!    <service name="Nic"/>
!    <service name="Input"/>
!  </provides>
!  <config>
!    <nic mac="2e:60:90:0c:4e:01" />
!    <hid/>
!  </config>
!</start>

Please observe that this setup starts the HID and Nic service at the same time.
Also there is the 'mac' attribute where one can specify the hardware address of
the network interface. This is necessary in case the EEPROM of the network card
cannot be accessed via the host controller making it impossible to retrieve the
devices hardware address. If this is the case and no 'mac' attribute is given a
fallback address will be assigned to the network device. Note that the fallback
address will always be the same.