Commit f7657677 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Martin K. Petersen
parent 7f877908
.. SPDX-License-Identifier: GPL-2.0
=======================
The 53c700 Driver Notes
=======================
General Description General Description
=================== ===================
...@@ -16,9 +22,9 @@ fill in to get the driver working. ...@@ -16,9 +22,9 @@ fill in to get the driver working.
Compile Time Flags Compile Time Flags
================== ==================
A compile time flag is: A compile time flag is::
CONFIG_53C700_LE_ON_BE CONFIG_53C700_LE_ON_BE
define if the chipset must be supported in little endian mode on a big define if the chipset must be supported in little endian mode on a big
endian architecture (used for the 700 on parisc). endian architecture (used for the 700 on parisc).
...@@ -51,9 +57,11 @@ consistent with the best operation of the chip (although some choose ...@@ -51,9 +57,11 @@ consistent with the best operation of the chip (although some choose
to drive it off the CPU or bus clock rather than going to the expense to drive it off the CPU or bus clock rather than going to the expense
of an extra clock chip). The best operation clock speeds are: of an extra clock chip). The best operation clock speeds are:
53c700 - 25MHz ========= =====
53c700-66 - 50MHz 53c700 25MHz
53c710 - 40Mhz 53c700-66 50MHz
53c710 40Mhz
========= =====
Writing Your Glue Driver Writing Your Glue Driver
======================== ========================
...@@ -69,7 +77,7 @@ parameters that matter to you (see below), plumb the NCR_700_intr ...@@ -69,7 +77,7 @@ parameters that matter to you (see below), plumb the NCR_700_intr
routine into the interrupt line and call NCR_700_detect with the host routine into the interrupt line and call NCR_700_detect with the host
template and the new parameters as arguments. You should also call template and the new parameters as arguments. You should also call
the relevant request_*_region function and place the register base the relevant request_*_region function and place the register base
address into the `base' pointer of the host parameters. address into the 'base' pointer of the host parameters.
In the release routine, you must free the NCR_700_Host_Parameters that In the release routine, you must free the NCR_700_Host_Parameters that
you allocated, call the corresponding release_*_region and free the you allocated, call the corresponding release_*_region and free the
...@@ -95,41 +103,32 @@ Settable NCR_700_Host_Parameters ...@@ -95,41 +103,32 @@ Settable NCR_700_Host_Parameters
The following are a list of the user settable parameters: The following are a list of the user settable parameters:
clock: (MANDATORY) clock: (MANDATORY)
Set to the clock speed of the chip in MHz.
Set to the clock speed of the chip in MHz.
base: (MANDATORY) base: (MANDATORY)
Set to the base of the io or mem region for the register set. On 64
set to the base of the io or mem region for the register set. On 64 bit architectures this is only 32 bits wide, so the registers must be
bit architectures this is only 32 bits wide, so the registers must be mapped into the low 32 bits of memory.
mapped into the low 32 bits of memory.
pci_dev: (OPTIONAL) pci_dev: (OPTIONAL)
Set to the PCI board device. Leave NULL for a non-pci board. This is
set to the PCI board device. Leave NULL for a non-pci board. This is used for the pci_alloc_consistent() and pci_map_*() functions.
used for the pci_alloc_consistent() and pci_map_*() functions.
dmode_extra: (OPTIONAL, 53c710 only) dmode_extra: (OPTIONAL, 53c710 only)
Extra flags for the DMODE register. These are used to control bus
extra flags for the DMODE register. These are used to control bus output pins on the 710. The settings should be a combination of
output pins on the 710. The settings should be a combination of DMODE_FC1 and DMODE_FC2. What these pins actually do is entirely up
DMODE_FC1 and DMODE_FC2. What these pins actually do is entirely up to the board designer. Usually it is safe to ignore this setting.
to the board designer. Usually it is safe to ignore this setting.
differential: (OPTIONAL) differential: (OPTIONAL)
Set to 1 if the chip drives a differential bus.
set to 1 if the chip drives a differential bus.
force_le_on_be: (OPTIONAL, only if CONFIG_53C700_LE_ON_BE is set) force_le_on_be: (OPTIONAL, only if CONFIG_53C700_LE_ON_BE is set)
Set to 1 if the chip is operating in little endian mode on a big
set to 1 if the chip is operating in little endian mode on a big endian architecture.
endian architecture.
chip710: (OPTIONAL) chip710: (OPTIONAL)
Set to 1 if the chip is a 53c710.
set to 1 if the chip is a 53c710.
burst_disable: (OPTIONAL, 53c710 only) burst_disable: (OPTIONAL, 53c710 only)
Disable 8 byte bursting for DMA transfers.
disable 8 byte bursting for DMA transfers.
...@@ -7,4 +7,6 @@ Linux SCSI Subsystem ...@@ -7,4 +7,6 @@ Linux SCSI Subsystem
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
53c700
scsi_transport_srp/figures scsi_transport_srp/figures
...@@ -9386,7 +9386,7 @@ LASI 53c700 driver for PARISC ...@@ -9386,7 +9386,7 @@ LASI 53c700 driver for PARISC
M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Maintained S: Maintained
F: Documentation/scsi/53c700.txt F: Documentation/scsi/53c700.rst
F: drivers/scsi/53c700* F: drivers/scsi/53c700*
LEAKING_ADDRESSES LEAKING_ADDRESSES
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment