128 lines
4.2 KiB
Groff
128 lines
4.2 KiB
Groff
.\" $NetBSD: slhci.4,v 1.12 2017/10/16 12:48:24 wiz Exp $
|
|
.\"
|
|
.\" Not (c) 2007 Matthew Orgass
|
|
.\" This file is public domain, meaning anyone can make any use of part or all
|
|
.\" of this file including copying into other works without credit. Any use,
|
|
.\" modified or not, is solely the responsibility of the user. If this file is
|
|
.\" part of a collection then use in the collection is governed by the terms of
|
|
.\" the collection.
|
|
.\"
|
|
.Dd October 14, 2017
|
|
.Dt SLHCI 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm slhci
|
|
.Nd Cypress/ScanLogic SL811HS USB Host Controller driver
|
|
.Sh SYNOPSIS
|
|
.Ss amiga
|
|
.Cd "slhci* at zbus?"
|
|
.Ss PCMCIA (CF) controllers
|
|
.Cd "slhci* at pcmcia? function ?"
|
|
.Cd "usb* at slhci?"
|
|
.Ss ISA controllers
|
|
.Cd "slhci* at isa? port ? irq ?"
|
|
.Cd "usb* at slhci?"
|
|
.Ss TURBOchannel controllers
|
|
.Cd "tcu* at tc? slot ? offset ?"
|
|
.Cd "slhci* at tcu?"
|
|
.Cd "usb* at slhci?"
|
|
.Ss x68k
|
|
.Cd "slhci0 at intio0 addr 0xece380 intr 251"
|
|
.Cd "slhci1 at intio0 addr 0xeceb80 intr 250"
|
|
.Cd "usb* at slhci?"
|
|
.Pp
|
|
.Cd options SLHCI_TRY_LSVH
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver provides support for Cypress/ScanLogic SL811HS USB Host Controller.
|
|
.Pp
|
|
The driver supports control, bulk, and interrupt transfers but not
|
|
isochronous (audio), which cannot be supported by this chip without perfectly
|
|
reliable 1ms interrupts.
|
|
USB is polled and this chip requires the driver to initiate all transfers.
|
|
The driver interrupts at least once every ms when a device is attached even
|
|
if no data is transferred.
|
|
The driver polls the chip when the transfer is expected to be completed soon;
|
|
with maximum use of the bus, the driver will not exit for most of each ms.
|
|
Use of this driver can easily have a significant performance impact on any
|
|
system.
|
|
.Pp
|
|
The chip is unreliable in some conditions, possibly due in part to difficulty
|
|
meeting timing restrictions (this is likely to be worse on multiprocessor
|
|
systems).
|
|
Unexpected device behavior may trigger some problems; power cycling
|
|
externally powered devices may help resolve persistent problems.
|
|
Detection of invalid chip state will usually cause the driver to halt,
|
|
however is recommended that all data transfers be verified.
|
|
Data corruption due to controller error will not be detected automatically.
|
|
Unmounting and remounting a device is necessary to prevent use of cached data.
|
|
.Pp
|
|
The driver currently will start the next incoming packet before copying in the
|
|
previous packet but will not copy the next outgoing packet before the previous
|
|
packet is transferred.
|
|
Reading or writing the chip is about the same speed as the USB bus, so this
|
|
means that one outgoing transfer is half the speed of one incoming transfer
|
|
and two outgoing transfers are needed to use the full available bandwidth.
|
|
.Pp
|
|
All revisions of the SL811HS have trouble with low speed devices attached to
|
|
some (likely most) hubs.
|
|
Low speed traffic via hub is not allowed by default, but can be enabled with
|
|
.Cd options SLHCI_TRY_LSVH
|
|
in the kernel config file or by setting the
|
|
.Va slhci_try_lsvh
|
|
variable to non-zero using
|
|
.Xr ddb 4
|
|
or
|
|
.Xr gdb 1 .
|
|
.Pp
|
|
Many USB keyboards have built in hubs and may be low speed devices.
|
|
All USB mice I have seen are low speed devices, however a serial mouse should
|
|
be usable on a hub with a full speed Serial-USB converter.
|
|
A PS2-USB keyboard and mouse converter is likely to be a single low speed
|
|
device.
|
|
.Pp
|
|
Some hardware using this chip does not provide the USB minimum 100mA current,
|
|
which could potentially cause problems even with externally powered hubs.
|
|
The system can allow excess power use in some other cases as well.
|
|
Some signs of excess power draw may cause the driver to halt, however this
|
|
may not stop the power draw.
|
|
To be safe verify power use and availability before connecting any
|
|
device.
|
|
.Sh HARDWARE
|
|
Hardware supported by the
|
|
.Nm
|
|
driver includes:
|
|
.Bl -item -offset indent
|
|
.It
|
|
Ratoc CFU1U
|
|
.It
|
|
Nereid Ethernet/USB/Memory board
|
|
.It
|
|
Thylacine USB Host Controller
|
|
.It
|
|
flxd TC-USB
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr config 1 ,
|
|
.Xr isa 4 ,
|
|
.Xr pcmcia 4 ,
|
|
.Xr tc 4 ,
|
|
.Xr tcu 4 ,
|
|
.Xr usb 4
|
|
.Rs
|
|
.%T Cypress SL811HS datasheet, errata, and application note
|
|
.%U http://www.cypress.com
|
|
.Re
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
driver appeared in
|
|
.Nx 2.0
|
|
and was rewritten in
|
|
.Nx 5.0 .
|
|
.Sh AUTHORS
|
|
.An Tetsuya Isaki
|
|
.Aq isaki@NetBSD.org
|
|
.An Matthew Orgass
|