11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Aic79xx register and scratch ram definitions.
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
453467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke * Copyright (c) 1994-2001, 2004 Justin T. Gibbs.
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (c) 2000-2002 Adaptec Inc.
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * All rights reserved.
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Redistribution and use in source and binary forms, with or without
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * modification, are permitted provided that the following conditions
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * are met:
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 1. Redistributions of source code must retain the above copyright
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    notice, this list of conditions, and the following disclaimer,
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    without modification.
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 2. Redistributions in binary form must reproduce at minimum a disclaimer
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    substantially similar to the "NO WARRANTY" disclaimer below
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    ("Disclaimer") and any redistribution must be conditioned upon
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    including a substantially similar Disclaimer requirement for further
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    binary redistribution.
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 3. Neither the names of the above-listed copyright holders nor the names
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    of any contributors may be used to endorse or promote products derived
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *    from this software without specific prior written permission.
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Alternatively, this software may be distributed under the terms of the
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * GNU General Public License ("GPL") version 2 as published by the Free
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Software Foundation.
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * NO WARRANTY
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * POSSIBILITY OF SUCH DAMAGES.
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * $FreeBSD$
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4253467e636b7beb350c307cc88323aae4676577f2Hannes ReineckeVERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $"
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This file is processed by the aic7xxx_asm utility for use in assembling
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * firmware for the aic79xx family of SCSI host adapters as well as to generate
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * a C header file for use in the kernel portion of the Aic79xx driver.
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Register window Modes */
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_DFF0		0
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_DFF1		1
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_CCHAN		2
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_SCSI		3
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_CFG		4
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define M_DST_SHIFT	4
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MK_MODE(src, dst) ((src) | ((dst) << M_DST_SHIFT))
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SET_MODE(src, dst)						\
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SET_SRC_MODE	src;						\
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SET_DST_MODE	dst;						\
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mvi	MK_MODE(src, dst) call set_mode_work_around;	\
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	} else {							\
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mvi	MODE_PTR, MK_MODE(src, dst);			\
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define RESTORE_MODE(mode)						\
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mov	mode call set_mode_work_around;			\
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	} else {							\
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mov	MODE_PTR, mode;					\
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SET_SEQINTCODE(code)						\
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	if ((ahd->bugs & AHD_INTCOLLISION_BUG) != 0) {			\
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mvi	code call set_seqint_work_around;		\
781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	} else {							\
791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mvi	SEQINTCODE, code;				\
801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
837b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * Registers marked "dont_generate_debug_code" are not (yet) referenced
847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * from the driver code, and this keyword inhibit generation
857b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * of debug code for them.
867b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko *
877b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * REG_PRETTY_PRINT config will complain if dont_generate_debug_code
887b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * is added to the register which is referenced in the driver.
897b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * Unreferenced register with no dont_generate_debug_code will result
907b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko * in dead code. No warning is issued.
917b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko */
927b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko
937b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko/*
941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Mode Pointer
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Controls which of the 5, 512byte, address spaces should be used
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * as the source and destination of any register accesses in our
971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * register window.
981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MODE_PTR {
1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x000
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DST_MODE	0x70
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SRC_MODE	0x07
1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mode_pointer
1057b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SRC_MODE_SHIFT	0
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst DST_MODE_SHIFT	4
1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Interrupt Status
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister INTSTAT {
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x001
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HWERRINT	0x80
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRKADRINT	0x40
1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWTMINT		0x20
1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PCIINT		0x10
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIINT		0x08
1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQINT		0x04
1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMDCMPLT	0x02
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPLTINT		0x01
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	INT_PEND 0xFF
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Interrupt Code
1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQINTCODE {
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x002
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field {
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		NO_SEQINT,			/* No seqint pending. */
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BAD_PHASE,			/* unknown scsi bus phase */
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SEND_REJECT,			/* sending a message reject */
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		PROTO_VIOLATION, 		/* Protocol Violation */
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		NO_MATCH,			/* no cmd match for reconnect */
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		IGN_WIDE_RES,			/* Complex IGN Wide Res Msg */
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		PDATA_REINIT,			/*
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * Returned to data phase
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * that requires data
1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * transfer pointers to be
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * recalculated from the
1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * transfer residual.
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		HOST_MSG_LOOP,			/*
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * The bus is ready for the
1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * host to perform another
1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * message transaction.  This
1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * mechanism is used for things
1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * like sync/wide negotiation
1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * that require a kernel based
1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * message state engine.
1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BAD_STATUS,			/* Bad status from target */
1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		DATA_OVERRUN,			/*
1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * Target attempted to write
1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * beyond the bounds of its
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * command.
1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		MKMSG_FAILED,			/*
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * Target completed command
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * without honoring our ATN
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * request to issue a message.
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		MISSED_BUSFREE,			/*
1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * The sequencer never saw
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * the bus go free after
1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * either a command complete
1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * or disconnect message.
1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		DUMP_CARD_STATE,
1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		ILLEGAL_PHASE,
1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		INVALID_SEQINT,
1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CFG4ISTAT_INTR,
1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		STATUS_OVERRUN,
1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CFG4OVERRUN,
1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		ENTERING_NONPACK,
1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TASKMGMT_FUNC_COMPLETE,		/*
1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * Task management function
1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * request completed with
1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * an expected busfree.
1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TASKMGMT_CMD_CMPLT_OKAY,	/*
1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * A command with a non-zero
1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * task management function
1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * has completed via the normal
1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * command completion method
1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * for commands with a zero
1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * task management function.
1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * This happens when an attempt
1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * to abort a command loses
1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * the race for the command to
1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 * complete normally.
1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds						 */
1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TRACEPOINT0,
1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TRACEPOINT1,
2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TRACEPOINT2,
2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		TRACEPOINT3,
2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SAW_HWERR,
2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BAD_SCB_STATUS
2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
2057b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear Host Interrupt
2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRINT {
2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x003
2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
2143dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		19
2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRHWERRINT	0x80 /* Rev B or greater */
2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRBRKADRINT	0x40
2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSWTMINT	0x20
2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRPCIINT	0x10
2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSCSIINT	0x08
2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQINT	0x04
2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCMDINT	0x02
2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSPLTINT	0x01
2237b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Error Register
2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ERROR {
2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x004
2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CIOPARERR	0x80
2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CIOACCESFAIL	0x40 /* Rev B or greater */
2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MPARERR		0x20
2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPARERR		0x10
2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SQPARERR	0x08
2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ILLOPCODE	0x04
2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DSCTMOUT	0x02
2397b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear Error
2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRERR {
2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x004
2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode 	WO
2481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCIOPARERR	0x80
2491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCIOACCESFAIL	0x40 /* Rev B or greater */
2501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRMPARERR	0x20
2511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRDPARERR	0x10
2521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSQPARERR	0x08
2531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRILLOPCODE	0x04
2541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRDSCTMOUT	0x02
2551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Control Register
2591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Overall host control of the device.
2601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HCNTRL {
2621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x005
2631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
2643dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		12
2651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_RESET	0x80 /* Rev B or greater */
2661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	POWRDN		0x40
2671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWINT		0x10
2681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWTIMER_START_B	0x08 /* Rev B or greater */
2691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PAUSE		0x04
2701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INTEN		0x02
2711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CHIPRST		0x01
2721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CHIPRSTACK	0x01
2737b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host New SCB Queue Offset
2781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HNSCB_QOFF {
2801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x006
2811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
2821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
2833dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
2847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Empty SCB Queue Offset
2891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
2901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HESCB_QOFF {
2911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x008
2921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
2933dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
2947b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
2951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
2961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
2981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Mailbox
2991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HS_MAILBOX {
3011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x00B
3021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	HOST_TQINPOS	0x80	/* Boundary at either 0 or 128 */
3041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	ENINT_COALESCE	0x40	/* Perform interrupt coalescing */
3051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30825985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Sequencer Interrupt Status
3091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQINTSTAT {
3111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x00C
3123dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
3131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
3141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_SWTMRTO	0x10
3151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_SEQINT	0x08
3161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_SCSIINT	0x04
3171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_PCIINT	0x02
3181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQ_SPLTINT	0x01
3191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear SEQ Interrupt
3231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSEQINTSTAT {
3251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x00C
3261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
3271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQ_SWTMRTO	0x10
3281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQ_SEQINT	0x08
3291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQ_SCSIINT	0x04
3301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQ_PCIINT	0x02
3311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSEQ_SPLTINT	0x01
3327b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
3331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Software Timer
3371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SWTIMER {
3391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x00E
3401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
3427b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
3431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SEQ New SCB Queue Offset
3471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SNSCB_QOFF {
3491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x010
3501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
3521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
3537b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
3541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SEQ Empty SCB Queue Offset
3581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SESCB_QOFF {
3601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x012
3613dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
3621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
3647b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
3651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SEQ Done SCB Queue Offset
3691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SDSCB_QOFF {
3711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x014
3721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
3741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
3757b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
3761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
3771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
3791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Queue Offset Control & Status
3801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
3811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister QOFF_CTLSTA {
3821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x016
3831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
3841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
3851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	EMPTY_SCB_AVAIL	0x80
3861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NEW_SCB_AVAIL	0x40
3871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SDSCB_ROLLOVR	0x20
3881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HS_MAILBOX_ACT	0x10
3891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCB_QSIZE	0x0F {
3901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_4,
3911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_8,
3921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_16,
3931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_32,
3941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_64,
3951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_128,
3961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_256,
3971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_512,
3981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_1024,
3991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_2048,
4001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_4096,
4011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_8192,
4021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SCB_QSIZE_16384
4031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
4047b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
4051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
4081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Interrupt Control
4091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister INTCTL {
4111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x018
4121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
4131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWTMINTMASK	0x80
4141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWTMINTEN	0x40
4151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SWTIMER_START	0x20
4161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTOCLRCMDINT	0x10
4171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PCIINTEN	0x08
4181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIINTEN	0x04
4191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQINTEN	0x02
4201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPLTINTEN	0x01
4211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
4241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Control
4251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFCNTRL {
4271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x019
4281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
4291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
4303dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		11
4311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PRELOADEN	0x80
4321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIENWRDIS	0x40	/* Rev B only. */
4331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIEN		0x20
4341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIENACK	0x20
4351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HDMAEN		0x08
4361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HDMAENACK	0x08
4371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DIRECTION	0x04
4381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DIRECTIONACK	0x04
4391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFOFLUSH	0x02
4401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFOFLUSHACK	0x02
4411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DIRECTIONEN	0x01
4421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
4451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Device Space Command 0
4461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSCOMMAND0 {
4481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x019
4493dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
4501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
4511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
4521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CACHETHEN	0x80	/* Cache Threshold enable */
4531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPARCKEN	0x40	/* Data Parity Check Enable */
4541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MPARCKEN	0x20	/* Memory Parity Check Enable */
4551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	EXTREQLCK	0x10	/* External Request Lock */
4561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DISABLE_TWATE	0x02	/* Rev B or greater */
4571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CIOPARCKEN	0x01	/* Internal bus parity error enable */
4587b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
4591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
4621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Status
4631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFSTATUS {
4651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x01A
4661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
4671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
4681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PRELOAD_AVAIL		0x80
4691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PKT_PRELOAD_AVAIL	0x40
4701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MREQPEND		0x10
4711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HDONE			0x08
4721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFTHRESH		0x04
4731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFOFULL		0x02
4741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFOEMP			0x01
4751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
4781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Cache Pointer
4791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
4801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SG_CACHE_PRE {
4811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x01B
4821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
4831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
4841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_ADDR_MASK	0xf8
4851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ODD_SEG		0x04
4861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LAST_SEG	0x02
4877b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
4881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SG_CACHE_SHADOW {
4911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x01B
4921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
4931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
4941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_ADDR_MASK	0xf8
4951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ODD_SEG		0x04
4961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LAST_SEG	0x02
4971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LAST_SEG_DONE	0x01
4981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
4991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Arbiter Control
5021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ARBCTL {
5041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x01B
5051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
5071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RESET_HARB	0x80
5081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RETRY_SWEN	0x08
5091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	USE_TIME	0x07
5101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Host Address
5141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HADDR {
5161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x070
5171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		8
5191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
5207b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
5211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Overlay DMA Address
5251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HODMAADR {
5271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x070
5281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		8
5301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
5311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * PCI PLL Delay.
5351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLLDELAY {
5371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x070
5381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		1
5401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
5411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPLIT_DROP_REQ	0x80
5421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Host Count
5461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HCNT {
5481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x078
5491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		3
5511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
5527b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
5531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Overlay DMA Count
5571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HODMACNT {
5591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x078
5601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
5621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
5631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Host Overlay DMA Enable
5671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister HODMAEN {
5691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x07A
5701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
5721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scatter/Gather Host Address
5761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGHADDR {
5781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x07C
5791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		8
5811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
5827b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
5831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Host Address
5871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCBHADDR {
5891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x07C
5901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
5911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		8
5921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
5937b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
5941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
5951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
5971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scatter/Gather Host Count
5981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
5991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGHCNT {
6001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x084
6011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
6037b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
6041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Host Count
6081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCBHCNT {
6101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x084
6111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
6137b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
6141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Threshold
6181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFF_THRSH {
6201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x088
6211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
6233dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
6241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	WR_DFTHRSH	0x70 {
6251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_MIN,
6261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_25,
6271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_50,
6281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_63,
6291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_75,
6301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_85,
6311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_90,
6321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		WR_DFTHRSH_MAX
6331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
6341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RD_DFTHRSH	0x07 {
6351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_MIN,
6361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_25,
6371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_50,
6381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_63,
6391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_75,
6401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_85,
6411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_90,
6421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		RD_DFTHRSH_MAX
6431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
6447b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
6451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ROM Address
6491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ROMADDR {
6511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x08A
6521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		3
6541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ROM Control
6581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ROMCNTRL {
6601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x08D
6611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ROMOP		0xE0
6631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ROMSPD		0x18
6641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REPEAT		0x02
6651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDY		0x01
6661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ROM Data
6701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ROMDATA {
6721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x08E
6731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
6741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
6771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Receive Message 0
6781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHRXMSG0 {
6801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x090
6811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
6821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
6831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CDNUM	0xF8
6841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CFNUM	0x07
6851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
68825985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * CMC Receive Message 0
6891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
6901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCRXMSG0 {
6911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x090
6921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
6931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
6941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CDNUM	0xF8
6951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CFNUM	0x07
6961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
6971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
6981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
69925985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Overlay Receive Message 0
7001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYRXMSG0 {
7021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x090
7031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
7051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CDNUM	0xF8
7061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CFNUM	0x07
7071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
7101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Relaxed Order Enable
7111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ROENABLE {
7131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x090
7141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
7151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
7161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSIROEN		0x20
7171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OVLYROEN	0x10
7181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMCROEN		0x08
7191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SGROEN		0x04
7201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DCH1ROEN	0x02
7211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DCH0ROEN	0x01
7221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
7251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Receive Message 1
7261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHRXMSG1 {
7281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x091
7291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
7311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CBNUM		0xFF
7321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
73525985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * CMC Receive Message 1
7361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCRXMSG1 {
7381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x091
7391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
7411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CBNUM		0xFF
7421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
74525985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Overlay Receive Message 1
7461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYRXMSG1 {
7481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x091
7491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
7511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CBNUM		0xFF
7521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
7551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * No Snoop Enable
7561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NSENABLE {
7581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x091
7591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
7601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
7611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSINSEN		0x20
7621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OVLYNSEN	0x10
7631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMCNSEN		0x08
7641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SGNSEN		0x04
7651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DCH1NSEN	0x02
7661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DCH0NSEN	0x01
7671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
7701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Receive Message 2
7711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHRXMSG2 {
7731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x092
7741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
7761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MINDEX		0xFF
7771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
78025985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * CMC Receive Message 2
7811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCRXMSG2 {
7831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x092
7841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
7861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MINDEX		0xFF
7871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
79025985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Overlay Receive Message 2
7911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
7921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYRXMSG2 {
7931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x092
7941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
7951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
7961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MINDEX		0xFF
7971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
7991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Outstanding Split Transactions
8011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OST {
8031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x092
8041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
8051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
8061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Receive Message 3
8101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHRXMSG3 {
8121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x093
8131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
8151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MCLASS		0x0F
8161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
81925985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * CMC Receive Message 3
8201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCRXMSG3 {
8221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x093
8231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
8251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MCLASS		0x0F
8261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
82925985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Overlay Receive Message 3
8301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYRXMSG3 {
8321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x093
8331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
8351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MCLASS		0x0F
8361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * PCI-X Control
8401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PCIXCTL {
8421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x093
8431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
8441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
8453dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
8461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SERRPULSE	0x80
8471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	UNEXPSCIEN	0x20
8481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPLTSMADIS	0x10
8491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPLTSTADIS	0x08
8501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SRSPDPEEN	0x04
8511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TSCSERREN	0x02
8521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMPABCDIS	0x01
8537b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
8541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC Sequencer Byte Count
8581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCSEQBCNT {
8601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x094
8611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
8631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Overlay Sequencer Byte Count
8671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYSEQBCNT {
8691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x094
8701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
8721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Sequencer Byte Count
8761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHSEQBCNT {
8781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x094
8791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
8801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
8811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
8821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
8831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
8841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
8851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Split Status 0
8861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
8871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHSPLTSTAT0 {
8881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x096
8891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
8901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
8913dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
8921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STAETERM	0x80
8931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBCERR		0x40
8941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCADERR		0x20
8951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCDATBUCKET	0x10
8961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CNTNOTCMPLT	0x08
8971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXOVRUN		0x04
8981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSCEMSG	0x02
8991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSPLTRSP	0x01
9007b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
9011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC Split Status 0
9051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCSPLTSTAT0 {
9071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x096
9081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
9091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
9101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STAETERM	0x80
9111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBCERR		0x40
9121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCADERR		0x20
9131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCDATBUCKET	0x10
9141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CNTNOTCMPLT	0x08
9151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXOVRUN		0x04
9161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSCEMSG	0x02
9171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSPLTRSP	0x01
9181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Overlay Split Status 0
9221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYSPLTSTAT0 {
9241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x096
9251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
9261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
9271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STAETERM	0x80
9281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBCERR		0x40
9291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCADERR		0x20
9301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCDATBUCKET	0x10
9311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CNTNOTCMPLT	0x08
9321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXOVRUN		0x04
9331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSCEMSG	0x02
9341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSPLTRSP	0x01
9351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Channel Split Status 1
9391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DCHSPLTSTAT1 {
9411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x097
9421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
9431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
9443dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
9451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXDATABUCKET	0x01
9467b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
9471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC Split Status 1
9511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCSPLTSTAT1 {
9531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x097
9541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
9551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
9561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXDATABUCKET	0x01
9571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Overlay Split Status 1
9611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYSPLTSTAT1 {
9631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x097
9641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
9651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
9661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXDATABUCKET	0x01
9671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Receive Message 0
9711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGRXMSG0 {
9731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x098
9741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
9751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
9761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CDNUM	0xF8
9771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		CFNUM	0x07
9781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Receive Message 1
9821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGRXMSG1 {
9841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x099
9851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
9861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
9871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CBNUM		0xFF
9881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
9901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
9911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Receive Message 2
9921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
9931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGRXMSG2 {
9941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09A
9951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
9961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
9971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MINDEX		0xFF
9981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
9991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Receive Message 3
10021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGRXMSG3 {
10041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09B
10051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
10071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MCLASS		0x0F
10081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Address 0
10121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTADR0 {
10141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x098
10151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LOWER_ADDR	0x7F
10181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Address 1
10221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTADR1 {
10241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x099
10251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQ_DNUM	0xF8
10281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQ_FNUM	0x07
10291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Address 2
10331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTADR2 {
10351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09A
10361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQ_BNUM	0xFF
10391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Address 3
10431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTADR3 {
10451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09B
10461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RLXORD		020
10491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TAG_NUM		0x1F
10501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SG Sequencer Byte Count
10541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGSEQBCNT {
10561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09C
10571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
10591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Attribute 0
10631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTATTR0 {
10651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09C
10661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LOWER_BCNT	0xFF
10691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Attribute 1
10731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTATTR1 {
10751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09D
10761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMPLT_DNUM	0xF8
10791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMPLT_FNUM	0x07
10801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
10821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Slave Split Out Attribute 2
10841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SLVSPLTOUTATTR2 {
10861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09E
10871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
10881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
10891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
10901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMPLT_BNUM	0xFF
10911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
10921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
10931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Split Status 0
10941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
10951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGSPLTSTAT0 {
10961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09E
10971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
10981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
10993dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
11001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STAETERM	0x80
11011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBCERR		0x40
11021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCADERR		0x20
11031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCDATBUCKET	0x10
11041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CNTNOTCMPLT	0x08
11051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXOVRUN		0x04
11061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSCEMSG	0x02
11071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXSPLTRSP	0x01
11087b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
11091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G Split Status 1
11131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGSPLTSTAT1 {
11151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09F
11161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
11183dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
11191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RXDATABUCKET	0x01
11207b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
11211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Special Function
11251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SFUNCT {
11271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x09f
11281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
11301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TEST_GROUP	0xF0
11311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TEST_NUM	0x0F
11327b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
11331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO 0 PCI Status
11371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DF0PCISTAT {
11391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A0
11401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
11423dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
11431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
11441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
11451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
11461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
11471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCAAPERR	0x08
11481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDPERR		0x04
11491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TWATERR		0x02
11501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
11517b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
11521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO 1 PCI Status
11561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DF1PCISTAT {
11581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A1
11591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
11611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
11621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
11631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
11641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
11651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCAAPERR	0x08
11661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDPERR		0x04
11671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TWATERR		0x02
11681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
11691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * S/G PCI Status
11731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SGPCISTAT {
11751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A2
11761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
11781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
11791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
11801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
11811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
11821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCAAPERR	0x08
11831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDPERR		0x04
11841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
11851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
11861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
11871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
11881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC PCI Status
11891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
11901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMCPCISTAT {
11911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A3
11921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
11931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
11941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
11951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
11961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
11971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
11981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCAAPERR	0x08
11991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDPERR		0x04
12001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TWATERR		0x02
12011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
12021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Overlay PCI Status
12061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYPCISTAT {
12081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A4
12091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
12121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
12131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
12141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
12151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCAAPERR	0x08
12161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RDPERR		0x04
12171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
12181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * PCI Status for MSI Master DMA Transfer
12221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MSIPCISTAT {
12241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A6
12251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
12281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RMA		0x20
12291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTA		0x10
12301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRPENDMSI	0x08
12311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TWATERR		0x02
12321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPR		0x01
12331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * PCI Status for Target
12371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister TARGPCISTAT {
12391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A7
12401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12423dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		5
12431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DPE		0x80
12441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SSE		0x40
12451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STA		0x08
12461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TWATERR		0x02
12477b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
12481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQ Packet In
125225985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * The last LQ Packet received
12531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQIN {
12551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x020
12561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		20
12583dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
12591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
12607b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
12611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Type Pointer
12651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB offset for Target Mode SCB type information
12661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister TYPEPTR {
12681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x020
12691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Queue Tag Pointer
12751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB offset to the Two Byte tag identifier used for target mode.
12761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister TAGPTR {
12781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x021
12791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Logical Unit Number Pointer
12851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB offset to the LSB (little endian) of the lun field.
12861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LUNPTR {
12881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x022
12891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
12901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
12913dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
12927b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
12931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
12941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
12951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
12961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Length Pointer
12971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB offset for the 4 byte data length field in target mode.
12981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
12991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DATALENPTR {
13001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x023
13011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Status Length Pointer
13071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB offset to the two byte status field in target SCBs.
13081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister STATLENPTR {
13101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x024
13111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Command Length Pointer
13171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset for the CDB length field in initiator SCBs.
13181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMDLENPTR {
13201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x025
13211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13233dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13247b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Task Attribute Pointer
13291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset for the byte field specifying the attribute byte
13301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * to be used in command packets.
13311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ATTRPTR {
13331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x026
13341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13363dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13377b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Task Management Flags Pointer
13421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset for the byte field specifying the attribute flags
13431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * byte to be used in command packets.
13441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLAGPTR {
13461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x027
13471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13493dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13507b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Command Pointer
13551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset for the first byte in the CDB for initiator SCBs.
13561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMDPTR {
13581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x028
13591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13613dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13627b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Queue Next Pointer
13671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset for the 2 byte "next scb link".
13681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister QNEXTPTR {
13701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x029
13711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13733dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13747b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI ID Pointer
13791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Scb offset to the value to place in the SCSIID register
13801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * during target mode connections.
13811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister IDPTR {
13831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02A
13841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
13871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
13881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
13891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Command Aborted Byte Pointer
13901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Offset to the SCB flags field that includes the
13911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * "SCB aborted" status bit.
13921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
13931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ABRTBYTEPTR {
13941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02B
13951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
13961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
13973dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
13987b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
13991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Command Aborted Bit Pointer
14031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Bit offset in the SCB flags field for "SCB aborted" status.
14041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ABRTBITPTR {
14061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02C
14071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14093dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
14107b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
14111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Rev B or greater.
14151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MAXCMDBYTES {
14171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02D
14181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Rev B or greater.
14241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MAXCMD2RCV {
14261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02E
14271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Rev B or greater.
14331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SHORTTHRESH {
14351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x02F
14361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Logical Unit Number Length
14421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The length, in bytes, of the SCB lun field.
14431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LUNLEN {
14451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x030
14461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14483dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
14491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask		ILUNLEN	0x0F
14501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask		TLUNLEN	0xF0
14517b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
14521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst LUNLEN_SINGLE_LEVEL_LUN 0xF
14541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CDB Limit
14571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The size, in bytes, of the embedded CDB field in initator SCBs.
14581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CDBLIMIT {
14601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x031
14611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14633dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
14647b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
14651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Maximum Commands
14691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The maximum number of commands to issue during a
14701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * single packetized connection.
14711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MAXCMD {
14731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x032
14741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14763dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		9
14777b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
14781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Maximum Command Counter
14821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The number of commands already sent during this connection
14831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MAXCMDCNT {
14851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x033
14861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
14887b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
14891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
14901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
14911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
14921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQ Packet Reserved Bytes
14931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The bytes to be sent in the currently reserved fileds
14941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * of all LQ packets.
14951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
14961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQRSVD01 {
14971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x034
14981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
14991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
15001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQRSVD16 {
15021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x035
15031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
15051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQRSVD17 {
15071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x036
15081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
15101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Command Reserved 0
15141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The byte to be sent for the reserved byte 0 of
15151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * outgoing command packets.
15161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMDRSVD0 {
15181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x037
15191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
15211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQ Manager Control 0
15251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQCTL0 {
15271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x038
15281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
15301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQITARGCLT	0xC0
15311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIINITGCLT	0x30
15321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQ0TARGCLT	0x0C
15331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQ0INITGCLT	0x03
15341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQ Manager Control 1
15381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQCTL1 {
15401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x038
15411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
15433dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
15441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PCI2PCI		0x04
15451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SINGLECMD	0x02
15461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ABORTPENDING	0x01
15477b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
15481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQ Manager Control 2
15521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQCTL2 {
15541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x039
15551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
15573dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		5
15581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIRETRY	0x80
15591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQICONTINUE	0x40
15601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQITOIDLE	0x20
15611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIPAUSE	0x10
15621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQORETRY	0x08
15631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOCONTINUE	0x04
15641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOTOIDLE	0x02
15651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOPAUSE	0x01
15667b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
15671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI RAM BIST0
15711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSBIST0 {
15731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x039
15741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
15761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	GSBISTERR	0x40
15771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	GSBISTDONE	0x20
15781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	GSBISTRUN	0x10
15791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OSBISTERR	0x04
15801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OSBISTDONE	0x02
15811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OSBISTRUN	0x01
15821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Sequence Control0
15861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
15871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSISEQ0 {
15881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03A
15891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
15901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
15911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TEMODEO		0x80
15921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELO		0x40
15931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENARBO		0x20
15941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FORCEBUSFREE	0x10
15951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIRSTO	0x01
15961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
15971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
15981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
15991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI RAM BIST 1
16001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSBIST1 {
16021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03A
16031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
16051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NTBISTERR	0x04
16061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NTBISTDONE	0x02
16071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NTBISTRUN	0x01
16081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Sequence Control 1
16121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSISEQ1 {
16141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03B
16151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
16173dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		8
16181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANUALCTL	0x40
16191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELI		0x20
16201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENRSELI		0x10
16211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANUALP		0x0C
16221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENAUTOATNP	0x02
16231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ALTSTIM		0x01
16241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Transfer Control 0
16281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SXFRCTL0 {
16301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03C
16311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
16331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFON		0x80
16341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFPEXP		0x40
16351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BIOSCANCELEN	0x10
16361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPIOEN		0x08
16377b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
16381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Transfer Control 1
16421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SXFRCTL1 {
16441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03D
16451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
16471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BITBUCKET	0x80
16481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSACHK		0x40
16491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSPCHK		0x20
16501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STIMESEL	0x18
16511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSTIMER	0x04
16521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ACTNEGEN	0x02
16531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STPWEN		0x01
16547b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
16551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Transfer Control 2
16591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SXFRCTL2 {
16611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03E
16621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
16641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTORSTDIS	0x10
16651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMDDMAEN	0x08
16661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ASU		0x07
16671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Bus Initiator IDs
16711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Bitmask of observed initiators on the bus.
16721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BUSINITID {
16741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03C
16751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
16771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
16781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Length Counters
16821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Packet byte counter.
16831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DLCOUNT {
16851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03C
16861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
16881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		3
16891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
16901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
16911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
16921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Status
16931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
16941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFFSTAT {
16951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03F
16961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
16971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
16981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFO1FREE	0x20
16991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFO0FREE	0x10
17001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
17011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * On the B, this enum only works
17021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * in the read direction.  For writes,
17031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * you must use the B version of the
17041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * CURRFIFO_0 definition which is defined
17051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * as a constant outside of this register
17061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * definition to avoid confusing the
17071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * register pretty printing code.
17081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
17091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	enum	CURRFIFO	0x03 {
17101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CURRFIFO_0,
17111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CURRFIFO_1,
17121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		CURRFIFO_NONE	0x3
17131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
17141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
17151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst B_CURRFIFO_0 0x2
17171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
17191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Bus Target IDs
17201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Bitmask of observed targets on the bus.
17211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
17221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BUSTARGID {
17231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x03E
17241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
17251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
17261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
17271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
17281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
17301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Control Signal Out
17311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
17321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSISIGO {
17331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x040
17341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
17351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
17361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CDO		0x80
17371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	IOO		0x40
17381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSGO		0x20
17391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ATNO		0x10
17401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELO		0x08
17411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BSYO		0x04
17421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQO		0x02
17431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ACKO		0x01
17441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
17451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Possible phases to write into SCSISIG0
17461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
17471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	enum	PHASE_MASK  CDO|IOO|MSGO {
17481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAOUT	0x0,
17491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAIN	IOO,
17501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAOUT_DT	P_DATAOUT|MSGO,
17511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAIN_DT	P_DATAIN|MSGO,
17521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_COMMAND	CDO,
17531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_MESGOUT	CDO|MSGO,
17541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_STATUS	CDO|IOO,
17551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_MESGIN	CDO|IOO|MSGO
17561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
17577b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
17581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
17591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17603dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke/*
17613dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke * SCSI Control Signal In
17623dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke */
17631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSISIGI {
17641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x041
17651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
17661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
17671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CDI		0x80
17681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	IOI		0x40
17691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSGI		0x20
17701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ATNI		0x10
17711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELI		0x08
17721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BSYI		0x04
17731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQI		0x02
17741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ACKI		0x01
17751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
17761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Possible phases in SCSISIGI
17771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
17781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	enum	PHASE_MASK  CDO|IOO|MSGO {
17791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAOUT	0x0,
17801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAIN	IOO,
17811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAOUT_DT	P_DATAOUT|MSGO,
17821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_DATAIN_DT	P_DATAIN|MSGO,
17831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_COMMAND	CDO,
17841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_MESGOUT	CDO|MSGO,
17851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_STATUS	CDO|IOO,
17861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		P_MESGIN	CDO|IOO|MSGO
17871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
17881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
17891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
17901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
17911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Multiple Target IDs
17921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Bitmask of ids to respond as a target.
17931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
17941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MULTARGID {
17951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x040
17961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
17971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
17981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
17993dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
18007b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
18011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Phase
18051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSIPHASE {
18071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x042
18081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
18091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STATUS_PHASE	0x20
18111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	COMMAND_PHASE	0x10
18121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSG_IN_PHASE	0x08
18131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MSG_OUT_PHASE	0x04
18141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DATA_PHASE_MASK	0x03 {
18151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		DATA_OUT_PHASE	0x01,
18161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		DATA_IN_PHASE	0x02
18171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
18181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Data 0 Image
18221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSIDAT0_IMG {
18241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x043
18251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Latched Data
18311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSIDAT {
18331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x044
18341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
18377b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
18381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Data Bus
18421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSIBUS {
18441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x046
18451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
18481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Target ID In
18521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister TARGIDIN {
18541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x048
18551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
18561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18573dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
18581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLKOUT		0x80
18591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TARGID		0x0F
18607b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
18611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Selection/Reselection ID
18651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Upper four bits are the device id.  The ONEBIT is set when the re/selecting
18661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * device did not set its own ID.
18671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SELID {
18691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x049
18701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELID_MASK	0xf0
18731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ONEBIT		0x08
18741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Block Control
18781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Controls Bus type and channel selection.  SELWIDE allows for the
18791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * coexistence of 8bit and 16bit devices on a wide bus.
18801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SBLKCTL {
18821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04A
18831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
18851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DIAGLEDEN	0x80
18861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DIAGLEDON	0x40
18871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENAB40		0x08	/* LVD transceiver active */
18881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENAB20		0x04	/* SE/HVD transceiver active */
18891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELWIDE		0x02
18907b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
18911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
18921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
18941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Option Mode
18951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
18961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OPTIONMODE {
18971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04A
18981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
18991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
19003dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
19011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BIOSCANCTL		0x80
19021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTOACKEN		0x40
19031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BIASCANCTL		0x20
19041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BUSFREEREV		0x10
19051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENDGFORMCHK		0x04
19061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTO_MSGOUT_DE		0x02
19071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	OPTIONMODE_DEFAULTS	AUTO_MSGOUT_DE
19087b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
19091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
19121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Status 0
19131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
19141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SSTAT0	{
19151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04B
19161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
19171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
19181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	TARGET		0x80	/* Board acting as target */
19191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELDO		0x40	/* Selection Done */
19201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELDI		0x20	/* Board has been selected */
19211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELINGO		0x10	/* Selection In Progress */
19221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	IOERR		0x08	/* LVD Tranceiver mode changed */
19231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OVERRUN		0x04	/* SCSI Offset overrun detected */
19241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SPIORDY		0x02	/* SCSI PIO Ready */
19251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ARBDO		0x01	/* Arbitration Done Out */
19261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
19291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear SCSI Interrupt 0
19301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Writing a 1 to a bit clears the associated SCSI Interrupt in SSTAT0.
19311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
19321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSINT0 {
19331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04B
19341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
19351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
19361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSELDO	0x40
19371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSELDI	0x20
19381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSELINGO	0x10
19391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRIOERR	0x08
19401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLROVERRUN	0x04
19411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSPIORDY	0x02
19421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRARBDO	0x01
19437b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
19441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
19471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Interrupt Mode 0
19481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Setting any bit will enable the corresponding function
19491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * in SIMODE0 to interrupt via the IRQ pin.
19501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
19511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SIMODE0 {
19521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04B
19531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
19541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
19553dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		8
19561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELDO		0x40
19571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELDI		0x20
19581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELINGO	0x10
19591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENIOERR		0x08
19601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENOVERRUN	0x04
19611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSPIORDY	0x02
19621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENARBDO		0x01
19631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
19661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Status 1
19671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
19681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SSTAT1 {
19691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04C
19701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
19711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
19721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SELTO		0x80
19731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ATNTARG 	0x40
19741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIRSTI	0x20
19751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PHASEMIS	0x10
19761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BUSFREE		0x08
19771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCSIPERR	0x04
19781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STRB2FAST	0x02
19791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	REQINIT		0x01
19801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
19831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear SCSI Interrupt 1
19841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Writing a 1 to a bit clears the associated SCSI Interrupt in SSTAT1.
19851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
19861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSINT1 {
19871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04C
19881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
19891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
19901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSELTIMEO	0x80
19911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRATNO		0x40
19921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSCSIRSTI	0x20
19931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRBUSFREE	0x08
19941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSCSIPERR	0x04
19951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSTRB2FAST	0x02
19961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRREQINIT	0x01
19977b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
19981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
19991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Status 2
20021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SSTAT2 {
20041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04d
20051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
20061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
20071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BUSFREETIME	0xc0 {
20081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BUSFREE_LQO	0x40,
20091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BUSFREE_DFF0	0x80,
20101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		BUSFREE_DFF1	0xC0
20111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
20121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NONPACKREQ	0x20
20131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	EXP_ACTIVE	0x10	/* SCSI Expander Active */
20141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BSYX		0x08	/* Busy Expander */
20151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	WIDE_RES	0x04	/* Modes 0 and 1 only */
20161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SDONE		0x02	/* Modes 0 and 1 only */
20171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DMADONE		0x01	/* Modes 0 and 1 only */
20181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear SCSI Interrupt 2
20221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSINT2 {
20241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04D
20251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
20261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
20271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRNONPACKREQ	0x20
20281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRWIDE_RES	0x04	/* Modes 0 and 1 only */
20291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSDONE	0x02	/* Modes 0 and 1 only */
20301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRDMADONE	0x01	/* Modes 0 and 1 only */
20317b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
20321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Interrupt Mode 2
20361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SIMODE2 {
20381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04D
20391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
20401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
20411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENWIDE_RES	0x04
20421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSDONE		0x02
20431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENDMADONE	0x01
20441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Physical Error Diagnosis
20481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PERRDIAG {
20501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04E
20511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
20521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
20533dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
20541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HIZERO		0x80
20551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	HIPERR		0x40
20561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PREVPHASE	0x20
20571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PARITYERR	0x10
20581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AIPERR		0x08
20591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CRCERR		0x04
20601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DGFORMERR	0x02
20611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DTERR		0x01
20621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Current State
20661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQISTATE {
20681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04E
20691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
20701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
20713dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		6
20727b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
20731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Offset Count
20771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SOFFCNT {
20791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04F
20801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
20811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
20823dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
20831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Current State
20871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOSTATE {
20891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x04F
20901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
20911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
20923dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
20937b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
20941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
20951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
20961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
20971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Status
20981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
20991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQISTAT0 {
21001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x050
21011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
21021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
21033dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
21041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIATNQAS	0x20
21051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQICRCT1	0x10
21061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQICRCT2	0x08
21071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIBADLQT	0x04
21081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIATNLQ	0x02
21091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIATNCMD	0x01
21101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
21111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
21121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear LQI Interrupts 0
21141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
21151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRLQIINT0 {
21161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x050
21171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
21181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
21193dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
21201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIATNQAS	0x20
21211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQICRCT1	0x10
21221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQICRCT2	0x08
21231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIBADLQT	0x04
21241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIATNLQ	0x02
21251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIATNCMD	0x01
21267b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
21271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
21281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
21291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Interrupt Mode 0
21311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
21321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQIMODE0 {
21331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x050
21341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
21351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
21363dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
21371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIATNQASK	0x20
21381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQICRCT1	0x10
21391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQICRCT2	0x08
21401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIBADLQT	0x04
21411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIATNLQ	0x02
21421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIATNCMD	0x01
21437b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
21441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
21451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
21461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Status 1
21481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
21491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQISTAT1 {
21501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x051
21511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
21521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
21533dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
21541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIPHASE_LQ	0x80
21551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIPHASE_NLQ	0x40
21561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIABORT	0x20
21571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQICRCI_LQ	0x10
21581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQICRCI_NLQ	0x08
21591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIBADLQI	0x04
21601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIOVERI_LQ	0x02
21611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIOVERI_NLQ	0x01
21621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
21631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
21641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear LQI Manager Interrupts1
21661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
21671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRLQIINT1 {
21681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x051
21691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
21701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
21713dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
21721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIPHASE_LQ	0x80
21731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIPHASE_NLQ	0x40
21741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLIQABORT	0x20
21751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQICRCI_LQ	0x10
21761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQICRCI_NLQ	0x08
21771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIBADLQI	0x04
21781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIOVERI_LQ	0x02
21791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQIOVERI_NLQ	0x01
21807b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
21811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
21821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
21831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Interrupt Mode 1
21851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
21861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQIMODE1 {
21871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x051
21881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
21891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
21903dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
21911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIPHASE_LQ	0x80	/* LQIPHASE1 */
21921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIPHASE_NLQ	0x40	/* LQIPHASE2 */
21931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLIQABORT	0x20
21941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQICRCI_LQ	0x10	/* LQICRCI1 */
21951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQICRCI_NLQ	0x08	/* LQICRCI2 */
21961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIBADLQI	0x04
21971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIOVERI_LQ	0x02	/* LQIOVERI1 */
21981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQIOVERI_NLQ	0x01	/* LQIOVERI2 */
21997b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
22001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQI Manager Status 2
22041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQISTAT2 {
22061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x052
22071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
22081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
22091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PACKETIZED	0x80
22101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIPHASE_OUTPKT	0x40
22111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIWORKONLQ	0x20
22121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIWAITFIFO	0x10
22131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQISTOPPKT	0x08
22141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQISTOPLQ	0x04
22151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQISTOPCMD	0x02
22161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQIGSAVAIL	0x01
22171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Status 3
22211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SSTAT3 {
22231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x053
22241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
22251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
22263dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
22271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	NTRAMPERR	0x02
22281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OSRAMPERR	0x01
22291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear SCSI Status 3
22331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSINT3 {
22351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x053
22361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
22371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
22383dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
22391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRNTRAMPERR	0x02
22401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLROSRAMPERR	0x01
22417b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
22421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Interrupt Mode 3
22461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SIMODE3 {
22481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x053
22491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
22501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
22513dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
22521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENNTRAMPERR	0x02
22531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENOSRAMPERR	0x01
22547b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
22551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Status 0
22591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOSTAT0 {
22611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x054
22621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
22631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
22643dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
22651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOTARGSCBPERR	0x10
22661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOSTOPT2	0x08
22671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOATNLQ	0x04
22681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOATNPKT	0x02
22691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOTCRC		0x01
22701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear LQO Manager interrupt 0
22741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRLQOINT0 {
22761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x054
22771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
22781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
22793dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
22801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOTARGSCBPERR	0x10
22811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOSTOPT2		0x08
22821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOATNLQ		0x04
22831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOATNPKT		0x02
22841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOTCRC		0x01
22857b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
22861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
22871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
22881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
22891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Interrupt Mode 0
22901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
22911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOMODE0 {
22921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x054
22931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
22941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
22953dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
22961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOTARGSCBPERR	0x10
22971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOSTOPT2		0x08
22981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOATNLQ		0x04
22991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOATNPKT		0x02
23001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOTCRC		0x01
23017b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
23021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Status 1
23061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOSTAT1 {
23081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x055
23091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
23101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
23111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOINITSCBPERR	0x10
23121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOSTOPI2	0x08
23131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOBADQAS	0x04
23141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOBUSFREE	0x02
23151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOPHACHGINPKT	0x01
23161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear LOQ Interrupt 1
23201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRLQOINT1 {
23221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x055
23231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
23241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
23253dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		7
23261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOINITSCBPERR	0x10
23271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOSTOPI2		0x08
23281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOBADQAS		0x04
23291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOBUSFREE		0x02
23301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRLQOPHACHGINPKT	0x01
23317b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
23321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Interrupt Mode 1
23361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOMODE1 {
23381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x055
23391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
23401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
23413dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
23421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOINITSCBPERR	0x10
23431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOSTOPI2		0x08
23441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOBADQAS		0x04
23451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOBUSFREE		0x02
23461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENLQOPHACHGINPKT	0x01
23477b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
23481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * LQO Manager Status 2
23521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOSTAT2 {
23541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x056
23551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
23561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
23571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOPKT		0xE0
23581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOWAITFIFO	0x10
23591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOPHACHGOUTPKT	0x02	/* outside of packet boundaries. */
23601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LQOSTOP0	0x01	/* Stopped after sending all packets */
23611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Output Synchronizer Space Count
23651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OS_SPACE_CNT {
23671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x056
23681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
23691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
23703dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
23717b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
23721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Interrupt Mode 1
23761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Setting any bit will enable the corresponding function
23771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * in SIMODE1 to interrupt via the IRQ pin.
23781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SIMODE1 {
23801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x057
23811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
23821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
23831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSELTIMO	0x80
23841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENATNTARG	0x40
23851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSCSIRST	0x20
23861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENPHASEMIS	0x10
23871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENBUSFREE	0x08
23881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSCSIPERR	0x04
23891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSTRB2FAST	0x02
23901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENREQINIT	0x01
23911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
23921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
23931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
23941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Good Status FIFO
23951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
23961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister GSFIFO {
23971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x058
23981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
23991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
24001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_SCSI
24017b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
24021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO SCSI Transfer Control
24061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFFSXFRCTL {
24081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05A
24091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
24101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
24111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFFBITBUCKET	0x08
24121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSHCNT	0x04
24131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCHN		0x02
24141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RSTCHN		0x01
24151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Next SCSI Control Block
24191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEXTSCB {
24211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05A
24221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
24231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
24241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
24257b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
24261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24283dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke/*
24293dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke * LQO SCSI Control
24303dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke * (Rev B only.)
24313dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke */
24321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LQOSCSCTL {
24331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05A
24341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
24351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		1
24361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
24373dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
24381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		LQOH2A_VERSION	0x80
24393dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	field		LQOBUSETDLY	0x40
24403dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	field		LQONOHOLDLACK	0x02
24411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field		LQONOCHKOVER	0x01
24427b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
24431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SEQ Interrupts
24471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQINTSRC {
24491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05B
24501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
24511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
24521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CTXTDONE	0x40
24531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SAVEPTRS	0x20
24541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CFG4DATA	0x10
24551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CFG4ISTAT	0x08
24561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CFG4TSTAT	0x04
24571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CFG4ICMD	0x02
24581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CFG4TCMD	0x01
24591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Clear Arp Interrupts
24631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CLRSEQINTSRC {
24651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05B
24661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
24671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
24681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCTXTDONE	0x40
24691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRSAVEPTRS	0x20
24701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCFG4DATA	0x10
24711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCFG4ISTAT	0x08
24721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCFG4TSTAT	0x04
24731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCFG4ICMD	0x02
24741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CLRCFG4TCMD	0x01
24757b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
24761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SEQ Interrupt Enabled (Shared)
24801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQIMODE {
24821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05C
24831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
24841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
24851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCTXTDONE	0x40
24861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSAVEPTRS	0x20
24871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCFG4DATA	0x10
24881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCFG4ISTAT	0x08
24891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCFG4TSTAT	0x04
24901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCFG4ICMD	0x02
24911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENCFG4TCMD	0x01
24921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
24931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
24941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
24951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Current SCSI Control Block
24961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
24971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CURRSCB {
24981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05C
24991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
25011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
25027b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
25031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Status
25071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister MDFFSTAT {
25091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05D
25101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
25111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
25121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SHCNTNEGATIVE	0x40 /* Rev B or higher */
25131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SHCNTMINUS1	0x20 /* Rev B or higher */
25141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LASTSDONE	0x10
25151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SHVALID		0x08
25161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DLZERO		0x04 /* FIFO data ends on packet boundary. */
25171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DATAINFIFO	0x02
25181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FIFOFREE	0x01
25191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CRC Control
25231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CRCCONTROL {
25251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05d
25261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
25281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CRCVALCHKEN		0x40
25291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI Test Control
25331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSITEST {
25351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05E
25361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
25381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CNTRTEST	0x08
25391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEL_TXPLL_DEBUG	0x04
25401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Queue Tag
25441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFFTAG {
25461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05E
25471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
25491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
25501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Last SCSI Control Block
25541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LASTSCB {
25561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05E
25571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
25591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
25607b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
25611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCSI I/O Cell Power-down Control
25651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister IOPDNCTL {
25671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x05F
25681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
25701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DISABLE_OE	0x80
25711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PDN_IDIST	0x04
25721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PDN_DIFFSENSE	0x01
25731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
257625985edcedea6396277003854657b5f3cb31a628Lucas De Marchi * Shadow Host Address.
25771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SHADDR {
25791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x060
25801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
25811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		8
25821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
25837b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
25841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Group CRC Interval.
25881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DGRPCRCI {
25901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x060
25911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
25921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
25931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
25941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
25951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
25961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
25971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Transfer Negotiation Address
25981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
25991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEGOADDR {
26001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x060
26011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26037b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Transfer Negotiation Data - Period Byte
26081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEGPERIOD {
26101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x061
26111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26133dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
26147b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Packetized CRC Interval
26191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PACKCRCI {
26211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x062
26221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
26241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
26251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Transfer Negotiation Data - Offset Byte
26291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEGOFFSET {
26311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x062
26321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26343dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
26357b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Transfer Negotiation Data - PPR Options
26401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEGPPROPTS {
26421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x063
26431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26453dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
26461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PPROPT_PACE	0x08
26471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PPROPT_QAS	0x04
26481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PPROPT_DT	0x02
26491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PPROPT_IUT	0x01
26507b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data Transfer Negotiation Data -  Connection Options
26551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NEGCONOPTS {
26571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x064
26581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSNAPSHOT	0x40
26611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTI_WRTDIS	0x20
26621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RTI_OVRDTRN	0x10
26631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENSLOWCRC	0x08
26641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENAUTOATNI	0x04
26651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ENAUTOATNO	0x02
26661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	WIDEXFER	0x01
26677b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
26711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Negotiation Table Annex Column Index.
26721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
26731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ANNEXCOL {
26741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x065
26751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
26773dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		7
26787b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
26801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
26813dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke/*
26823dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke * SCSI Check
26833dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke * (Rev. B only)
26843dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke */
26851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCSCHKN {
26861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x066
26871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
26881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
26893dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
26903dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	field	BIDICHKDIS	0x80
26911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STSELSKIDDIS	0x40
26921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CURRFIFODEF	0x20
26931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	WIDERESEN	0x10
26941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SDONEMSKDIS	0x08
26951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFFACTCLR	0x04
26961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SHVALIDSTDIS	0x02
26971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LSTSGCLRDIS	0x01
26987b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
26991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_ANNEXCOL_PER_DEV0	4
27021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_NUM_PER_DEV_ANNEXCOLS	4
27031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_ANNEXCOL_PRECOMP_SLEW	4
27041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_PRECOMP_MASK	0x07
27051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_PRECOMP_SHIFT	0
27061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_PRECOMP_CUTBACK_17	0x04
27071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_PRECOMP_CUTBACK_29	0x06
27081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_PRECOMP_CUTBACK_37	0x07
27091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_SLEWRATE_MASK	0x78
27101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_SLEWRATE_SHIFT	3
27111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Rev A has only a single bit (high bit of field) of slew adjustment.
27131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Rev B has 4 bits.  The current default happens to be the same for both.
27141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_SLEWRATE_DEF_REVA	0x08
27161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_SLEWRATE_DEF_REVB	0x08
27171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Rev A does not have any amplitude setting. */
27191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_ANNEXCOL_AMPLITUDE	6
27201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_AMPLITUDE_MASK	0x7
27211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_AMPLITUDE_SHIFT	0
27221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst	AHD_AMPLITUDE_DEF	0x7
27231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Negotiation Table Annex Data Port.
27261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ANNEXDAT {
27281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x066
27291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
27313dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
27327b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
27331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Initiator's Own Id.
27371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The SCSI ID to use for Selection Out and seen during a reselection..
27381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister IOWNID {
27401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x067
27411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
27437b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
27441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 960MHz Phase-Locked Loop Control 0
27481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL960CTL0 {
27501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x068
27511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
27531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_VCOSEL	0x80
27541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_PWDN	0x40
27551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_NS		0x30
27561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENLUD	0x08
27571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENLPF	0x04
27581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_DLPF	0x02
27591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENFBM	0x01
27601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Target Own Id
27641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister TOWNID {
27661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x069
27671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
27693dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
27707b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
27711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 960MHz Phase-Locked Loop Control 1
27751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL960CTL1 {
27771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x069
27781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
27801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_CNTEN	0x80
27811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_CNTCLR	0x40
27821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_RST		0x01
27831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Expander Signature
27871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister XSIG {
27891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06A
27901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
27911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
27921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
27931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
27941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
27951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Shadow Byte Count
27961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
27971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SHCNT {
27981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x068
27991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		3
28011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
28027b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
28031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Selection Out ID
28071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SELOID {
28091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06B
28101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
28121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 960-MHz Phase-Locked Loop Test Count
28161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL960CNT0 {
28181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06A
28191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
28201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
28211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
28221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 400-MHz Phase-Locked Loop Control 0
28261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL400CTL0 {
28281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06C
28291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
28311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_VCOSEL	0x80
28321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_PWDN	0x40
28331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_NS		0x30
28341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENLUD	0x08
28351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENLPF	0x04
28361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_DLPF	0x02
28371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_ENFBM	0x01
28381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Arbitration Fairness
28421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FAIRNESS {
28441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06C
28451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
28471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
28481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 400-MHz Phase-Locked Loop Control 1
28521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL400CTL1 {
28541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06D
28551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
28571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_CNTEN	0x80
28581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_CNTCLR	0x40
28591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PLL_RST		0x01
28601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Arbitration Unfairness
28641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister UNFAIRNESS {
28661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06E
28671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
28691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
28701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 400-MHz Phase-Locked Loop Test Count
28741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PLL400CNT0 {
28761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x06E
28771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
28781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
28791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
28801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Page Pointer
28841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCBPTR {
28861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A8
28871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
28881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
28891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1, M_CCHAN, M_SCSI
28907b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
28911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
28921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
28931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
28941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SCB Array Count
28951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Number of bytes to transfer between CMC SCB memory and SCBRAM.
28961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Transfers must be 8byte aligned and sized.
28971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
28981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSCBACNT {
28991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AB
29001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
29021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Autopointer
29061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB-Next Address Snooping logic.  When an SCB is transferred to
29071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * the card, the next SCB address to be used by the CMC array can
29081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * be autoloaded from that transfer.
29091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCBAUTOPTR {
29111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AB
29121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
29143dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
29151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUSCBPTR_EN	0x80
29161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBPTR_ADDR	0x38
29171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBPTR_OFF	0x07
29187b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
29191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SG Ram Address Pointer
29231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSGADDR {
29251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AC
29261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
29287b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
29291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SCB RAM Address Pointer
29331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSCBADDR {
29351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AC
29361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
29387b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
29391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SCB Ram Back-up Address Pointer
29431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Indicates the true stop location of transfers halted prior
29441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * to SCBHCNT going to 0.
29451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSCBADR_BK {
29471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AC
29481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
29491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
29501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SG Control
29541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSGCTL {
29561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AD
29571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
29591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSGDONE	0x80
29601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_CACHE_AVAIL	0x10
29611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSGENACK	0x08
29621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	CCSGEN		0x0C
29631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_FETCH_REQ	0x02
29641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSGRESET	0x01
29651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMD SCB Control
29691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSCBCTL {
29711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AD
29721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
29741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSCBDONE	0x80
29751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ARRDONE		0x40
29761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCARREN		0x10
29771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSCBEN		0x08
29781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSCBDIR	0x04
29791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CCSCBRESET	0x01
29801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC Ram BIST
29841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
29851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CMC_RAMBIST {
29861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0AD
29871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
29881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
29891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_ELEMENT_SIZE		0x80
29901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCBRAMBIST_FAIL		0x40
29911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_BIST_FAIL		0x20
29921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SG_BIST_EN		0x10
29931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMC_BUFFER_BIST_FAIL	0x02
29941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CMC_BUFFER_BIST_EN	0x01
29951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
29961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
29971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
29981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SG RAM Data Port
29991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSGRAM {
30011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B0
30021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
30047b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
30051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CMC SCB RAM Data Port
30091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CCSCBRAM {
30111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B0
30121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CCHAN
30147b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
30151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Flex DMA Address.
30191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLEXADR {
30211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B0
30221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		3
30241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Flex DMA Byte Count
30291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLEXCNT {
30311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B3
30321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
30341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Flex DMA Status
30391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLEXDMASTAT {
30411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B5
30421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FLEXDMAERR	0x02
30451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FLEXDMADONE	0x01
30461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Flex DMA Data Port
30501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLEXDATA {
30521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B6
30531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Board Data
30591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BRDDAT {
30611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B8
30621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30643dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
30657b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
30661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Board Control
30701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BRDCTL {
30721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0B9
30731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30753dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		7
30761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FLXARBACK	0x80
30771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FLXARBREQ	0x40
30781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRDADDR		0x38
30791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRDEN		0x04
30801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRDRW		0x02
30811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRDSTB		0x01
30827b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
30831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Serial EEPROM Address
30871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEEADR {
30891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0BA
30901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
30911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
30923dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
30937b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
30941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
30951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
30961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
30971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Serial EEPROM Data
30981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
30991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEEDAT {
31001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0BC
31011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
31031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
31043dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
31057b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
31061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Serial EEPROM Status
31101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEESTAT {
31121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0BE
31131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
31141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
31153dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
31161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INIT_DONE	0x80
31171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEEOPCODE	0x70
31181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LDALTID_L	0x08
31191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEEARBACK	0x04
31201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEEBUSY		0x02
31211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEESTART	0x01
31227b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
31231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Serial EEPROM Control
31271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEECTL {
31291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0BE
31301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
31323dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		4
31331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEEOPCODE	0x70 {
31341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SEEOP_ERASE	0x70,
31351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SEEOP_READ	0x60,
31361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SEEOP_WRITE	0x50,
31371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
31381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The following four commands use special
31391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * addresses for differentiation.
31401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
31411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		SEEOP_ERAL	0x40
31421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
31431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	SEEOP_EWEN	0x40
31441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	SEEOP_WALL	0x40
31451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	mask	SEEOP_EWDS	0x40
31461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEERST		0x02
31471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEESTART	0x01
31487b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
31491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SEEOP_ERAL_ADDR	0x80
31521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SEEOP_EWEN_ADDR	0xC0
31531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SEEOP_WRAL_ADDR	0x40
31541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SEEOP_EWDS_ADDR	0x00
31551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * SCB Counter
31581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SCBCNT {
31601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0BF
31611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
31637b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
31641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Write Address
31681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Pointer to the next QWD location to be written to the data FIFO.
31691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFWADDR {
31711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C0
31721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
31741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
31757b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
31761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DSP Filter Control
31801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSPFLTRCTL {
31821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C0
31831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
31851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FLTRDISABLE	0x20
31861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	EDGESENSE	0x10
31871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DSPFCNTSEL	0x0F
31881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
31891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
31901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
31911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DSP Data Channel Control
31921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
31931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSPDATACTL {
31941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C1
31951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
31961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
31973dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
31981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BYPASSENAB	0x80
31991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DESQDIS		0x10
32001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RCVROFFSTDIS	0x04
32011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	XMITOFFSTDIS	0x02
32027b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
32031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Read Address
32071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Pointer to the next QWD location to be read from the data FIFO.
32081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFRADDR {
32101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C2
32111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
32121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
32131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
32141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DSP REQ Control
32181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSPREQCTL {
32201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C2
32211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
32221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
32231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANREQCTL	0xC0
32241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANREQDLY	0x3F
32251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DSP ACK Control
32291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSPACKCTL {
32311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C3
32321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
32331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
32341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANACKCTL	0xC0
32351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	MANACKDLY	0x3F
32361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Data
32401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Read/Write byte port into the data FIFO.  The read and write
32411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * FIFO pointers increment with each read and write respectively
32421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * to this port.
32431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFDAT {
32451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C4
32461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
32471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
32487b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
32491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * DSP Channel Select
32531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DSPSELECT {
32551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C4
32561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
32571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
32583dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
32591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTOINCEN	0x80
32601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DSPSEL		0x1F
32617b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
32621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst NUMDSPS 0x14
32651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Write Bias Control
32681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister WRTBIASCTL {
32701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C5
32711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
32721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
32733dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		3
32741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTOXBCDIS	0x80
32751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	XMITMANVAL	0x3F
32767b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
32771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Currently the WRTBIASCTL is the same as the default.
32811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst WRTBIASCTL_HP_DEFAULT 0x0
32831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Receiver Bias Control
32861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister RCVRBIOSCTL {
32881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C6
32891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	WO
32901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
32911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	AUTORBCDIS	0x80
32921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RCVRMANVAL	0x3F
32931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
32941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
32951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
32961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Write Bias Calculator
32971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
32981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister WRTBIASCALC {
32991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C7
33001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
33011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
33021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Pointers
33061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Contains the byte offset from DFWADDR and DWRADDR to the current
33071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * FIFO write/read locations.
33081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFPTRS {
33101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C8
33111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
33121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
33131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Receiver Bias Calculator
33171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister RCVRBIASCALC {
33191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C8
33201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
33211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
33221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Backup Read Pointer
33261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Contains the data FIFO address to be restored if the last
33271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * data accessed from the data FIFO was not transferred successfully.
33281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFBKPTR {
33301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C9
33311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
33321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
33331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
33341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Skew Calculator
33381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SKEWCALC {
33401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0C9
33411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
33421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
33431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Debug Control
33471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFDBCTL {
33491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address				0x0CB
33501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
33511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
33521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_CIO_WR_RDY		0x20
33531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_CIO_RD_RDY		0x10
33541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_DIR_ERR		0x08
33551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_RAMBIST_FAIL	0x04
33561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_RAMBIST_DONE	0x02
33571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	DFF_RAMBIST_EN		0x01
33581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Space Count
33621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Number of FIFO locations that are free.
33631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFSCNT {
33651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0CC
33661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
33671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
33681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
33691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Data FIFO Byte Count
33731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Number of filled FIFO locations.
33741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DFBCNT {
33761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0CE
33771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RO
33781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
33791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_DFF0, M_DFF1
33801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Program Overlay Address.
33841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Low address must be written prior to high address.
33851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister OVLYADDR {
33871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0D4
33881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
33891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
33901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
33911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
33921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
33931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
33941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Control 0
33951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Error detection mode, speed configuration,
33961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * single step, breakpoints and program load.
33971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
33981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQCTL0 {
33991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0D6
34003dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	access_mode	RW
34013dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		11
34021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PERRORDIS	0x80
34031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	PAUSEDIS	0x40
34041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FAILDIS		0x20
34051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	FASTMODE	0x10
34061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRKADRINTEN	0x08
34071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	STEP		0x04
34081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SEQRESET	0x02
34091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	LOADRAM		0x01
34101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Control 1
34141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Instruction RAM Diagnostics
34151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQCTL1 {
34171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0D7
34181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RW
34191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	OVRLAY_DATA_CHK	0x08
34201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RAMBIST_DONE	0x04
34211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RAMBIST_FAIL	0x02
34221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	RAMBIST_EN	0x01
34231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Flags
34271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Zero and Carry state of the ALU.
34281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FLAGS {
34301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0D8
34313dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	access_mode 	RO
34323dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		23
34331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	ZERO		0x02
34341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	CARRY		0x01
34357b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
34361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Interrupt Control
34401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQINTCTL {
34421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0D9
34431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RW
34441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INTVEC1DSL	0x80
34451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INT1_CONTEXT	0x20
34461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCS_SEQ_INT1M1	0x10
34471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	SCS_SEQ_INT1M0	0x08
34481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INTMASK2	0x04
34491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	INTMASK1	0x02
34501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	IRET		0x01
34511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer RAM Data Port
34551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Single byte window into the Sequencer Instruction Ram area starting
34561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * at the address specified by OVLYADDR.  To write a full instruction word,
34571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * simply write four bytes in succession.  OVLYADDR will increment after the
34581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * most significant instrution byte (the byte with the parity bit) is written.
34591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SEQRAM {
34611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0DA
34623dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	access_mode 	RW
34633dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
34647b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
34651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer Program Counter
34691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Low byte must be written prior to high byte.
34701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister PRGMCNT {
34721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0DE
34731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
34741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
34753dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		5
34767b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
34771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Accumulator
34811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ACCUM {
34831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E0
34843dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	access_mode 	RW
34851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	accumulator
34867b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
34871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
34881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
34891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
34901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Source Index Register
34911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Incrementing index for reads of SINDIR and the destination (low byte only)
34921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * for any immediate operands passed in jmp, jc, jnc, call instructions.
34931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Example:
34941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *		mvi	0xFF	call some_routine;
34951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
34961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Will set SINDEX[0] to 0xFF and call the routine "some_routine.
34971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
34981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SINDEX	{
34991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E2
35001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
35011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
35021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	sindex
35037b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Destination Index Register
35081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Incrementing index for writes to DINDIR.  Can be used as a scratch register.
35091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DINDEX {
35111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E4
35121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
35131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
35147b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Break Address
35191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sequencer instruction breakpoint address address.
35201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BRKADDR0 {
35221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E6
35231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
35241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister BRKADDR1 {
35271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E6
35281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
35291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	field	BRKDIS		0x80	/* Disable Breakpoint */
35301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * All Ones
35341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * All reads to this register return the value 0xFF.
35351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ALLONES {
35371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0E8
35381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RO
35391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	allones
35407b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * All Zeros
35451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * All reads to this register return the value 0.
35461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister ALLZEROS {
35481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0EA
35491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RO
35501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	allzeros
35517b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * No Destination
35561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Writes to this register have no effect.
35571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister NONE {
35591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0EA
35601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode WO
35611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	none
35627b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Source Index Indirect
35671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Reading this register is equivalent to reading (register_base + SINDEX) and
35681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * incrementing SINDEX by 1.
35691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister SINDIR	{
35711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0EC
35721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RO
35737b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Destination Index Indirect
35781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Writing this register is equivalent to writing to (register_base + DINDEX)
35791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * and incrementing DINDEX by 1.
35801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister DINDIR	 {
35821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0ED
35831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode WO
35847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
35851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
35861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
35881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Function One
35891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 2's complement to bit value conversion.  Write the 2's complement value
35901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * (0-7 only) to the top nibble and retrieve the bit indexed by that value
35911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * on the next read of this register.
35921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Example:
35931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *	Write	0x60
35941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *	Read	0x40
35951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
35961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister FUNCTION1 {
35971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F0
35981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RW
35991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
36021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Stack
36031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Window into the stack.  Each stack location is 10 bits wide reported
36041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * low byte followed by high byte.  There are 8 stack locations.
36051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
36061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister STACK {
36071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F2
36081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode RW
36097b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
36101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
36131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Interrupt Vector 1 Address
36141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Interrupt branch address for SCS SEQ_INT1 mode 0 and 1 interrupts.
36151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
36161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister INTVEC1_ADDR {
36171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F4
36181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
36191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
36201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
36213dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
36227b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
36231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
36261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Current Address
36271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Address of the SEQRAM instruction currently executing instruction.
36281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
36291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister CURADDR {
36301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F4
36311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
36321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
36331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
36343dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		2
36357b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
36361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
36391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Interrupt Vector 2 Address
36401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Interrupt branch address for HST_SEQ_INT2 interrupts.
36411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
36421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister INTVEC2_ADDR {
36431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F6
36441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
36451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
36461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
36473dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	count		1
36487b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko	dont_generate_debug_code
36491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
36521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Last Address
36531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Address of the SEQRAM instruction executed prior to the current instruction.
36541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
36551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister LASTADDR {
36561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F6
36571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
36581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		2
36591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_SCSI
36601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsregister AHD_PCI_CONFIG_BASE {
36631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x100
36641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	access_mode	RW
36651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size		256
36661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes		M_CFG
36671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
36681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
36691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* ---------------------- Scratch RAM Offsets ------------------------- */
36701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsscratch_ram {
36711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/* Mode Specific */
36721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0A0
36731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size	8
36741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes	0, 1, 2, 3
36751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	REG0 {
36761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
36777b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
36781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
36791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	REG1 {
36801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
36811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
36821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	REG_ISR {
36831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
36847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
36851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
36861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SG_STATE {
36871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
36881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SEGS_AVAIL	0x01
36891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	LOADING_NEEDED	0x02
36901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	FETCH_INPROG	0x04
36911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
36921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
36931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Track whether the transfer byte count for
36941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * the current data phase is odd.
36951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
36961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	DATA_COUNT_ODD {
36971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
36981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
36991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
37001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
37011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsscratch_ram {
37021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/* Mode Specific */
37031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x0F8
37041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size	8
37051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes	0, 1, 2, 3
37061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	LONGJMP_ADDR {
37071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37087b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	ACCUM_SAVE {
37111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
37127b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
37151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
37161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
37171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsscratch_ram {
37181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x100
37191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size	128
37201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	modes	0, 1, 2, 3
37211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
37221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Per "other-id" execution queues.  We use an array of
37231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * tail pointers into lists of SCBs sorted by "other-id".
37241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The execution head pointer threads the head SCBs for
37251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * each list.
37261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
37271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	WAITING_SCB_TAILS {
37281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		32
37297b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	WAITING_TID_HEAD {
37321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37337b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	WAITING_TID_TAIL {
37361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37377b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
37401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * SCBID of the next SCB in the new SCB queue.
37411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
37421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	NEXT_QUEUED_SCB_ADDR {
37431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		4
37447b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
37471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * head of list of SCBs that have
37481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * completed but have not been
37491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * put into the qoutfifo.
37501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
37511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	COMPLETE_SCB_HEAD {
37521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37537b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
37561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The list of completed SCBs in
37571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * the active DMA.
37581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
37591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	COMPLETE_SCB_DMAINPROG_HEAD {
37601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37617b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
37631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
37641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * head of list of SCBs that have
37651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * completed but need to be uploaded
37661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * to the host prior to being completed.
37671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
37681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	COMPLETE_DMA_SCB_HEAD {
37691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37707b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
37711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
377211668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	/*
377311668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * tail of list of SCBs that have
377411668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * completed but need to be uploaded
377511668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * to the host prior to being completed.
377611668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 */
377711668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	COMPLETE_DMA_SCB_TAIL {
377811668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke		size		2
37797b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
378011668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	}
378111668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	/*
378211668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * head of list of SCBs that have
378311668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * been uploaded to the host, but cannot
378411668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * be completed until the QFREEZE is in
378511668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * full effect (i.e. no selections pending).
378611668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 */
378711668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	COMPLETE_ON_QFREEZE_HEAD {
378811668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke		size		2
37897b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
379011668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	}
379111668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	/*
379211668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * Counting semaphore to prevent new select-outs
379311668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * The queue is frozen so long as the sequencer
379411668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * and kernel freeze counts differ.
379511668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 */
37961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	QFREEZE_COUNT {
37971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
37981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
379911668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	KERNEL_QFREEZE_COUNT {
380011668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke		size		2
380111668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	}
38021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
38031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Mode to restore on legacy idle loop exit.
38041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
38051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SAVED_MODE {
38061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
38091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Single byte buffer used to designate the type or message
38101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * to send to a target.
38111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
38121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	MSG_OUT {
38131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38147b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
38151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/* Parameters for DMA Logic */
38171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	DMAPARAMS {
38181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38193dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		8
38201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	PRELOADEN	0x80
38211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	WIDEODD		0x40
38221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SCSIEN		0x20
38231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SDMAEN		0x10
38241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SDMAENACK	0x10
38251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	HDMAEN		0x08
38261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	HDMAENACK	0x08
38271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	DIRECTION	0x04	/* Set indicates PCI->SCSI */
38281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	FIFOFLUSH	0x02
38291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	FIFORESET	0x01
38307b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
38311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SEQ_FLAGS {
38331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	NOT_IDENTIFIED		0x80
38351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	NO_CDB_SENT		0x40
38361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	TARGET_CMD_IS_TAGGED	0x40
38371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	DPHASE			0x20
38381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		/* Target flags */
38391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	TARG_CMD_PENDING	0x10
38401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	CMDPHASE_PENDING	0x08
38411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	DPHASE_PENDING		0x04
38421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SPHASE_PENDING		0x02
38431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	NO_DISCONNECT		0x01
38441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
38461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Temporary storage for the
38471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * target/channel/lun of a
38481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * reconnecting target
38491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
38501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SAVED_SCSIID {
38511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38527b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
38531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SAVED_LUN {
38551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38567b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
38571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
38591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The last bus phase as seen by the sequencer.
38601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
38611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	LASTPHASE {
38621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	CDI		0x80
38641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	IOI		0x40
38651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	MSGI		0x20
38661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	P_BUSFREE	0x01
38671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		enum	PHASE_MASK  CDO|IOO|MSGO {
38681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_DATAOUT	0x0,
38691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_DATAIN	IOO,
38701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_DATAOUT_DT	P_DATAOUT|MSGO,
38711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_DATAIN_DT	P_DATAIN|MSGO,
38721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_COMMAND	CDO,
38731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_MESGOUT	CDO|MSGO,
38741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_STATUS	CDO|IOO,
38751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds			P_MESGIN	CDO|IOO|MSGO
38761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		}
38771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
38791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Value to "or" into the SCBPTR[1] value to
38801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * indicate that an entry in the QINFIFO is valid.
38811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
38821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	QOUTFIFO_ENTRY_VALID_TAG {
38831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
38847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
38851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
38861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
388711668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * Kernel and sequencer offsets into the queue of
388811668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * incoming target mode command descriptors.  The
388911668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 * queue is full when the KERNEL_TQINPOS == TQINPOS.
389011668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	 */
389111668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	KERNEL_TQINPOS {
389211668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke		size		1
38933dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		1
38947b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
389511668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	}
3896be0d67680d524981dd65c661efe3c9cbd52a684fDenys Vlasenko	TQINPOS {
389711668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke		size		1
38983dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		8
38997b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
390011668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	}
390111668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reinecke	/*
39021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Base address of our shared data with the kernel driver in host
39031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * memory.  This includes the qoutfifo and target mode
39041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * incoming command queue.
39051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SHARED_DATA_ADDR {
39071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		4
39087b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Pointer to location in host memory for next
39121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * position in the qoutfifo.
39131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	QOUTFIFO_NEXT_ADDR {
39151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		4
39167b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	ARG_1 {
39191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
39201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	SEND_MSG		0x80
39211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	SEND_SENSE		0x40
39221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	SEND_REJ		0x20
39231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	MSGOUT_PHASEMIS		0x10
39241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	EXIT_MSG_LOOP		0x08
39251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	CONT_MSG_LOOP_WRITE	0x04
39261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	CONT_MSG_LOOP_READ	0x03
39271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		mask	CONT_MSG_LOOP_TARG	0x02
39281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	RETURN_1
39297b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	ARG_2 {
39321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
39333dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		1
39341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	RETURN_2
39357b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Snapshot of MSG_OUT taken after each message is sent.
39401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	LAST_MSG {
39421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
39437b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Sequences the kernel driver has okayed for us.  This allows
39481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * the driver to do things like prevent initiator or target
39491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * operations.
39501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCSISEQ_TEMPLATE {
39521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
39533dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		7
39541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	MANUALCTL	0x40
39551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	ENSELI		0x20
39561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	ENRSELI		0x10
39571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	MANUALP		0x0C
39581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	ENAUTOATNP	0x02
39591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	ALTSTIM		0x01
39607b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The initiator specified tag for this target mode transaction.
39651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	INITIATOR_TAG {
39671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
39683dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		1
39697b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SEQ_FLAGS2 {
39731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
397453467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke		field	PENDING_MK_MESSAGE	0x01
397553467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke		field	TARGET_MSG_PENDING	0x02
397653467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke		field	SELECTOUT_QFROZEN	0x04
39771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	ALLOCFIFO_SCBPTR {
39801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
39817b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The maximum amount of time to wait, when interrupt coalescing
398625985edcedea6396277003854657b5f3cb31a628Lucas De Marchi	 * is enabled, before issuing a CMDCMPLT interrupt for a completed
39871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * command.
39881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	INT_COALESCING_TIMER {
39901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
39917b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
39921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
39931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
39941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
39951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The maximum number of commands to coalesce into a single interrupt.
39961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Actually the 2's complement of that value to simplify sequencer
39971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * code.
39981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
39991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	INT_COALESCING_MAXCMDS {
40001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
40017b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
40051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The minimum number of commands still outstanding required
40061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * to continue coalescing (2's complement of value).
40071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
40081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	INT_COALESCING_MINCMDS {
40091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
40107b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
40141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Number of commands "in-flight".
40151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
40161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	CMDS_PENDING {
40171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		2
40187b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
40221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * The count of commands that have been coalesced.
40231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
40241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	INT_COALESCING_CMDCOUNT {
40251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
40267b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
40301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Since the HS_MAIBOX is self clearing, copy its contents to
40311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * this position in scratch ram every time it changes.
40321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
40331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	LOCAL_HS_MAILBOX {
40341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		1
40357b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	/*
40381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * Target-mode CDB type to CDB length table used
40391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 * in non-packetized operation.
40401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 */
40411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	CMDSIZE_TABLE {
40421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size		8
40433dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke		count		8
40447b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
404653467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	/*
404753467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * When an SCB with the MK_MESSAGE flag is
404853467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * queued to the controller, it cannot enter
404953467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * the waiting for selection list until the
405053467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * selections for any previously queued
405153467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * commands to that target complete.  During
405253467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * the wait, the MK_MESSAGE SCB is queued
405353467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * here.
405453467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 */
405553467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	MK_MESSAGE_SCB {
405653467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke		size		2
405753467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	}
405853467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	/*
405953467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * Saved SCSIID of MK_MESSAGE_SCB to avoid
406053467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * an extra SCBPTR operation when deciding
406153467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 * if the MK_MESSAGE_SCB can be run.
406253467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	 */
406353467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	MK_MESSAGE_SCSIID {
406453467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke		size		1
406553467e636b7beb350c307cc88323aae4676577f2Hannes Reinecke	}
40661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
40671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
40681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/************************* Hardware SCB Definition ****************************/
40691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsscb {
40701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	address			0x180
40713dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	size		64
40723dbd10f3d8b00dad35d3fac95e91c066ae71d9a8Hannes Reinecke	modes		0, 1, 2, 3
40731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_RESIDUAL_DATACNT {
40741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
40751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_CDB_STORE
40761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_HOST_CDB_PTR
40777b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_RESIDUAL_SGPTR {
40801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
40811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_ADDR_MASK		0xf8	/* In the last byte */
40821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_OVERRUN_RESID	0x02	/* In the first byte */
40831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_LIST_NULL		0x01	/* In the first byte */
40847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_SCSI_STATUS {
40871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
40881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_HOST_CDB_LEN
40897b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TARGET_PHASES {
40921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
40937b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TARGET_DATA_DIR {
40961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
40977b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
40981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
40991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TARGET_ITAG {
41001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41017b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_SENSE_BUSADDR {
41041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		/*
41051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * Only valid if CDB length is less than 13 bytes or
41061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * we are using a CDB pointer.  Otherwise contains
41071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * the last 4 bytes of embedded cdb information.
41081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 */
41091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
41101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_NEXT_COMPLETE
41117b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TAG {
41141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_FIFO_USE_COUNT
41151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	2
41167b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_CONTROL {
41191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	TARGET_SCB	0x80
41211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	DISCENB		0x40
41221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	TAG_ENB		0x20
41231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	MK_MESSAGE	0x10
41241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	STATUS_RCVD	0x08
41251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	DISCONNECTED	0x04
41261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SCB_TAG_TYPE	0x03
41271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_SCSIID {
41291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	TID	0xF0
41311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	OID	0x0F
41321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_LUN {
41341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	LID	0xff
41367b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TASK_ATTRIBUTE {
41391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		/*
41411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * Overloaded field for non-packetized
41421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * ignore wide residue message handling.
41431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 */
41441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SCB_XFERLEN_ODD	0x01
41457b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_CDB_LEN {
41481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SCB_CDB_LEN_PTR	0x80	/* CDB in host memory */
41507b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_TASK_MANAGEMENT {
41531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	1
41547b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_DATAPTR {
41571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	8
41587b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_DATACNT {
41611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		/*
41621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * The last byte is really the high address bits for
41631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 * the data address.
41641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		 */
41651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
41661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_LAST_SEG		0x80	/* In the fourth byte */
41671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_HIGH_ADDR_BITS	0x7F	/* In the fourth byte */
41687b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_SGPTR {
41711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
41721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_STATUS_VALID	0x04	/* In the first byte */
41731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_FULL_RESID	0x02	/* In the first byte */
41741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		field	SG_LIST_NULL	0x01	/* In the first byte */
41757b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_BUSADDR {
41781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	4
41797b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_NEXT {
41821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_NEXT_SCB_BUSADDR
41831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	2
41847b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_NEXT2 {
41871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	2
41887b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_SPARE {
41911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	8
41921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		alias	SCB_PKT_LUN
41931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	SCB_DISCONNECTED_LISTS {
41951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds		size	8
41967b61ab89f9981ef296fb04dc42ee46fcc922c14fDenys Vlasenko		dont_generate_debug_code
41971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	}
41981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
41991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*********************************** Constants ********************************/
42011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst MK_MESSAGE_BIT_OFFSET	4
42021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst TID_SHIFT		4
42031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst TARGET_CMD_CMPLT	0xfe
42041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst INVALID_ADDR	0x80
42051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SCB_LIST_NULL	0xff
42061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define QOUTFIFO_ENTRY_VALID_TOGGLE	0x80
42071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst CCSGADDR_MAX	0x80
42091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst CCSCBADDR_MAX	0x80
42101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst CCSGRAM_MAXSEGS	16
42111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Selection Timeout Timer Constants */
42131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STIMESEL_SHIFT	3
42141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STIMESEL_MIN	0x18
42151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STIMESEL_BUG_ADJ	0x8
42161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* WDTR Message values */
42181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst BUS_8_BIT			0x00
42191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst BUS_16_BIT		0x01
42201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst BUS_32_BIT		0x02
42211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Offset maximums */
42231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst MAX_OFFSET		0xfe
42241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst MAX_OFFSET_PACED		0xfe
42251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst MAX_OFFSET_PACED_BUG	0x7f
42261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
42271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Some 160 devices incorrectly accept 0xfe as a
42281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * sync offset, but will overrun this value.  Limit
42291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * to 0x7f for speed lower than U320 which will
42301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * avoid the persistent sync offset overruns.
42311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
42321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst MAX_OFFSET_NON_PACED	0x7f
42331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst HOST_MSG			0xff
42341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
42361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The size of our sense buffers.
42371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Sense buffer mapping can be handled in either of two ways.
42381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * The first is to allocate a dmamap for each transaction.
42391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Depending on the architecture, dmamaps can be costly. The
42401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * alternative is to statically map the buffers in much the same
42411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * way we handle our scatter gather lists.  The driver implements
42421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * the later.
42431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
42441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_SENSE_BUFSIZE		256
42451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Target mode command processing constants */
42471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst CMD_GROUP_CODE_SHIFT	0x05
42481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STATUS_BUSY		0x08
42501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STATUS_QUEUE_FULL		0x28
42511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst STATUS_PKT_SENSE		0xFF
42521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst TARGET_DATA_IN		1
42531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SCB_TRANSFER_SIZE_FULL_LUN	56
42551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SCB_TRANSFER_SIZE_1BYTE_LUN	48
42561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* PKT_OVERRUN_BUFSIZE must be a multiple of 256 less than 64K */
42571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst PKT_OVERRUN_BUFSIZE	512
42581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
42601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Timer parameters.
42611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
42621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_TIMER_US_PER_TICK	25
42631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_TIMER_MAX_TICKS	0xFFFF
42641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst AHD_TIMER_MAX_US		(AHD_TIMER_MAX_TICKS * AHD_TIMER_US_PER_TICK)
42651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
42671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Downloaded (kernel inserted) constants
42681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
42691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SG_PREFETCH_CNT download
42701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SG_PREFETCH_CNT_LIMIT download
42711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SG_PREFETCH_ALIGN_MASK download
42721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SG_PREFETCH_ADDR_MASK download
42731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SG_SIZEOF download
42741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst PKT_OVERRUN_BUFOFFSET download
42751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst SCB_TRANSFER_SIZE	download
427611668bb673c41ec169a85d0b52c538a1c11d29e1Hannes Reineckeconst CACHELINE_MASK download
42771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
42781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
42791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * BIOS SCB offsets
42801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
42811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconst NVRAM_SCB_OFFSET	0x2C
4282