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