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

FreeBSD Manual Pages


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

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

     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
     options SYM_SETUP_LP_PROBE_MAP=<bit combination>

     This driver provides support for the Symbios/LSI Logic 53C810, 53C815,
     53C825, 53C810A, 53C825A, 53C860, 53C875, 53C876, 53C895, 53C895A,
     53C896, 53C897, 53C1510D, and 53C1010 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 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.

     The generic ncr(4)	driver also supports SYM53C8XX based PCI SCSI con-
     trollers, except for the SYM53C1010, which	is only	supported by the sym

     By	default, when both the ncr(4) and sym drivers are configured, 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 follows:

     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 attach all	53C8XX
     based controllers present in the system.

     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

     No	known bugs.

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

     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.

     The sym driver appeared in	FreeBSD	4.0.

BSD			       January 12, 2000				   BSD


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

home | help