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