sym(4)
NAME
- sym - NCR/Symbios/LSI Logic 53C8XX PCI SCSI host adapter
- driver
SYNOPSIS
For any number of cards: device sym To disable PCI parity checking (needed for broken bridges) options SYM_SETUP_PCI_PARITY=<boolean> To control driver probing against HVD buses options SYM_SETUP_SCSI_DIFF=<bit combination> To control chip attachment balancing between the ncr driver and this driver options SYM_SETUP_LP_PROBE_MAP=<bit combination>
DESCRIPTION
- This driver provides support for the Symbios/LSI Logic
- 53C8XX PCI SCSI
controllers. - Driver features include support for wide SCSI busses and
- fast10, fast20,
fast40 and fast80-dt synchronous data transfers depending on - controller
capabilities. It also provides generic SCSI features such - as tagged command queueing and auto-request sense. This driver is con
- figured by
default for a maximum of 446 outstanding commands per bus, 8 - LUNs per
target and 64 tagged tasks per LUN. These numbers are not - so much limited by design as they are considered reasonable values for
- current SCSI
technology. These values can be increased by changing ap - propriate constants in driver header files (not recommended).
- This driver supports the entire Symbios 53C8XX family of PCI
- SCSI controllers. It also offers the advantage of architectural im
- provements
available only with newer chips. - sym notably handles phase mismatch from SCRIPTS for the
- 53C896, 53C895A,
and 53C1010 cores. As a result, it guarantees that no more - than 1 interrupt per IO completion is delivered to the CPU, and that the
- SCRIPTS processor is never stalled waiting for CPU attention in normal
- situations.
- sym also uses LOAD/STORE SCRIPTS instructions for chips that
- support it.
Only the early 810, 815 and 825 NCR chips do not support - LOAD/STORE. Use
of LOAD/STORE instead of MEMORY MOVE allows SCRIPTS to ac - cess IO registers internal to the chip (no external PCI cycles). As a
- result, the
driver guarantees that no PCI self-mastering will occur for - chips that
support LOAD/STORE. - LOAD/STORE instructions are also faster than MEMORY MOVE be
- cause they do
not involve the chip DMA FIFO and are coded on 2 DWORDs in - stead of 3.
- For the early NCR 810, 815 and 825 chips, the driver uses a
- separate
SCRIPTS set that uses MEMORY MOVE instructions for data - movements. This
is because LOAD/STORE are not supported by these chips. - HVD/LVD capable controllers (895, 895A, 896, and 897) report
- the actual
bus mode in the STEST4 chip IO registers. This feature al - lows the driver
to safely probe against bus mode and to set up the chip ac - cordingly. By
default the driver only supports HVD for these chips. For - other chips
that can support HVD but not LVD, the driver has to probe - implementation
dependent registers (GPIO) in order to detect HVD bus mode. - Only HVD
implementations that conform with Symbios Logic recommenda - tions can be
detected by the driver. When the SYM_SETUP_SCSI_DIFF kernel - option is
assigned a value of 1, the driver will also probe against - HVD for 825a,
875, 876 and 885 chips, assuming Symbios Logic compatible - implementation
of HVD. - When the SYM_SETUP_PCI_PARITY is assigned a value of 0, the
- driver will
not enable PCI parity checking for 53C8XX devices. PCI par - ity checking
should not be an option for PCI SCSI controllers, but some - systems have
been reported to fail using 53C8XX chips, due to spurious or - permanent
PCI parity errors detected. This option is supplied for - convenience but
it is neither recommended nor supported. - The generic ncr(4) driver also supports SYM53C8XX based PCI
- SCSI controllers, except for the SYM53C1010, which is only supported
- by the sym
driver. - By default, when both the ncr(4) and sym drivers are config
- ured, the sym
driver takes precedence over the ncr(4) driver. The user - can indicate a
balancing of chip types between the two drivers by defining - the
SYM_SETUP_LP_PROBE_MAP kernel configuration option as fol - lows:
- Bit Devices to be attached by ncr instead
0x01 53C810a, 53C860
0x02 53C825a, 53C875, 53C876, 53C885, 53C895
0x04 53C895a, 53C896, 53C897, 53C1510d
0x40 53C810, 53C815, 53C825 - For example, if SYM_SETUP_LP_PROBE_MAP is supplied with the
- value 0x41,
the ncr(4) driver will attach to 53C810, 53C815, 53C825, - 53C810a, and
53C860 based controllers, and the sym driver will attach to - all other
53C8XX based controllers. - When only the sym driver is configured, the
- SYM_SETUP_LP_PROBE_MAP option
has no effect. Thus, in this case, the sym driver will at - tach all 53C8XX
based controllers present in the system. - This driver offers other options that are not currently ex
- ported to the
user. They are defined and documented in the sym_conf.h - driver file.
Changing these options is not recommended unless absolutely - necessary.
Some of these options are planned to be exported through - sysctl(3) or an
equivalent mechanism in a future driver releases and there - fore, no compatibility is guaranteed.
- At initialization, the driver tries to detect and read user
- settings from
controller NVRAM. The Symbios/Logic NVRAM layout and the - Tekram NVRAM
layout are currently supported. If the reading of the NVRAM - succeeds,
the following settings are taken into account and reported - to CAM:
- Host settings Symbios Tekram
SCSI parity checking Y N
Host SCSI ident Y Y
Verbose messages Y N
Scan targets hi-lo Y N
Avoid SCSI bus reset Y N - Device settings Symbios Tekram
Synchronous period Y Y
SCSI bus width Y Y
Queue tag enable Y Y
Number of tags NA Y
Disconnect enable Y Y
Scan at boot time Y N
Scan LUN Y N - Devices that are configured as disabled for 'scan' in the
- NVRAM are not
reported to CAM at system start-up. They can be discovered - later using
the `camcontrol rescan' command. - The table below summarizes the main features and capabili
- ties of the
NCR/Symbios/LSI Logic 53C8XX family of PCI SCSI controllers. - Chip Sync Width SRAM PCI64 Supported
sym53c810 10MHz 8Bit N N Y
sym53c810a 10MHz 8Bit N N Y
sym53c815 10MHz 8Bit N N Y
sym53c825 10MHz 16Bit N N Y
sym53c825a 10MHz 16Bit 4KB N Y
sym53c860 20MHz 8Bit N N Y
sym53c875 20MHz 16Bit 4KB N Y
sym53c876 20MHz 16Bit 4KB N Y
sym53c885 20MHz 16Bit 4KB N Y
sym53c895 40MHz 16Bit 4KB N Y
sym53c895A 40MHz 16Bit 8KB N Y
sym53c896 40MHz 16Bit 8KB Y Y
sym53c897 40MHz 16Bit 8KB Y Y
sym53c1510D 40MHz 16Bit 4KB Y Y
sym53c1010 80MHz 16Bit 8KB Y Y
HARDWARE
- The sym driver provides support for the following Sym
- bios/LSI Logic PCI
SCSI controllers: - +o 53C810
+o 53C810A
+o 53C815
+o 53C825
+o 53C825A
+o 53C860
+o 53C875
+o 53C876
+o 53C895
+o 53C895A
+o 53C896
+o 53C897
+o 53C1000
+o 53C1000R
+o 53C1010-33
+o 53C1010-66
+o 53C1510D - The SCSI controllers supported by sym can be either embedded
- on a motherboard, or on one of the following add-on boards:
- +o ASUS SC-200, SC-896
+o Data Technology DTC3130 (all variants)
+o DawiControl DC2976UW
+o Diamond FirePort (all)
+o I-O DATA SC-UPCI (PC-98)
+o Logitec LHA-521UA (PC-98)
+o NCR cards (all)
+o Symbios cards (all)
+o Tekram DC390W, 390U, 390F, 390U2B, 390U2W, 390U3D, and - 390U3W
+o Tyan S1365
MISC
The DEC KZPCA-AA is a rebadged SYM8952U.
SEE ALSO
cd(4), da(4), ncr(4), sa(4), scsi(4), camcontrol(8)
HISTORY
The sym driver appeared in FreeBSD 4.0.
AUTHORS
- The sym driver was written by Gerard Roudier and is derived
- from the
Linux sym53c8xx driver from the same author. The sym53c8xx - driver is
derived from the ncr53c8xx driver, which was ported from the - FreeBSD
ncr(4) driver to Linux-1.2.13. The original ncr(4) driver - was written
for 386BSD and FreeBSD by Wolfgang Stanglmeier and Stefan - Esser.
BUGS
- No known bugs.
- BSD August 19, 2004