xref: /OK3568_Linux_fs/kernel/Documentation/scsi/g_NCR5380.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun.. include:: <isonum.txt>
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun==========================================
5*4882a593SmuzhiyunREADME file for the Linux g_NCR5380 driver
6*4882a593Smuzhiyun==========================================
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunCopyright |copy| 1993 Drew Eckhard
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunNCR53c400 extensions Copyright |copy| 1994,1995,1996 Kevin Lentin
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunThis file documents the NCR53c400 extensions by Kevin Lentin and some
13*4882a593Smuzhiyunenhancements to the NCR5380 core.
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunThis driver supports NCR5380 and NCR53c400 and compatible cards in port or
16*4882a593Smuzhiyunmemory mapped modes.
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunUse of an interrupt is recommended, if supported by the board, as this will
19*4882a593Smuzhiyunallow targets to disconnect and thereby improve SCSI bus utilization.
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunIf the irq parameter is 254 or is omitted entirely, the driver will probe
22*4882a593Smuzhiyunfor the correct IRQ line automatically. If the irq parameter is 0 or 255
23*4882a593Smuzhiyunthen no IRQ will be used.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunThe NCR53c400 does not support DMA but it does have Pseudo-DMA which is
26*4882a593Smuzhiyunsupported by the driver.
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunThis driver provides some information on what it has detected in
29*4882a593Smuzhiyun/proc/scsi/g_NCR5380/x where x is the scsi card number as detected at boot
30*4882a593Smuzhiyuntime. More info to come in the future.
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunThis driver works as a module.
33*4882a593SmuzhiyunWhen included as a module, parameters can be passed on the insmod/modprobe
34*4882a593Smuzhiyuncommand line:
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun  ============= ===============================================================
37*4882a593Smuzhiyun  irq=xx[,...]	the interrupt(s)
38*4882a593Smuzhiyun  base=xx[,...]	the port or base address(es) (for port or memory mapped, resp.)
39*4882a593Smuzhiyun  card=xx[,...]	card type(s):
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun		==  ======================================
42*4882a593Smuzhiyun		0   NCR5380,
43*4882a593Smuzhiyun		1   NCR53C400,
44*4882a593Smuzhiyun		2   NCR53C400A,
45*4882a593Smuzhiyun		3   Domex Technology Corp 3181E (DTC3181E)
46*4882a593Smuzhiyun		4   Hewlett Packard C2502
47*4882a593Smuzhiyun		==  ======================================
48*4882a593Smuzhiyun  ============= ===============================================================
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunThese old-style parameters can support only one card:
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  ============= =================================================
53*4882a593Smuzhiyun  ncr_irq=xx    the interrupt
54*4882a593Smuzhiyun  ncr_addr=xx   the port or base address (for port or memory
55*4882a593Smuzhiyun                mapped, resp.)
56*4882a593Smuzhiyun  ncr_5380=1    to set up for a NCR5380 board
57*4882a593Smuzhiyun  ncr_53c400=1  to set up for a NCR53C400 board
58*4882a593Smuzhiyun  ncr_53c400a=1 to set up for a NCR53C400A board
59*4882a593Smuzhiyun  dtc_3181e=1   to set up for a Domex Technology Corp 3181E board
60*4882a593Smuzhiyun  hp_c2502=1    to set up for a Hewlett Packard C2502 board
61*4882a593Smuzhiyun  ============= =================================================
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunE.g. Trantor T130B in its default configuration::
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	modprobe g_NCR5380 irq=5 base=0x350 card=1
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunor alternatively, using the old syntax::
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_53c400=1
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunE.g. a port mapped NCR5380 board, driver to probe for IRQ::
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	modprobe g_NCR5380 base=0x350 card=0
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunor alternatively::
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	modprobe g_NCR5380 ncr_addr=0x350 ncr_5380=1
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunE.g. a memory mapped NCR53C400 board with no IRQ::
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	modprobe g_NCR5380 irq=255 base=0xc8000 card=1
82*4882a593Smuzhiyun
83*4882a593Smuzhiyunor alternatively::
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
86*4882a593Smuzhiyun
87*4882a593SmuzhiyunE.g. two cards, DTC3181 (in non-PnP mode) at 0x240 with no IRQ
88*4882a593Smuzhiyunand HP C2502 at 0x300 with IRQ 7::
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun	modprobe g_NCR5380 irq=0,7 base=0x240,0x300 card=3,4
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunKevin Lentin
93*4882a593SmuzhiyunK.Lentin@cs.monash.edu.au
94