Version 9, changed by hippo5329@yahoo.com.tw. 07/15/2008. Show version history
Turn on host-side usb, usb dev filesystem, your hcd (eg : ISP1362 or ISP 116x), and the usb device you want to use (eg : mass storage device).
[*] USB support --->
--- USB support
[*] Support for Host-side USB
[ ] USB verbose debug messages
[ ] USB announce new devices
*** Miscellaneous USB options ***
[*] USB device filesystem
[*] USB device class-devices (DEPRECATED)
[ ] Dynamic USB minor allocation
[ ] Rely on OTG Targeted Peripherals List
[ ] Disable external hubs
*** USB Host Controller Drivers ***
[ ] Cypress C67x00 HCD support
[ ] ISP116X HCD support
[*] ISP1362 HCD support
[ ] ISP 1760 HCD support
[ ] SL811HS HCD support
[ ] R8A66597 HCD support
*** NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
*** may also be needed; see USB_STORAGE Help for more infor
[*] USB Mass Storage support
[ ] USB Mass Storage verbose debug
[ ] USB Monitor # unselect this
Turn on file system support, eg, FAT,
If you are using DE2, you may try the example project DE2_System_v1.6/DE2_demonstrations/DE2_NIOS_HOST_MOUSE_VGA of the DE2 v1.6 CD.
when booting, the kernel will detect your hcd, your usb devices.
usbmon: debugfs is not availableusb 1-2: new full speed USB device using isp1362-hcd and address 3
usb 1-2: configuration #1 chosen from 1 choice
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: USB 2.0 Model: Mobile Disk Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda: sda1
sd 1:0:0:0: Attached scsi removable disk sda
# fdisk -l /dev/sda
Disk /dev/sda: 131 MB, 131072000 bytes
16 heads, 32 sectors/track, 500 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 499 127728 6 FAT16
# mount -t vfat /dev/sda1 /mnt
# cd /mnt
# ls
Linux Host Controller driver for the NXP (was Philips semi) ISP176x USB High Speed
Host Controller PCI kit. This driver provides BULK, INTERRUPT, and
ISOCHRONOUS transfer support. hcd and dcd on sf.net .
Bernard ported the driver to a PXA255 running 2.6.17. It's at http://dagobah.ucc.asn.au/isp1761/. See http://sourceforge.net/mailarchive/forum.p...&forum_id=38940 for more info.
If you are designing a new board, you should consider ISP1761 instead
of ISP1362. The ISP1761 is much faster (at high speed) and support more
features.
Understanding and developing Linux USB drivers
SOPC Component for ISP1362
For SOPC Builder, create a new component using this verilog file ISP1362_CTRL.v. Click next until the "interface" tab, then make the following changes :
After creating the component, add it to your design. Make sure it is named "ISP1362". Thats it.
After compiling the design, the pin assignments must be set. The pin names used in the verilog code matches the pin names used in the DE2 User manual. Make sure the pin assignment is done correctly.
This works in Altera Quartus 7.1sp1.
SOPC Component for ISP1161A (also works with Microtronix USB-Ethernet daughterboard)
Add this file (ISP1161A_CRTL_hw.tcl) into your Quartus Project folder, and refresh your SOPC builder. It will then be available under UTM > ISP1161A. Add it into your project and rename the component to "usb". This works in Altera Quartus 8.0.
If the above method gives errors, or doesnt work with a newer version of quartus, use this file (ISP1161_CTRL.v) and create a new component.
Set irq_n as "Interrupt Sender - irq_n". Make sure to assign this interrupt sender to the Avalon bus in the next page.
Set all the USB chip pins as "Conduit - export".
In the next page, set the following values for timing :
After creating the component, add it to your design. Make sure it is named "usb". Thats it.