ISP1761 Linux driver
From ArmadeusWiki
This page summarizes the informations to use the DevFull's ISP1761 USB Host controller with Linux. With recent version of Armadeus (svn version 978 or higher ) ISP1761 driver is part of the default configuration. Therefore there is no more need to configure Armadeus to use Host USB controller and the user configuration is now limited to add some more USB drivers.
Contents
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 is no more limited to module usage since svn version 978 and higher):
Device Drivers ---> Armadeus specific drivers ---> <M> isp1761 USB 2.0 Host controller (module)
- then, depending on the devices you're planning to plug, you will have to add some more USB drivers.
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 bytes from the USBstick to a buffer of a kernel driver
Result: ~10MB/sec