Commit Graph

20 Commits

Author SHA1 Message Date
Sebastian Sumpf
5f0843082a usb_drv: XHCI support for x86-architectures
USB 3.0 support on x86 (64/32) platforms, as well as pci support for XHCI
controllers.

Issue #1084
2014-03-06 14:56:52 +01:00
Stefan Kalkowski
35bb156972 block: extend block session test framework 2013-12-19 11:34:05 +01:00
Sebastian Sumpf
54667241f7 usb_drv: Use GPIO driver on PandaBoard
Also updated run scripts.

Issue #708
2013-11-26 14:32:06 +01:00
Sebastian Sumpf
5774a864b1 usb_drv: Fix PHY initialization for DWC3 XHCI
Make high speed (HS) and super speed (SS) hub use the same reference clock.
Also upgrade some quotas in USB run scripts.

Fixes #929.
2013-10-24 15:21:36 +02:00
Norman Feske
33305dd08d Fix usb_storage.run for non-PC platforms
On non-PC platforms, the variable 'build' remains undefined, which lets
the 'build $build' step fail. Use the traditional 'build_components'
variable instead. As a further plus, this avoids multiple passes of the
build system.
2013-09-23 14:26:00 +02:00
Sebastian Sumpf
8f3413f487 usb_drv: Fix USB storage for x86 on hardware
Also fix 'usb_storage.run' for x86

Fixes #822
2013-08-13 17:08:22 +02:00
Stefan Kalkowski
e23f24505b Add platform_drv to relevant run-scripts (fix #778) 2013-06-25 14:37:03 +02:00
Sebastian Sumpf
fbbd2018bb usb: Storage support for ARM 2013-05-22 21:01:14 +02:00
Sebastian Sumpf
cda25a481b usb: Make host controller types configurable
The host controller type (u/e/xhci) usded by the drivers can be configured
through attributes of the config node. See: README
2013-05-18 11:23:02 +02:00
Sebastian Sumpf
529e791d66 usb: Upgrade to Linux-3.8.6 stack 2013-05-18 11:23:02 +02:00
Stefan Kalkowski
8e9e866161 Unify framebuffer driver binary names (fix #720)
Introduce 'framebuffer' SPEC variable to distinguish hardware framebuffer
drivers furthermore from the SDL framebuffer driver used by Genode/Linux.
2013-05-07 13:04:30 +02:00
Alexander Boettcher
9abf88c195 usb: add network support for arndale board 2013-03-20 10:06:16 +01:00
Sebastian Sumpf
78c752b1c7 usb: Rewrote back-end allocators
Allocate back-end memory dynamically.
2013-03-20 10:06:16 +01:00
Alexander Boettcher
554ab8372f usb_hid: adjust run script to run with new pci_drv 2013-02-22 20:28:27 +01:00
Christian Helmuth
9dae5ee490 USB: Use real HID driver in dde_linux
Before, usb_drv included both the real HID driver and also Linux's early
boot USB driver (BP). The BP drivers have been removed now.

Fixes #440.
2013-01-11 15:38:16 +01:00
Norman Feske
3e406a1077 Increase quota of USB driver
The memory allocation heuristics in the usb driver provided by dde_linux
changed with the recent commit 71b2b42936.
Apparently, the new variant requires a larger memory pool. Increasing
the quota is a temporary fix until the memory allocator gets revisited.
2012-09-18 10:53:17 +02:00
Sebastian Sumpf
3207b4eed0 USB: Performance improvements
Added SKB bitmap allocator, use Nic::Packet_allocator in packet stream, use slab
allocators on top of back-end AVL allocator, split allocators in cached/uncached
for general purpose/DMA allocation, added patch to original code to distinguish
cached or uncached memory requests, take advantage of and implement TX bursts
(or SKB batching), call interrupt handlers until they return unhandled.
2012-08-07 22:22:45 +02:00
Sebastian Sumpf
70b8fc2832 USB: Support usbnet and smsc95xx for omap4 2012-07-09 17:53:43 +02:00
Norman Feske
e1435a3f57 Replace old test/block with test/ahci
The block test at test/ahci is indeed not AHCI-specific. It is a generic
block read/write test for the block-session interface. But in contrast
to the original test/block, it restores the block device content (at
least when the test succeeds). Hence, we remove the original (dangerous)
block test and always use code of test/ahci.
2012-07-09 15:51:55 +02:00
Sebastian Sumpf
9f73476b37 New DDE-Linux-based USB driver
The new 'dde_linux' repository will host device drivers ported from the
Linux kernel. In contrast to the original 'linux_drivers' repository,
'dde_linux' does not contain any 3rd-party source code. To download the
Linux kernel source code and extract the drivers, execute the 'make
prepare' rule of the top-level Makefile. The initial version of the
'dde_linux' repository comes with an USB driver. The porting methodology
follows the path of the Intel GEM port. Instead of attempting to provide
a generic Linux environment that works across drivers, each driver comes
with a specially tailored DDE.

The DDE consists of Genode-specific implementations of Linux API
functions as declared in 'lx_emul.h'. Most of these functions are
dummies that must merely be provided to resolve dependencies at the
linking stage. They are called by unused code-paths.

As of now, the USB driver support UHCI, EHCI on the x86_32 platform. I
exposes USB HID devices and USB storage devices via Genode's input-session
and block-session respectively.

The USB driver is accompanied with two run scripts 'run/usb_hid.run' and
'run/usb_storage.run'.
2012-05-29 13:54:58 +02:00