3 * drivers/scsi/pc980155.h
5 * PC-9801-55 SCSI host adapter driver
7 * Copyright (C) 1997-2003 Kyoto University Microcomputer Club
9 * Tomoharu Ugawa <ohirune@kmc.gr.jp>
18 #define REG_ADDRST (base_io)
19 #define REG_CONTRL (base_io + 2)
20 #define REG_CWRITE (base_io + 4)
21 #define REG_STATRD (base_io + 4)
23 #define WD_MEMORYBANK 0x30
24 #define WD_RESETINT 0x33
26 static inline uchar read_pc980155(const wd33c93_regs regs, uchar reg_num)
28 outb(reg_num, regs.SASR);
29 return (uchar)inb(regs.SCMD);
32 static inline void write_memorybank(const wd33c93_regs regs, uchar value)
34 outb(WD_MEMORYBANK, regs.SASR);
35 outb(value, regs.SCMD);
38 #define read_pc980155_resetint(regs) \
39 read_pc980155((regs), WD_RESETINT)
40 #define pc980155_int_enable(regs) \
41 write_memorybank((regs), read_pc980155((regs), WD_MEMORYBANK) | 0x04)
43 #define pc980155_int_disable(regs) \
44 write_memorybank((regs), read_pc980155((regs), WD_MEMORYBANK) & ~0x04)
46 #define pc980155_assert_bus_reset(regs) \
47 write_memorybank((regs), read_pc980155((regs), WD_MEMORYBANK) | 0x02)
49 #define pc980155_negate_bus_reset(regs) \
50 write_memorybank((regs), read_pc980155((regs), WD_MEMORYBANK) & ~0x02)
52 #endif /* __PC980155_H */