1.\" $NetBSD: slhci.4,v 1.8 2010/01/15 19:24:49 joerg Exp $ 2.\" 3.\" Not (c) 2007 Matthew Orgass 4.\" This file is public domain, meaning anyone can make any use of part or all 5.\" of this file including copying into other works without credit. Any use, 6.\" modified or not, is solely the responsibility of the user. If this file is 7.\" part of a collection then use in the collection is governed by the terms of 8.\" the collection. 9.\" 10.Dd April 24, 2007 11.Dt SLHCI 4 12.Os 13.Sh NAME 14.Nm slhci 15.Nd Cypress/ScanLogic SL811HS USB Host Controller driver 16.Sh SYNOPSIS 17.Ss PCMCIA (CF) controllers 18.Cd "slhci* at pcmcia? function ?" 19.Cd "usb* at slhci?" 20.Ss ISA controllers 21.Cd "slhci* at isa? port ? irq ?" 22.Cd "usb* at slhci?" 23.Ss x68k 24.Cd "slhci0 at intio0 addr 0xece380 intr 251" 25.Cd "slhci1 at intio0 addr 0xeceb80 intr 250" 26.Cd "usb* at slhci?" 27.Pp 28.Cd options SLHCI_TRY_LSVH 29.Sh DESCRIPTION 30The 31.Nm 32driver provides support for Cypress/ScanLogic SL811HS USB Host Controller. 33.Pp 34The driver supports control, bulk, and interrupt transfers but not 35isochronous (audio), which cannot be supported by this chip without perfectly 36reliable 1ms interrupts. 37USB is polled and this chip requires the driver to initiate all transfers. 38The driver interrupts at least once every ms when a device is attached even 39if no data is transferred. 40The driver polls the chip when the transfer is expected to be completed soon; 41with maximum use of the bus, the driver will not exit for most of each ms. 42Use of this driver can easily have a significant performance impact on any 43system. 44.Pp 45The chip is unreliable in some conditions, possibly due in part to difficulty 46meeting timing restrictions (this is likely to be worse on multiprocessor 47systems). 48Unexpected device behavior may trigger some problems; power cycling 49externally powered devices may help resolve persistent problems. 50Detection of invalid chip state will usually cause the driver to halt, 51however is recommended that all data transfers be verified. 52Data corruption due to controller error will not be detected automatically. 53Unmounting and remounting a device is necessary to prevent use of cached data. 54.Pp 55The driver currently will start the next incoming packet before copying in the 56previous packet but will not copy the next outgoing packet before the previous 57packet is transferred. 58Reading or writing the chip is about the same speed as the USB bus, so this 59means that one outgoing transfer is half the speed of one incoming transfer 60and two outgoing transfers are needed to use the full available bandwidth. 61.Pp 62All revisions of the SL811HS have trouble with low speed devices attached to 63some (likely most) hubs. 64Low speed traffic via hub is not allowed by default, but can be enabled with 65.Cd options SLHCI_TRY_LSVH 66in the kernel config file or by setting the 67.Va slhci_try_lsvh 68variable to non-zero using 69.Xr ddb 4 70or 71.Xr gdb 1 . 72.Pp 73Many USB keyboards have built in hubs and may be low speed devices. 74All USB mice I have seen are low speed devices, however a serial mouse should 75be usable on a hub with a full speed Serial-USB converter. 76A PS2-USB keyboard and mouse converter is likely to be a single low speed 77device. 78.Pp 79Some hardware using this chip does not provide the USB minimum 100mA current, 80which could potentially cause problems even with externally powered hubs. 81The system can allow excess power use in some other cases as well. 82Some signs of excess power draw may cause the driver to halt, however this 83may not stop the power draw. 84To be safe verify power use and availability before connecting any 85device. 86.Sh HARDWARE 87Hardware supported by the 88.Nm 89driver includes: 90.Bl -item -offset indent 91.It 92.Tn Ratoc 93.Em CFU1U 94.It 95.Tn Nereid 96Ethernet/USB/Memory board 97.El 98.Sh SEE ALSO 99.Xr config 1 , 100.Xr isa 4 , 101.Xr pcmcia 4 , 102.Xr usb 4 103.Rs 104.%T Cypress SL811HS datasheet, errata, and application note 105.%U http://www.cypress.com 106.Re 107.Sh HISTORY 108The 109.Nm 110driver appeared in 111.Nx 2.0 112and was rewritten in 113.Nx 5.0 . 114.Sh AUTHORS 115.An Tetsuya Isaki 116.Aq isaki@NetBSD.org 117.An Matthew Orgass 118