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

FreeBSD Manual Pages

  
 
  

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

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

SYNOPSIS
       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):

	     sym_load="YES"

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 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	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
       access  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 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 dri-
       ver  to	safely	probe  against bus mode	and to set up the chip accord-
       ingly.  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	recom-
       mendations 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 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
       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 suc-
       ceeds, 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

HARDWARE
       The sym driver provides support for the following Symbios/LSI Logic PCI
       SCSI controllers:

          53C810
          53C810A
          53C815
          53C825
          53C825A
          53C860
          53C875
          53C876
          53C895
          53C895A
          53C896
          53C897
          53C1000
          53C1000R
          53C1010-33
          53C1010-66
          53C1510D

       The SCSI	controllers supported by sym can be either embedded on a moth-
       erboard,	or on one of the following add-on boards:

          ASUS	SC-200,	SC-896
          Data	Technology DTC3130 (all	variants)
          DawiControl DC2976UW
          Diamond FirePort (all)
          NCR cards (all)
          Symbios cards (all)
          Tekram DC390W, 390U,	390F, 390U2B, 390U2W, 390U3D, and 390U3W
          Tyan	S1365

MISC
       The DEC KZPCA-AA	is a rebadged SYM8952U.

SEE ALSO
       cd(4), da(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.

FreeBSD	14.3		       December	26, 2020			SYM(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sym&sektion=4&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help