Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SYM(4)		       FreeBSD Kernel Interfaces Manual			SYM(4)

     sym -- NCR/Symbios/LSI Logic 53C8XX PCI SCSI host adapter driver

     To	compile	this driver into the kernel, place the following lines in your
     kernel configuration file:

	   device pci
	   device scbus
	   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>

	   Alternatively, to load the driver as	a module at boot time, place
	   the following line in loader.conf(5):


     This driver provides support for the Symbios/LSI Logic 53C8XX PCI SCSI

     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 com-
     mand queueing and auto-request sense.  This driver	is configured by de-
     fault for a maximum of 446	outstanding commands per bus, 8	LUNs per tar-
     get and 64	tagged tasks per LUN.  These numbers are not so	much limited
     by	design as they are considered reasonable values	for current SCSI tech-
     nology.  These values can be increased by changing	appropriate constants
     in	driver header files (not recommended).

     This driver supports the entire Symbios 53C8XX family of PCI SCSI con-
     trollers.	It also	offers the advantage of	architectural improvements
     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	inter-
     rupt per IO completion is delivered to the	CPU, and that the SCRIPTS pro-
     cessor 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 access IO regis-
     ters 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 because they do
     not involve the chip DMA FIFO and are coded on 2 DWORDs instead 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 allows the	driver
     to	safely probe against bus mode and to set up the	chip accordingly.  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 im-
     plementations that	conform	with Symbios Logic recommendations can be de-
     tected by the driver.  When the SYM_SETUP_SCSI_DIFF kernel	option is as-
     signed 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 parity 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.

     This driver offers	other options that are not currently exported 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 therefore, no	com-
     patibility	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 capabilities 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

     The sym driver provides support for the following Symbios/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 mother-
     board, 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	 NCR cards (all)
     o	 Symbios cards (all)
     o	 Tekram	DC390W,	390U, 390F, 390U2B, 390U2W, 390U3D, and	390U3W
     o	 Tyan S1365

     The DEC KZPCA-AA is a rebadged SYM8952U.

     cd(4), da(4), sa(4), scsi(4), camcontrol(8)

     The sym driver appeared in	FreeBSD	4.0.

     The sym driver was	written	by Gerard Roudier and is derived from the
     Linux sym53c8xx driver from the same author.  The sym53c8xx driver	is de-
     rived 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.

     No	known bugs.

FreeBSD	13.0		       December	26, 2020		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help