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