178209Snyan/* $FreeBSD$ */ 278209Snyan/* $NecBSD: wd33c93reg.h,v 1.21.24.1 2001/06/13 05:52:05 honda Exp $ */ 378209Snyan/* $NetBSD$ */ 4139749Simp/*- 578209Snyan * [NetBSD for NEC PC-98 series] 678209Snyan * Copyright (c) 1996, 1997, 1998 778209Snyan * NetBSD/pc98 porting staff. All rights reserved. 878209Snyan * Copyright (c) 1996, 1997, 1998 978209Snyan * Naofumi Honda. All rights reserved. 1078209Snyan * 1178209Snyan * Redistribution and use in source and binary forms, with or without 1278209Snyan * modification, are permitted provided that the following conditions 1378209Snyan * are met: 1478209Snyan * 1. Redistributions of source code must retain the above copyright 1578209Snyan * notice, this list of conditions and the following disclaimer. 1678209Snyan * 2. Redistributions in binary form must reproduce the above copyright 1778209Snyan * notice, this list of conditions and the following disclaimer in the 1878209Snyan * documentation and/or other materials provided with the distribution. 1978209Snyan * 3. The name of the author may not be used to endorse or promote products 2078209Snyan * derived from this software without specific prior written permission. 2178209Snyan * 2278209Snyan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2378209Snyan * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 2478209Snyan * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2578209Snyan * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 2678209Snyan * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 2778209Snyan * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 2878209Snyan * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2978209Snyan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 3078209Snyan * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 3178209Snyan * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 3278209Snyan * POSSIBILITY OF SUCH DAMAGE. 3378209Snyan */ 3478209Snyan 3578209Snyan#ifndef _WD33C93REG_H_ 3678209Snyan#define _WD33C93REG_H_ 3778209Snyan 3878209Snyan/* wd33c93 register */ 3978209Snyan#define wd3s_oid 0x00 4078209Snyan#define IDR_FS_16_20 0x80 4178209Snyan#define IDR_FS_12_15 0x40 4278209Snyan#define IDR_FS_8_10 0x00 4378209Snyan#define IDR_RAF 0x20 4478209Snyan#define IDR_EHP 0x10 4578209Snyan#define IDR_EAF 0x08 4678209Snyan#define IDR_IDM 0x07 4778209Snyan 4878209Snyan#define wd3s_ctrl 0x01 4978209Snyan#define CR_DMA 0x80 5078209Snyan#define CR_DMAD 0x40 5178209Snyan#define CR_HLT_HOST_PARITY 0x10 5278209Snyan#define CR_DIS_INT 0x08 5378209Snyan#define CR_IDIS_INT 0x04 5478209Snyan#define CR_HLT_ATN 0x02 5578209Snyan#define CR_HLT_BUS_PARITY 0x01 5678209Snyan#define CR_DEFAULT (CR_DIS_INT | CR_IDIS_INT) 5778209Snyan#define CR_DEFAULT_HP (CR_DEFAULT | CR_HLT_BUS_PARITY) 5878209Snyan 5978209Snyan#define wd3s_tout 0x02 6078209Snyan#define wd3s_cdb 0x03 6178209Snyan#define wd3s_lun 0x0f 6278209Snyan#define wd3s_cph 0x10 6378209Snyan#define wd3s_synch 0x11 6478209Snyan#define wd3s_cnt 0x12 6578209Snyan#define wd3s_did 0x15 6678209Snyan#define DIDR_SCC 0x80 6778209Snyan#define DIDR_DPD 0x40 6878209Snyan 6978209Snyan#define wd3s_sid 0x16 7078209Snyan#define SIDR_RESEL 0x80 7178209Snyan#define SIDR_SEL 0x40 7278209Snyan#define SIDR_VALID 0x08 7378209Snyan#define SIDR_IDM 0x07 7478209Snyan 7578209Snyan#define wd3s_stat 0x17 7678209Snyan 7778209Snyan#define BSR_CM 0xf0 7878209Snyan#define BSR_CMDCPL 0x10 7978209Snyan#define BSR_CMDABT 0x20 8078209Snyan#define BSR_CMDERR 0x40 8178209Snyan#define BSR_CMDREQ 0x80 8278209Snyan 8378209Snyan#define BSR_SM 0x0f 8478209Snyan#define BSR_PM 0x07 8578209Snyan#define BSR_PHVALID 0x08 8678209Snyan#define BSR_IOR 0x01 8778209Snyan#define BSR_DATAOUT 0x00 8878209Snyan#define BSR_DATAIN 0x01 8978209Snyan#define BSR_CMDOUT 0x02 9078209Snyan#define BSR_STATIN 0x03 9178209Snyan#define BSR_UNSPINFO0 0x04 9278209Snyan#define BSR_UNSPINFO1 0x05 9378209Snyan#define BSR_MSGOUT 0x06 9478209Snyan#define BSR_MSGIN 0x07 9578209Snyan 9678209Snyan#define BSR_RESET 0x00 9778209Snyan#define BSR_AFM_RESET 0x01 9878209Snyan#define BSR_SELECTED 0x11 9978209Snyan#define BSR_SATFIN 0x16 10078209Snyan#define BSR_ACKREQ 0x20 10178209Snyan#define BSR_SATSDP 0x21 10278209Snyan#define BSR_RESEL 0x80 10378209Snyan#define BSR_AFM_RESEL 0x81 10478209Snyan#define BSR_DISC 0x85 10578209Snyan 10678209Snyan#define wd3s_cmd 0x18 10778209Snyan#define wd3s_data 0x19 10878209Snyan#define wd3s_qtag 0x1a 10978209Snyan 11078209Snyan#define wd3s_mbank 0x30 11178209Snyan#define MBR_RST 0x02 11278209Snyan#define MBR_IEN 0x04 11378209Snyan 11478209Snyan#define wd3s_mwin 0x31 11578209Snyan#define wd3s_auxc 0x33 11678209Snyan#define AUXCR_HIDM 0x07 11778209Snyan#define AUXCR_INTM 0x38 11878209Snyan#define AUXCR_RRST 0x80 11978209Snyan 12078209Snyan/* status port */ 12178209Snyan#define STR_INT 0x80 12278209Snyan#define STR_LCI 0x40 12378209Snyan#define STR_BSY 0x20 12478209Snyan#define STR_CIP 0x10 12578209Snyan#define STR_PE 0x02 12678209Snyan#define STR_DBR 0x01 12778209Snyan#define STR_BUSY 0xf0 12878209Snyan 12978209Snyan/* cmd port */ 13078209Snyan#define CMDP_DMES 0x01 13178209Snyan#define CMDP_DMER 0x02 13278209Snyan#define CMDP_TCMS 0x04 13378209Snyan#define CMDP_TCMR 0x08 13478209Snyan#define CMDP_TCIR 0x10 13578209Snyan 13678209Snyan/* wd33c93 chip cmds */ 13778209Snyan#define WD3S_SBT 0x80 13878209Snyan#define WD3S_RESET 0x00 13978209Snyan#define WD3S_ABORT 0x01 14078209Snyan#define WD3S_ASSERT_ATN 0x02 14178209Snyan#define WD3S_NEGATE_ACK 0x03 14278209Snyan#define WD3S_DISCONNECT 0x04 14378209Snyan#define WD3S_RESELECT 0x05 14478209Snyan#define WD3S_SELECT_ATN 0x06 14578209Snyan#define WD3S_SELECT_NO_ATN 0x07 14678209Snyan#define WD3S_SELECT_ATN_TFR 0x08 14778209Snyan#define WD3S_SELECT_NO_ATN_TFR 0x09 14878209Snyan#define WD3S_RESELECT_RCV_DATA 0x0a 14978209Snyan#define WD3S_RESELECT_SEND_DATA 0x0b 15078209Snyan#define WD3S_WAIT_SELECT_RCV 0x0c 15178209Snyan#define WD3S_CMD_COMPSEQ 0x0d 15278209Snyan#define WD3S_SEND_DISC_MSG 0x0e 15378209Snyan#define WD3S_SET_IDI 0x0f 15478209Snyan#define WD3S_RCV_CMD 0x10 15578209Snyan#define WD3S_RCV_DATA 0x11 15678209Snyan#define WD3S_RCV_MSG_OUT 0x12 15778209Snyan#define WD3S_RCV_UNSP_INFO_OUT 0x13 15878209Snyan#define WD3S_SEND_STATUS 0x14 15978209Snyan#define WD3S_SEND_DATA 0x15 16078209Snyan#define WD3S_SEND_MSG_IN 0x16 16178209Snyan#define WD3S_SEND_UNSP_INFO_IN 0x17 16278209Snyan#define WD3S_TRANSLATE_ADDRESS 0x18 16378209Snyan#define WD3S_TFR_INFO 0x20 16478209Snyan 16578209Snyan#endif /* !_WD33C93REG_H_ */ 166