1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #define TCDS_SCSI0_OFFSET 0x080000
35 #define TCDS_SCSI1_OFFSET 0x080100
36
37
38
39
40 #define TCDS_EEPROM 0x000000
41 #define TCDS_EEPROM_IDS 0x000008
42
43 #define TCDS_CIR 0x040000
44
45
46
47
48 #define TCDS_CIR_GPO_0 0x00000001
49 #define TCDS_CIR_GPO_1 0x00000002
50 #define TCDS_CIR_GPO_2 0x00000004
51 #define TCDS_CIR_STD 0x00000008
52 #define TCDS_CIR_GPI_0 0x00000010
53 #define TCDS_CIR_GPI_1 0x00000020
54 #define TCDS_CIR_GPI_2 0x00000040
55 #define TCDS_CIR_GPI_3 0x00000080
56 #define TCDS_CIR_SCSI0_DMAENA 0x00000100
57 #define TCDS_CIR_SCSI1_DMAENA 0x00000200
58 #define TCDS_CIR_SCSI0_RESET 0x00000400
59 #define TCDS_CIR_SCSI1_RESET 0x00000800
60 #define TCDS_CIR_SCSI0_DMA_TEST 0x00001000
61 #define TCDS_CIR_SCSI1_DMA_TEST 0x00002000
62 #define TCDS_CIR_DB_PAR 0x00004000
63 #define TCDS_CIR_TC_PAR 0x00008000
64 #define TCDS_CIR_ALLCONTROL 0x0000ffff
65
66
67 #define TCDS_CIR_SCSI0_DREQ 0x00010000
68 #define TCDS_CIR_SCSI1_DREQ 0x00020000
69 #define TCDS_CIR_SCSI0_INT 0x00040000
70 #define TCDS_CIR_SCSI1_INT 0x00080000
71 #define TCDS_CIR_SCSI0_PREFETCH 0x00100000
72 #define TCDS_CIR_SCSI1_PREFETCH 0x00200000
73 #define TCDS_CIR_SCSI0_DMA 0x00400000
74 #define TCDS_CIR_SCSI1_DMA 0x00800000
75 #define TCDS_CIR_SCSI0_DB 0x01000000
76 #define TCDS_CIR_SCSI1_DB 0x02000000
77 #define TCDS_CIR_SCSI0_DMAB_PAR 0x04000000
78 #define TCDS_CIR_SCSI1_DMAB_PAR 0x08000000
79 #define TCDS_CIR_SCSI0_DMAR_PAR 0x10000000
80 #define TCDS_CIR_SCSI1_DMAR_PAR 0x20000000
81 #define TCDS_CIR_TCIOW_PAR 0x40000000
82 #define TCDS_CIR_TCIOA_PAR 0x80000000
83 #define TCDS_CIR_ALLINTR 0xffff0000
84
85 #define TCDS_CIR_CLR(c, b) c = ((c | TCDS_CIR_ALLINTR) & ~b)
86 #define TCDS_CIR_SET(c, b) c = ((c | TCDS_CIR_ALLINTR) | b)
87
88
89 #define TCDS_IMER_SCSI0_MASK 0x04
90 #define TCDS_IMER_SCSI1_MASK 0x08
91 #define TCDS_IMER_SCSI0_ENB (TCDS_IMER_SCSI0_MASK << 16)
92 #define TCDS_IMER_SCSI1_ENB (TCDS_IMER_SCSI1_MASK << 16)
93 #define TCDS_IMER 0x040004
94
95 #define TCDS_SCSI0_DMA_ADDR 0x041000
96 #define TCDS_SCSI0_DMA_INTR 0x041004
97 #define TCDS_SCSI0_DMA_DUD0 0x041008
98 #define TCDS_SCSI0_DMA_DUD1 0x04100c
99
100 #define TCDS_SCSI1_DMA_ADDR 0x041100
101 #define TCDS_SCSI1_DMA_INTR 0x041104
102 #define TCDS_SCSI1_DMA_DUD0 0x041108
103 #define TCDS_SCSI1_DMA_DUD1 0x04110c
104
105 #define TCDS_DIC_ADDRMASK 0x03
106 #define TCDS_DIC_READ_PREFETCH 0x40
107 #define TCDS_DIC_WRITE 0x80
108
109 #define TCDS_DUD0_VALID00 0x00000001
110 #define TCDS_DUD0_VALID01 0x00000002
111 #define TCDS_DUD0_VALID10 0x00000004
112 #define TCDS_DUD0_VALID11 0x00000008
113 #define TCDS_DUD0_VALIDBITS 0x0000000f
114
115 #define TCDS_DUD1_VALID00 0x01000000
116 #define TCDS_DUD1_VALID01 0x02000000
117 #define TCDS_DUD1_VALID10 0x04000000
118 #define TCDS_DUD1_VALID11 0x08000000
119 #define TCDS_DUD1_VALIDBITS 0x0f000000
120
121 #define TCDS_DUD_BYTE00 0x000000ff
122 #define TCDS_DUD_BYTE01 0x0000ff00
123 #define TCDS_DUD_BYTE10 0x00ff0000
124 #define TCDS_DUD_BYTE11 0xff000000
125
126 #if 0
127 int tcds_scsi_iserr(struct dma_softc *);
128 int tcds_scsi_isintr(int, int);
129 void tcds_dma_disable(int);
130 void tcds_dma_enable(int);
131 void tcds_dma_init(struct dma_softc *, int);
132 void tcds_scsi_disable(int);
133 void tcds_scsi_enable(int);
134 void tcds_scsi_reset(int);
135
136
137
138
139
140
141
142
143
144 #define KN15AA_SYS_SCSI 0x1d0000000
145 #define KN15AA_REG_SCSI_CIR (KN15AA_SYS_SCSI + 0x80000)
146 #define SCSI_CIR_AIOPAR 0x80000000
147 #define SCSI_CIR_WDIOPAR 0x40000000
148 #define SCSI_CIR_DMARPAR1 0x20000000
149 #define SCSI_CIR_DMARPAR0 0x10000000
150 #define SCSI_CIR_DMABUFPAR1 0x08000000
151 #define SCSI_CIR_DMABUFPAR0 0x04000000
152 #define SCSI_CIR_DBPAR1 0x02000000
153 #define SCSI_CIR_DBPAR0 0x01000000
154 #define SCSI_CIR_DMAERR1 0x00800000
155 #define SCSI_CIR_DMAERR0 0x00400000
156 #if fmm50
157 #define SCSI_CIR_xxx0 0x00200000
158 #define SCSI_CIR_xxx1 0x00100000
159 #else
160 #define SCSI_CIR_PREF1 0x00200000
161 #define SCSI_CIR_PREF0 0x00100000
162 #endif
163 #define SCSI_CIR_53C94_INT1 0x00080000
164 #define SCSI_CIR_53C94_INT0 0x00040000
165 #define SCSI_CIR_53C94_DREQ1 0x00020000
166 #define SCSI_CIR_53C94_DREQ0 0x00010000
167 #define SCSI_CIR_TC_PAR_TEST 0x00008000
168 #define SCSI_CIR_DB_PAR_TEST 0x00004000
169 #define SCSI_CIR_DBUF_PAR_TEST1 0x00002000
170 #define SCSI_CIR_DBUF_PAR_TEST0 0x00001000
171 #define SCSI_CIR_RESET1 0x00000800
172 #define SCSI_CIR_RESET0 0x00000400
173 #define SCSI_CIR_DMAENA1 0x00000200
174 #define SCSI_CIR_DMAENA0 0x00000100
175 #define SCSI_CIR_GPI3 0x00000080
176 #define SCSI_CIR_GPI2 0x00000040
177 #define SCSI_CIR_GPI1 0x00000020
178 #define SCSI_CIR_GPI0 0x00000010
179 #define SCSI_CIR_TXDIS 0x00000008
180 #define SCSI_CIR_GPO2 0x00000004
181 #define SCSI_CIR_GPO1 0x00000002
182 #define SCSI_CIR_GPO0 0x00000001
183 #define SCSI_CIR_ERROR (SCSI_CIR_AIOPAR | SCSI_CIR_WDIOPAR | SCSI_CIR_DMARPAR1 | SCSI_CIR_DMARPAR0 | SCSI_CIR_DMABUFPAR1 | SCSI_CIR_DMABUFPAR0 | SCSI_CIR_DBPAR1 |SCSI_CIR_DBPAR0 | SCSI_CIR_DMAERR1 | SCSI_CIR_DMAERR0 )
184
185 #define KN15AA_REG_SCSI_DMAPTR0 (KN15AA_SYS_SCSI + 0x82000)
186 #define KN15AA_REG_SCSI_DMAPTR1 (KN15AA_SYS_SCSI + 0x82200)
187
188 #define KN15AA_REG_SCSI_DIC0 (KN15AA_SYS_SCSI + 0x82008)
189 #define KN15AA_REG_SCSI_DIC1 (KN15AA_SYS_SCSI + 0x82208)
190 #define SCSI_DIC_DMADIR 0x00000080
191 #define SCSI_DIC_PREFENA 0x00000040
192 #define SCSI_DIC_DMAADDR1 0x00000002
193 #define SCSI_DIC_DMAADDR0 0x00000001
194 #define SCSI_DIC_ADDR_MASK (SCSI_DIC_DMAADDR0 |SCSI_DIC_DMAADDR1)
195
196 #define KN15AA_REG_SCSI_94REG0 (KN15AA_SYS_SCSI + 0x100000)
197 #define KN15AA_REG_SCSI_94REG1 (KN15AA_SYS_SCSI + 0x100200)
198
199 #define KN15AA_REG_SCSI_IMER (KN15AA_SYS_SCSI + 0x80008)
200
201
202 #define KN15AA_REG_SCSI_DUDB0 (KN15AA_SYS_SCSI + 0x82010)
203 #define KN15AA_REG_SCSI_DUDB1 (KN15AA_SYS_SCSI + 0x82210)
204 # define SCSI_DUDB_MASK01 0x00000001
205 # define SCSI_DUDB_MASK10 0x00000002
206 # define SCSI_DUDB_MASK11 0x00000004
207
208
209 #define KN15AA_REG_SCSI_DUDE0 (KN15AA_SYS_SCSI + 0x82018)
210 #define KN15AA_REG_SCSI_DUDE1 (KN15AA_SYS_SCSI + 0x82218)
211 # define SCSI_DUDE_MASK00 0x1000000
212 # define SCSI_DUDE_MASK01 0x2000000
213 # define SCSI_DUDE_MASK10 0x4000000
214
215 #define SCSI_CIR ALPHA_PHYS_TO_K0SEG(KN15AA_REG_SCSI_CIR)
216 #define SCSI_IMER ALPHA_PHYS_TO_K0SEG(KN15AA_REG_SCSI_IMER)
217
218 #endif