ISP1761 Linux driver

From ArmadeusWiki
Revision as of 14:17, 6 November 2008 by JulienB (Talk | contribs) (log messages)

Jump to: navigation, search

This page summarizes the informations to use the DevFull's ISP1761 USB Host controller with Linux.

Compilation

  • Launch kernel configuration:
$ make linux-menuconfig
  • Activate USB support in Linux:
Device Drivers  ---> USB support  ---> <*> Support for Host-side USB   (static)
  • and choose ISP1761 controller (driver can only be used as a module for the moment):
Device Drivers  ---> Armadeus specific drivers  ---> <M>   isp1761 USB 2.0 Host controller   (module)

Usage

  • Three modules have to be loaded in order to get the ISP working. They have to be started in the following order:
# modprobe apf9328-isp1761
# modprobe hal_imx
# modprobe pehci
  • or put them in a bash script in /etc/init.d:
#!/bin/sh
modprobe apf9328-isp1761
modprobe hal_imx
modprobe pehci
  • and then you should see (on console):
isp1761 isp1761.0: NXP ISP1761
isp1761 isp1761.0: new USB bus registered, assigned bus number 1
isp1761 isp1761.0: irq 138, io mem 0x00000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
drivers/armadeus/isp1761/hal/hal_imx.c: Registered Driver ISP1761HCD
pehci: Host Driver has been Registered
# usb 1-1: new high speed USB device using isp1761 and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 3 ports detected

Performances

A performance test has been performed by means of the usb_perf.sh script.
A high speed USB stick (corsair memory flash voyager) has been used.

Test result (mean values): read -> 2980 kBytes/sec   write -> 2095 kBytes/sec

The maximal bandwidth has been also measured by using a scope and by tranferring 4096 octets from the USBstick to a buffer of a kernel driver

Result: ~10Mo/sec  

Links