]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/sym.4
unfinished sblive driver, playback/mixer only for now - not enabled in
[FreeBSD/FreeBSD.git] / share / man / man4 / sym.4
1 .\"
2 .\"  Device driver optimized for the Symbios/LSI 53C896/53C895A/53C1010
3 .\"  PCI-SCSI controllers.
4 .\"
5 .\"  Copyright (C) 1999-2000  Gerard Roudier <groudier@club-internet.fr>
6 .\"
7 .\"  This driver also supports the following Symbios/LSI PCI-SCSI chips:
8 .\"     53C810A, 53C825A, 53C860, 53C875, 53C876, 53C885, 53C895.
9 .\"
10 .\"  but does not support earlier chips as the following ones:
11 .\"     53C810, 53C815, 53C825.
12 .\"
13 .\"  This driver for FreeBSD-CAM is derived from the Linux sym53c8xx driver.
14 .\"  Copyright (C) 1998-1999  Gerard Roudier
15 .\"
16 .\"  The sym53c8xx driver is derived from the ncr53c8xx driver that had been
17 .\"  a port of the FreeBSD ncr driver to Linux-1.2.13.
18 .\"
19 .\"  The original ncr driver has been written for 386bsd and FreeBSD by
20 .\"          Wolfgang Stanglmeier        <wolf@cologne.de>
21 .\"          Stefan Esser                <se@mi.Uni-Koeln.de>
22 .\"  Copyright (C) 1994  Wolfgang Stanglmeier
23 .\"
24 .\"  The initialization code, and part of the code that addresses
25 .\"  FreeBSD-CAM services is based on the aic7xxx driver for FreeBSD-CAM
26 .\"  written by Justin T. Gibbs.
27 .\"
28 .\"  Other major contributions:
29 .\"
30 .\"  NVRAM detection and reading.
31 .\"  Copyright (C) 1997 Richard Waltham <dormouse@farsrobt.demon.co.uk>
32 .\"
33 .\" ----------------------------------------------------------------------------
34 .\"
35 .\" Redistribution and use in source and binary forms, with or without
36 .\" modification, are permitted provided that the following conditions
37 .\" are met:
38 .\" 1. Redistributions of source code must retain the above copyright
39 .\"    notice, this list of conditions and the following disclaimer.
40 .\" 2. Redistributions in binary form must reproduce the above copyright
41 .\"    notice, this list of conditions and the following disclaimer in the
42 .\"    documentation and/or other materials provided with the distribution.
43 .\" 3. The name of the author may not be used to endorse or promote products
44 .\"    derived from this software without specific prior written permission.
45 .\"
46 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
47 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
49 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
50 .\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
52 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
53 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
54 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
55 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 .\" SUCH DAMAGE.
57 .\"
58 .\" $FreeBSD$
59 .\"
60 .Dd January 12, 2000
61 .Dt SYM 4 i386
62 .Os FreeBSD
63 .Sh NAME
64 .Nm sym
65 .Nd Symbios/LSI Logic PCI-SCSI host adapter driver
66 .Sh SYNOPSIS
67 For any number of cards:
68 .Cd device sym
69 .Pp
70 To disable PCI parity checking (needed for broken bridges)
71 .Cd options SYM_SETUP_PCI_PARITY=<boolean>
72 .Pp
73 To control driver probing against HVD buses
74 .Cd options SYM_SETUP_SCSI_DIFF=<bit combination>
75 .Pp
76 To control chip attachment balancing between the ncr driver and this driver
77 .Cd options SYM_SETUP_LP_PROBE_MAP=<bit combination>
78 .Sh DESCRIPTION
79 This driver provides support for the Symbios/LSI Logic
80 .Tn 53C810A,
81 .Tn 53C825A,
82 .Tn 53C860,
83 .Tn 53C875,
84 .Tn 53C876,
85 .Tn 53C895,
86 .Tn 53C895A,
87 .Tn 53C896,
88 .Tn 53C897,
89 .Tn 53C1510D,
90 and
91 .Tn 53C1010
92 PCI-SCSI controllers.
93 .Pp
94 Driver features include support for wide SCSI busses, fast10, fast20,
95 fast40 and fast80-dt synchronous data transfers depending on controller
96 capabilities.
97 It also provides generic SCSI features as tagged command
98 queuing and auto-request sense.
99 This driver is configured by default
100 for a maximum of 446 outstanding commands per bus, 8 LUNs per target
101 and 64 tagged tasks per LUN.
102 These numbers are not so limited by design,
103 as have been considered reasonable values for current SCSI technology.
104 These values can be increased by changing appropriate
105 constants in driver header files (not recommended).
106 .Pp
107 This driver requires the PCI-SCSI chip to implement LOAD/STORE SCRIPTS
108 instructions and therefore it does not provide support for 53C810 revid < 16,
109 53C825 revid < 16 and all 53C815 revisions.
110 The generic
111 .Nm ncr
112 driver can be used to support these early chips.
113 .Pp
114 By default, when both the
115 .Nm ncr
116 and
117 .Nm
118 drivers are configured, the
119 .Nm
120 driver takes precedence over the
121 .Nm ncr
122 driver for all chips that are supported by
123 both drivers.
124 As result, the
125 .Nm ncr
126 driver does only attach the 53C8XX
127 chips that donnot support LOAD/STORE (i.e.: 53C810, 53C815 and 53C825).
128 User can change the balancing of chip types between drivers by defining
129 the
130 .Ar SYM_SETUP_LP_PROBE_MAP
131 kernel configuration option as follows:
132 .Bl -column "Bit   " "53C8XXA, 53C8XX, 53C8XX, 53C8XX, 53C8XX, 53C8XX"
133 .Em Bit Devices attached by ncr instead
134 1       53C810a, 53C860
135 2       53C825a, 53C875, 53C876, 53C885, 53C895
136 4       53C895a, 53C896, 53C897, 53C1510d
137 .El
138 .Ed
139 .Pp
140 For example, if
141 .Ar SYM_SETUP_LP_PROBE_MAP
142 is supplied with value 7, all the
143 above chips will be attached by the
144 .Nm ncr
145 driver and the
146 .Nm
147 driver will only
148 attach the 53C1010 Ultra-3 controllers.
149 .Pp
150 HVD/LVD capable controllers (895, 895A, 896, 897 and 1010) report
151 the actual bus mode from the STEST4 chip IO registers.
152 This feature
153 allows to safely probe against bus mode and to set up the chip
154 accordingly.
155 By default the driver only supports HVD for these chips.
156 For other chips that can support HVD but not LVD, the driver has to probe
157 implementation dependent registers (GPIO) in order to detect HVD bus mode.
158 Only HVD implementations that conform with Symbios Logic recommendation can
159 be detected by the driver.
160 When the
161 .Ar SYM_SETUP_SCSI_DIFF
162 kernel is provided
163 as value 1, the driver will also probe against HVD for 825a, 875, 876 and
164 885 chips, assuming Symbios Logic compatible implementation of HVD.
165 .Pp
166 When supplied as 0, the
167 .Ar SYM_SETUP_PCI_PARITY
168 kernel configuration option
169 indicates the driver not to enable PCI parity checking.
170 PCI parity
171 checking should not be an option for PCI-SCSI controllers, but some
172 systems have been reported to fail using 53C8XX chips due to spurious or
173 permanent PCI parity errors detected.
174 This option is supplied for
175 convenience but it is not recommended nor supported.
176 .Pp
177 This driver offers other options that are not currently exported to user.
178 They are defined and documented in the sym_conf.h driver file.
179 It is not
180 recommended to change these options unless absolute need.
181 Some of these
182 options are planned to be exported through SYSCTL or equivalent mechanism
183 in a further driver release and therefore, no compatibility is guaranteed.
184 .Pp
185 At initialization, the driver tries to detect and read user settings from
186 controller NVRAM.
187 The Symbios/Logic NVRAM layout and the Tekram NVRAM
188 layout are currently supported.
189 If the reading of the NVRAM succeeds, the
190 following settings are taken into account and reported to CAM:
191 .Pp
192 .Bl -column "SCSI parity checking      " "Symbios     " "Tekram"
193 .Em Host settings       Symbios Tekram
194 SCSI parity checking    Y       N
195 Host SCSI ident         Y       Y
196 Verbose messages        Y       N
197 Scan targets hi-lo      Y       N
198 Avoid SCSI bus reset    Y       N
199 .Pp
200 .El
201 .Bl -column "Synchronous period       " "Symbios     " "Tekram"
202 .Em Device settings     Symbios Tekram
203 Synchronous period      Y       Y
204 SCSI bus width          Y       Y
205 Queue tag enable        Y       Y
206 Number of tags          NA      Y
207 Disconnect enable       Y       Y
208 Scan at boot time       Y       N
209 Scan LUN        Y       N
210 .El
211 .Pp
212 Devices that are configured as disabled for 'scan' in the NVRAM are not
213 reported to CAM at system start-up.
214 They can be discovered later using
215 the
216 .Nm camcontrol rescan
217 command.
218 .Pp
219 The table below summarizes the main features and capabilities of the
220 NCR/Symbios/LSI Logic 53C8XX family of PCI-SCSI controllers.
221 .Pp
222 .Bl -column sym53c1510d "Sync   " "Width  " "SRAM  " "PCI64"
223 .Em Chip        Sync    Width   SRAM    PCI64   Supported
224 sym53c810       10MHz   8Bit    N       N       N
225 sym53c810a      10MHz   8Bit    N       N       Y
226 sym53c815       10MHz   8Bit    N       N       N
227 sym53c825       10MHz   16Bit   N       N       N
228 sym53c825a      10MHz   16Bit   4KB     N       Y
229 sym53c860       20MHz   8Bit    N       N       Y
230 sym53c875       20MHz   16Bit   4KB     N       Y
231 sym53c876       20MHz   16Bit   4KB     N       Y
232 sym53c885       20MHz   16Bit   4KB     N       Y
233 sym53c895       40MHz   16Bit   4KB     N       Y
234 sym53c895A      40MHz   16Bit   8KB     N       Y
235 sym53c896       40MHz   16Bit   8KB     Y       Y
236 sym53c897       40MHz   16Bit   8KB     Y       Y
237 sym53c1510D     40MHz   16Bit   4KB     Y       Y
238 sym53c1010      80MHz   16Bit   8KB     Y       Y
239 .El
240 .Pp
241 .Sh BUGS
242 No known bugs.
243 .Sh SEE ALSO
244 .Xr cd 4 ,
245 .Xr da 4 ,
246 .Xr ncr 4 ,
247 .Xr sa 4 ,
248 .Xr scsi 4 ,
249 .Xr camcontrol 8
250 .Sh AUTHORS
251 The
252 .Nm
253 driver has been written by Gerard Roudier and is derived from the
254 Linux sym53c8xx driver from the same author.
255 The sym53c8xx driver is derived from the ncr53c8xx driver that had been
256 a port of the
257 .Fx
258 .Nm ncr
259 driver to Linux-1.2.13.
260 The original
261 .Nm ncr
262 driver was written for 386BSD and
263 .Fx
264 by Wolfgang Stanglmeier and Stefan Esser.
265 .Sh HISTORY
266 The
267 .Nm
268 driver appeared in
269 .Fx 4.0 .
270