2 #define PISCSI_OFFSET 0x80000000
3 #define PISCSI_REGSIZE 0x00010000
4 #define PISCSI_UPPER 0x80010000
6 #define SCSIERR_TIMEOUT (1 << 7)
7 #define SCSIERR_PARAM (1 << 6)
8 #define SCSIERR_ADDRESS (1 << 5)
9 #define SCSIERR_ERASESEQ (1 << 4)
10 #define SCSIERR_CRC (1 << 3)
11 #define SCSIERR_ILLEGAL (1 << 2)
12 #define SCSIERR_ERASERES (1 << 1)
13 #define SCSIERR_IDLE (1 << 0)
16 PISCSI_BLOCK_SIZE = 512,
17 PISCSI_TRACK_SECTORS = 2048,
21 PISCSI_CMD_WRITE = 0x00,
22 PISCSI_CMD_READ = 0x02,
23 PISCSI_CMD_DRVNUM = 0x04,
24 PISCSI_CMD_DRVTYPE = 0x06,
25 PISCSI_CMD_BLOCKS = 0x08,
26 PISCSI_CMD_CYLS = 0x0A,
27 PISCSI_CMD_HEADS = 0x0C,
28 PISCSI_CMD_SECS = 0x0E,
29 PISCSI_CMD_ADDR1 = 0x10,
30 PISCSI_CMD_ADDR2 = 0x14,
31 PISCSI_CMD_ADDR3 = 0x18,
32 PISCSI_CMD_ADDR4 = 0x1C,
33 PISCSI_CMD_DEBUGME = 0x20,
34 PISCSI_CMD_DRIVER = 0x40,
35 PISCSI_CMD_WRITE64 = 0x50,
36 PISCSI_CMD_READ64 = 0x52,
37 PISCSI_DBG_MSG = 0x1000,
38 PISCSI_DBG_VAL1 = 0x1010,
39 PISCSI_DBG_VAL2 = 0x1014,
40 PISCSI_DBG_VAL3 = 0x1018,
41 PISCSI_DBG_VAL4 = 0x101C,
42 PISCSI_DBG_VAL5 = 0x1020,
43 PISCSI_DBG_VAL6 = 0x1024,
44 PISCSI_DBG_VAL7 = 0x1028,
45 PISCSI_DBG_VAL8 = 0x102C,
46 PISCSI_CMD_ROM = 0x4000,
49 enum piscsi_dbg_msgs {
59 DBG_SCSI_FORMATDEVICE,
61 DBG_SCSI_UNKNOWN_MODESENSE,
62 DBG_SCSI_UNKNOWN_COMMAND,
70 #define TD_FORMAT64 27
72 #define NSCMD_TD_READ64 0xC000
73 #define NSCMD_TD_WRITE64 0xC001
74 #define NSCMD_TD_SEEK64 0xC002
75 #define NSCMD_TD_FORMAT64 0xC003