Documentation/scsi/53c700.rst

Source file repositories/reference/linux-study-clean/Documentation/scsi/53c700.rst

File Facts

System
Linux kernel
Corpus path
Documentation/scsi/53c700.rst
Extension
.rst
Size
4703 bytes
Lines
135
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

=======================
The 53c700 Driver Notes
=======================

General Description
===================

This driver supports the 53c700 and 53c700-66 chips.  It also supports
the 53c710 but only in 53c700 emulation mode.  It is full featured and
does sync (-66 and 710 only), disconnects and tag command queueing.

Since the 53c700 must be interfaced to a bus, you need to wrapper the
card detector around this driver.  For an example, see the
NCR_D700.[ch] or lasi700.[ch] files.

The comments in the 53c700.[ch] files tell you which parts you need to
fill in to get the driver working.


Compile Time Flags
==================

A compile time flag is::

	CONFIG_53C700_LE_ON_BE

define if the chipset must be supported in little endian mode on a big
endian architecture (used for the 700 on parisc).


Using the Chip Core Driver
==========================

In order to plumb the 53c700 chip core driver into a working SCSI
driver, you need to know three things about the way the chip is wired
into your system (or expansion card).

1. The clock speed of the SCSI core
2. The interrupt line used
3. The memory (or io space) location of the 53c700 registers.

Optionally, you may also need to know other things, like how to read
the SCSI Id from the card bios or whether the chip is wired for
differential operation.

Usually you can find items 2. and 3. from general spec. documents or
even by examining the configuration of a working driver under another
operating system.

The clock speed is usually buried deep in the technical literature.
It is required because it is used to set up both the synchronous and
asynchronous dividers for the chip.  As a general rule of thumb,
manufacturers set the clock speed at the lowest possible setting
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
of an extra clock chip).  The best operation clock speeds are:

=========  =====
53c700     25MHz
53c700-66  50MHz
53c710     40Mhz
=========  =====

Writing Your Glue Driver
========================

This will be a standard SCSI driver (I don't know of a good document
describing this, just copy from some other driver) with at least a

Annotation

Implementation Notes