atomide.com

atomide.com

  booting droid 4 xt894 with current kernel

booting hp t410 with current kernel

booting n8x0 with current kernel

unofficial n800 usb host mode

dynamic tick timer for linux

unofficial omap linux patches

linux for psion 5mx and revo kernel patches

proboot linux bootloader for psion 5mx pro

xpsitouch linux touch panel button handler for psion

linux fast serial port enabler for w83627hf

amd 76x native power management for linux

misc amd64 stuff for linux

powerbook 5300/1400 trex pcmcia driver for linux

pjb-100 personal jukebox usb driver for linux-2.6

xawtv-3.76 patch for remote X11 displays

dog toys

 
  

          


UNOFFICIAL USB HOST MODE PATCHES FOR NOKIA N800

Here are backported USB host patches from the linux-omap git tree and some
extra patches. These patches are against the N800 2.6.18 tree to make the USB
host mode to work.

These patches apply against Nokia's N800 kernel tree at:

http://repository.maemo.org/pool/maemo3.2/free/source/
kernel-source-rx-34_2.6.18.orig.tar.gz
kernel-source-rx-34_2.6.18-osso55.diff.gz

CURRENT STATUS

- The driver mostly works, and there's minimal power management for host mode
- DMA is not very usable, it's one transfer per packet

N800 must run OTG mode for the host mode to work. As N800 does not have a
mini-AB connector, you need to modify a mini-AB cable, or use a non-standard
mini-B to mini-B cable. The patches include some changes to the N800 config,
but you may want to modify the config for your needs.

MODIFIED MINI-AB CABLE

To modify a mini-AB cable for N800 host mode, you need to cut the metal
shielding off at mini-A end so the mini-A connector will fit into the mini-B
socket on N800. This modification will make the cable not stay in the socket
very well, so a mini-B to mini-B cable may be a better option.

Customizing a mini-AB cable has the advantage of grounding the USB ID pin for
role switching, and the software hack above is not needed to switch the role.

Note that mini-A connector cannot be forced to be peripheral end as it grounds
the ID line. When grounded, software cannot drive it up with a pull-up.

It should be also possible to replace the mini-B connector on N800 with a
mini-AB connector, but that is a risky operation and you may ruin your board.
I'd assume this will also void the warranty, so I don't recommend it.

CHANGING THE ROLE VIA SYSFS

You can use sysfs to change between host and gadget mode with a non-standard
mini-B to mini-B cable:

$ echo host > /sys/devices/platform/musb_hdrc/mode

To set N800 back to OTG mode, do:

# echo otg > /sys/devices/platform/musb_hdrc/mode

If the system does not detect cable events after switching back to OTG mode,
switch it to peripheral mode first, then to OTG mode:

# echo peripheral > /sys/devices/platform/musb_hdrc/mode
# echo otg > /sys/devices/platform/musb_hdrc/mode

USB VBUS POWER LIMITATIONS

For most USB devices you need to connect the N800 to a powered USB hub. N800
can only provide 100mA of power, so basically any load on the VBUS line will
make the host mode to fail. Since N800 can provide nominal VBUS power, a
N770 modified hub is not needed.

To download the patches as a tar.gz quilt series:

patches-tusb-n800-2007-10-12.tar.gz
patches-tusb-n800-2007-07-03.tar.gz
patches-tusb-n800-2007-05-04.tar.gz
patches-tusb-n800-2007-04-18.tar.gz (Do not use)

Please send bug reports and patches to linux-omap-open-source@linux.omap.com
mailing list (subscription only). You can subscribe to the mailing list
here.


          
        
          

back to main page