world leader in high performance signal processing
Trace: » usb_ez-extender

This is an old revision of the document!

Stamp Board USB Add-on Card


This USB Card is designed for stamp board. Which has two USB chips on it: one is SL811HS and another is ISP1362. The SL811HS is an Embedded USB Host/Slave Controller capable of communicating in either full speed (12 Mbps) or low-speed (1.5 Mbps). SL811HS can work in two modes—host or slave, but is not On The Go (OTG). Data sheet can be found at here. To purchase the board, go buy stuff.

The Philips ISP1362 which is a single-chip Universal Serial Bus (USB) On-The-Go (OTG) controller integrated with an Slave Host Controller. It has two USB ports: port 1 and port 2. Port 1 can be hardware configured to function as a downstream port, an upstream port or an OTG port whereas port 2 can only be used as a downstream port. The OTG port can switch roles from host to peripheral, or from peripheral to host. The OTG port can become a host through the Host Negotiation Protocol (HNP) as specified in the OTG supplement. You can find more information here.

You can get the USB card's schematic and PCM layout here.

Currently only the host side drivers are supported for ISP1362 and SL811HS.

Jumpers setting on USB Add-on Card

Set J3 to choose a PF pin as interrupt for ISP1362. Set J5 to choose a PF pin as interrupt for SL811HS. Jumpers on J3 and J5 are divided into two category, one is for BF533 stamp board, another is for BF537 stamp board. The setting should be concurrent with the kernel configuration. Don't select the same pair of pins for ISP1362 and SL811HS.

Settings for BF533-STAMP

Jumpers to setting PF pin
1-2 PF4
3-4 PF8
5-6 PF9
7-8 PF14
9-10 PF15

In order to make BF533 to work with USB-LAN extender, the CPLD on BF533-Stamp Board need to be reprogrammed. For how to reprogram CPLD, please refer to CPLD programming. The CPLD file is

Settings for BF537-STAMP

  • On the USB Board:
Jumpers to setting PF pin
11-12 PF3
13-14 PF4
15-16 PF5
17-18 PF6
19-20 PF7
  • Set sw6.4 to off, to disconnect Asynchronous Memory banks 3 from the NOR Flash on the STAMP board.
  • If choose PF2 to PF5 as the interrupt pin for ISP1362 and SL811HS, the correspondent switch on sw5 need to be set to off according to the following table.
PF pin switch
PF2 sw5.1
PF3 sw5.2
PF4 sw5.3
PF5 sw5.4

Linux Kernel Configuration

Configure asynchronous memory.

Blackfin Processor Options --->
      --- Asynchronous Memory Configuration
          EBIU_AMBCTL Control  --->
                  (0xAAC2) Bank 3

Configure USB Host

USB support  --->
  <*> Support for Host-side USB
    <*> ISP1362 HCD support
    (3)  PF pin for Interrupt
    <*> SL811HS HCD support
    (4)  PF pin for Interrupt

Bellow setting are based on the usb device you are going to use:

  • To use USB Mass Storage device, like a USB flash disk, select:
 USB support  --->
    <*> USB Mass Storage support
 SCSI device support --->
     --- SCSI device support
     <*> SCSI disk support
     [*] Probe all LUNs on each SCSI device
 File systems --->
   DOS/FAT/NT Filesystems --->
     <*> MSDOS fs support
       <*> VFAT (Windows-95) fs support
          (437) Default codepage for FAT
          (iso8859-1) Default iocharset for FAT  
   Native Language Support --->
     --- Base native language support 
     (iso8859-1) Default NLS Option 
     <*>   Codepage 437 (United States, Canada)
     <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)
  • To use USB HID devices
 USB support  --->
    <*> USB Human Interface Device (full HID) support
    [*]   HID input layer support
 Input device support --->
     <*> Generic input layer (needed for keyboard, mouse, ...)
     <*> Mouse interface
     (1024) Horizontal screen resolution
     (768) Vertical screen resolution
     <*> Event interface
     [*] Keyboards --->
     [*] Mouse --->
  • To enable ethernet over usb:
 USB support  --->
        USB Network Adaptors --->
             <*> USB RTL8150 based ethernet device support (EXPERIMENTAL)

Test USB Flash Disk

After booting the kernel, plug the USB Flash Disk to the USB port, you will see message like:

usb 1-2: new full speed USB device using isp1362-hcd and address 4
usb 1-2: configuration #1 chosen from 1 choice
scsi2 : SCSI emulation for USB Mass Storage devices
  Vendor: USB       Model: Flash Disk        Rev: 1.06
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 128928 512-byte hdwr sectors (66 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 128928 512-byte hdwr sectors (66 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda:<7>usb-storage: queuecommand called
sd 2:0:0:0: Attached scsi removable disk sda
sd 2:0:0:0: Attached scsi generic sg0 type 0

Mount ”/dev/sda1” to ”/mnt”

# mount -t vfat /dev/sda1 /mnt

You can try to do R/W on the flash disk.

Test USB Network Adaptor

Assume your Linux host is Suse 9.1

  1. Compile uClinux and download image to Bf537 stamp board.
  2. After kernel is start up. Plug in the USB Network Adaptor.
  3. Run “ifconfig -a”. There is an ethernet interface named eth1 added.
  4. Plug the ethernet cable.
  5. Configure eth1 interface.
    dhcp eth1 &
  6. Run any network application normally. For example:
    Linux:~ # ping
    PING ( 56(84) bytes of data.
    64 bytes from icmp_seq=1 ttl=64 time=2.11 ms
    64 bytes from icmp_seq=2 ttl=64 time=0.256 ms
    64 bytes from icmp_seq=3 ttl=64 time=0.302 ms
    64 bytes from icmp_seq=4 ttl=64 time=0.196 ms
    64 bytes from icmp_seq=5 ttl=64 time=0.323 ms
    64 bytes from icmp_seq=6 ttl=64 time=0.151 ms
    --- ping statistics ---
    6 packets transmitted, 6 received, 0% packet loss, time 5002ms
    rtt min/avg/max/mdev = 0.151/0.556/2.111/0.698 ms