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 */