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