xref: /csrg-svn/sys/news3400/iodev/sddefs.c (revision 53901)
1*53901Smckusick /*
2*53901Smckusick  * Copyright (c) 1992 The Regents of the University of California.
3*53901Smckusick  * All rights reserved.
4*53901Smckusick  *
5*53901Smckusick  * This code is derived from software contributed to Berkeley by
6*53901Smckusick  * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
7*53901Smckusick  *
8*53901Smckusick  * %sccs.include.redist.c%
9*53901Smckusick  *
10*53901Smckusick  * from: $Hdr: sddefs.c,v 4.300 91/06/09 06:38:25 root Rel41 $ SONY
11*53901Smckusick  *
12*53901Smckusick  *	@(#)sddefs.c	7.1 (Berkeley) 06/04/92
13*53901Smckusick  */
14*53901Smckusick 
15*53901Smckusick #include "sd.h"
16*53901Smckusick #if NSD > 0
17*53901Smckusick 
18*53901Smckusick /*
19*53901Smckusick  * Copyright (c) 1989- by SONY Corporation.
20*53901Smckusick  */
21*53901Smckusick /*
22*53901Smckusick  * SD device configuration file
23*53901Smckusick  */
24*53901Smckusick 
25*53901Smckusick #ifdef KERNEL
26*53901Smckusick #include "param.h"
27*53901Smckusick #include "../iodev/sdreg.h"
28*53901Smckusick #include "../iodev/scsireg.h"
29*53901Smckusick #include "../iodev/scu.h"
30*53901Smckusick #else
31*53901Smckusick #include "/sys/h/param.h"
32*53901Smckusick #include "/sys/iodev/sdreg.h"
33*53901Smckusick #include "/sys/iodev/scsireg.h"
34*53901Smckusick #include "/sys/iodev/scu.h"
35*53901Smckusick #endif
36*53901Smckusick 
37*53901Smckusick char	revs_all[] = "????";
38*53901Smckusick 
39*53901Smckusick /*******************************/
40*53901Smckusick /* disk partition informations */
41*53901Smckusick /*******************************/
42*53901Smckusick 
43*53901Smckusick /* BEGIN sizes */
44*53901Smckusick struct size wren3_101_sizes[PNUM] = {
45*53901Smckusick 	   15884,	     0,		/* A = cyl   0 thru  93 */
46*53901Smckusick 	   33440,      94*34*5,		/* B = cyl  94 thru 290 */
47*53901Smckusick 	  169150,	     0,		/* C = cyl   0 thru 994 */
48*53901Smckusick 	   15884,     291*34*5,		/* D = cyl 291 thru 384 */
49*53901Smckusick 	   55936,     385*34*5,		/* E = cyl 385 thru 714 */
50*53901Smckusick 	   47600,     715*34*5,		/* F = cyl 715 thru 994 */
51*53901Smckusick 	  119680,     291*34*5,		/* G = cyl 291 thru 994 */
52*53901Smckusick 	       0,	     0,		/* H	Not use		*/
53*53901Smckusick 	};
54*53901Smckusick struct size wren3_101_hh_sizes[PNUM] = {
55*53901Smckusick 	   15884,	     0,		/* A =  15884 */
56*53901Smckusick 	   33440,	 15884,		/* B =  33440 */
57*53901Smckusick 	  178850,	     0,		/* C = 178850 */
58*53901Smckusick 	   15884,	 49324,		/* D =  15884 */
59*53901Smckusick 	   55936,	 65208,		/* E =  55936 */
60*53901Smckusick 	   57706,	121144,		/* F =  57706 */ /* F = C-(A+B+H+D+E) */
61*53901Smckusick 	  129526,	 49324,		/* G = 129526 */ /* G = D+E+F */
62*53901Smckusick 	  113642,	 65208,		/* H = 113642 */ /* H = E+F */
63*53901Smckusick 	};
64*53901Smckusick struct size wren3_182_sizes[PNUM] = {
65*53901Smckusick 	   15884,	     0,		/* A = cyl   0 thru  51 */
66*53901Smckusick 	   33440,      52*34*9,		/* B = cyl  52 thru 161 */
67*53901Smckusick 	  304470,	     0,		/* C = cyl   0 thru 994 */
68*53901Smckusick 	   15884,     162*34*9,		/* D = cyl 162 thru 213 */
69*53901Smckusick 	   55936,     214*34*9,		/* E = cyl 214 thru 396 */
70*53901Smckusick 	  182988,     397*34*9,		/* F = cyl 397 thru 994 */
71*53901Smckusick 	  254898,     162*34*9,		/* G = cyl 162 thru 994 */
72*53901Smckusick 	       0,	     0,		/* H	Not use		*/
73*53901Smckusick 	};
74*53901Smckusick /* END sizes */
75*53901Smckusick 
76*53901Smckusick /*************************/
77*53901Smckusick /* device specifications */
78*53901Smckusick /*************************/
79*53901Smckusick struct sdst sdst_unknown =
80*53901Smckusick  /*   ns, nt,  nspc,  ncyl, rps, xxx,	    sizes */
81*53901Smckusick     {  1,  1,     1,     1, 60,  0,    calc_disk_sizes }; /* UNKNOWN_DISK */
82*53901Smckusick struct sdst sdst_wren3_101 =
83*53901Smckusick     { 34,  5, 34* 5,   995, 60,  0,    wren3_101_sizes }; /* WREN3_101 */
84*53901Smckusick struct sdst sdst_wren3_101_hh =
85*53901Smckusick     { 35,  5, 35* 5,  1022, 60,  0, wren3_101_hh_sizes }; /* WREN3_101_HH */
86*53901Smckusick struct sdst sdst_wren3_182 =
87*53901Smckusick     { 34,  9, 34* 9,   995, 60,  0,    wren3_182_sizes }; /* WREN3_182 */
88*53901Smckusick struct sdst sdst_wren3_182_old =
89*53901Smckusick     { 35,  9, 35* 9,   967, 60,  0,    wren3_182_sizes }; /* WREN3_182_OLD */
90*53901Smckusick struct sdst sdst_wren4_286 =
91*53901Smckusick     { 52,  9, 52* 9,  1365, 60,  0,    calc_disk_sizes }; /* WREN4_286 */
92*53901Smckusick struct sdst sdst_wren5_170_hh =
93*53901Smckusick     { 52,  5, 52* 5,  1544, 60,  0,    calc_disk_sizes }; /* WREN5_170_HH */
94*53901Smckusick struct sdst sdst_wren6_415_hh =
95*53901Smckusick     { 70,  7, 70* 7,  1756, 60,  0,    calc_disk_sizes }; /* WREN6_415_HH */
96*53901Smckusick struct sdst sdst_st1480n =
97*53901Smckusick     { 70,  9, 70* 9,  1476, 74,  0,    calc_disk_sizes }; /* ST1480N */
98*53901Smckusick struct sdst sdst_dk515c_78 =
99*53901Smckusick     { 69, 14, 69*14,  1356, 60,  0,    calc_disk_sizes }; /* DK515C_78 */
100*53901Smckusick struct sdst sdst_dk516c_16 =
101*53901Smckusick     { 81, 15, 81*15,  2165, 60,  0,    calc_disk_sizes }; /* DK516C_16 */
102*53901Smckusick struct sdst sdst_dk312c_20 =
103*53901Smckusick     { 38, 10, 38*10,  1076, 60,  0,    calc_disk_sizes }; /* DK312C_20 */
104*53901Smckusick struct sdst sdst_dk312c_25 =
105*53901Smckusick     { 38, 12, 38*12,  1076, 60,  0,    calc_disk_sizes }; /* DK312C_25 */
106*53901Smckusick struct sdst sdst_xt_8760s =
107*53901Smckusick     { 54, 15, 54*15,  1632, 60,  0,    calc_disk_sizes }; /* XT_8760S */
108*53901Smckusick struct sdst sdst_srd2040z =
109*53901Smckusick     { 33,  4, 33* 4,   608, 60,  0,    calc_disk_sizes }; /* SRD-2040Z */
110*53901Smckusick struct sdst sdst_smo_s501 =
111*53901Smckusick     { 31,  1, 31* 1, 18678, 40,  0,    calc_disk_sizes }; /* SMO_S501 */
112*53901Smckusick struct sdst sdst_smo_s501_iso =
113*53901Smckusick     { 31,  1, 31* 1, 18646, 40,  0,    calc_disk_sizes }; /* SMO_S501_ISO */
114*53901Smckusick 
115*53901Smckusick /***************************************************************/
116*53901Smckusick 
117*53901Smckusick /************************************/
118*53901Smckusick /* normal Error Recovery Parameters */
119*53901Smckusick /************************************/
120*53901Smckusick char erp_wren3_old[] =					/* WREN3 old firmware */
121*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_DCR, 0, 0x08, 0, 0, 0xff };
122*53901Smckusick char erp_wren3[] =					/* WREN3 */
123*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_AWRE|SDM_DCR, 0x09, 0x08, 0, 0, 0xff };
124*53901Smckusick char erp_wren4567[] =					/* WREN4567 */
125*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_AWRE|SDM_DCR, 0x09, 0x0b, 0, 0, 0xff };
126*53901Smckusick char erp_st1480n[] =					/* ST1480N */
127*53901Smckusick     { SDM_PG_ERR, 0x0a, SDM_AWRE|SDM_DCR, 0x09, 0x0b, 0, 0, 0, 3, 0, 0xff, 0xff };
128*53901Smckusick char erp_dk515c_78[] =					/* DK515C_78 */
129*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_DCR, 0x0a, 0, 0, 0, 0 };
130*53901Smckusick char erp_dk516c_16[] =					/* DK516C_16 */
131*53901Smckusick     { SDM_PG_ERR, 0x0a, SDM_DCR, 0x0a, 0, 0, 0, 0, 0x0a, 0, 0x01, 0xf4 };
132*53901Smckusick char erp_dk312c_25[] =					/* DK312C_25 */
133*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_DCR, 0x0a, 0, 0, 0, 0 };
134*53901Smckusick char erp_xt_8760s[] =					/* XT_8760S */
135*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_DCR, 0x03, 0x0b, 0, 0, 0xff };
136*53901Smckusick char erp_srd2040z[] =					/* SRD-2040Z */
137*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_DCR, 0x03, 0x13, 0, 0, 0 };
138*53901Smckusick char erp_smo_s501[] =					/* SMO_S501 */
139*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_AWRE, 0x02, 0, 0, 0, 0 };
140*53901Smckusick 
141*53901Smckusick /*********************************/
142*53901Smckusick /* max Error Recovery Parameters */
143*53901Smckusick /*********************************/
144*53901Smckusick char max_erp_wren3_old[] =				/* WREN3 old firmware */
145*53901Smckusick     { SDM_PG_ERR, 0x06, 0, 0x1b, 0x08, 0, 0, 0xff };
146*53901Smckusick char max_erp_wren3[] =					/* WREN3 */
147*53901Smckusick     { SDM_PG_ERR, 0x06, 0, 0x1b, 0x08, 0, 0, 0xff };
148*53901Smckusick char max_erp_wren4567[] =				/* WREN4567 */
149*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_AWRE, 0x1b, 0x0b, 0, 0, 0xff };
150*53901Smckusick char max_erp_st1480n[] =				/* ST1480N */
151*53901Smckusick     { SDM_PG_ERR, 0x0a, SDM_AWRE, 0x1b, 0x0b, 0, 0, 0, 3, 0, 0xff, 0xff };
152*53901Smckusick char max_erp_dk515c_78[] =				/* DK515C_78 */
153*53901Smckusick     { SDM_PG_ERR, 0x06, 0, 0x10, 0, 0, 0, 0 };
154*53901Smckusick char max_erp_dk516c_16[] =				/* DK516C_16 */
155*53901Smckusick     { SDM_PG_ERR, 0x0a, 0, 0x10, 0, 0, 0, 0, 0x10, 0, 0xff, 0xff };
156*53901Smckusick char max_erp_dk312c_25[] =				/* DK312C_25 */
157*53901Smckusick     { SDM_PG_ERR, 0x06, 0, 0x10, 0, 0, 0, 0 };
158*53901Smckusick char max_erp_xt_8760s[] =				/* XT_8760S */
159*53901Smckusick     { SDM_PG_ERR, 0x06, 0, 0x1b, 0x0b, 0, 0, 0xff };
160*53901Smckusick char max_erp_srd2040z[] =				/* SRD-2040Z */
161*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_ARRE|SDM_AWRE, 0x1b, 0x13, 0, 0, 0 };
162*53901Smckusick char max_erp_smo_s501[] =				/* SMO_S501 */
163*53901Smckusick     { SDM_PG_ERR, 0x06, SDM_AWRE, 0x10, 0, 0, 0, 0 };
164*53901Smckusick 
165*53901Smckusick /********************/
166*53901Smckusick /* Other Parameters */
167*53901Smckusick /********************/
168*53901Smckusick char cache_off_wren4old[] =	/* WREN4 old */
169*53901Smckusick     { SDM_PG_CACHE2, 0x0e, 0x01, 0xff, 0x34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
170*53901Smckusick char cache_on_wren4567[] =	/* WREN4567 */
171*53901Smckusick     { SDM_PG_CACHE2, 0x0e, 0x11, 0xff, 0x34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
172*53901Smckusick char cache1_on_st1480n[] =	/* ST1480N */
173*53901Smckusick     { SDM_PG_CACHE1, 0x0a, 0, 0, 0, 0, 0, 0, 0, 0x78, 0, 0 };
174*53901Smckusick char cache2_on_st1480n[] =	/* ST1480N */
175*53901Smckusick     { SDM_PG_CACHE2, 0x0e, 0x51, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
176*53901Smckusick char cache_on_dk515c_78[] =	/* DK515C_78 */
177*53901Smckusick     { SDM_PG_CACHE1, 0x0a, 0, 0, 0x02, 0, 0, 0, 0, 0x60, 0, 0x60 };
178*53901Smckusick char modif_dk515c_78[] =	/* DK515C_78 */
179*53901Smckusick     { SDM_PG_MODIFY, 0x0a, 0, 0, 0, 0, SDM_RING|0x01, SDM_ESDT, 0, 0, 0, 0 };
180*53901Smckusick char cache_on_dk516c_16[] =	/* DK516C_16 */
181*53901Smckusick     { SDM_PG_CACHE1, 0x0a, 0, 0, 0x08, 0, 0, 0, 0, 0x80, 0, 0x80 };
182*53901Smckusick char modif_dk516c_16[] =	/* DK516C_16 */
183*53901Smckusick     { SDM_PG_MODIFY, 0x1e, 0, 0, 0, 0, 4, SDM_STOD|SDM_ESDT, 0, 0, 0, 0x0e,
184*53901Smckusick 	0xff, 0, 0, 0, 0x50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
185*53901Smckusick char cache_on_dk312c[] =	/* DK312C_25 */
186*53901Smckusick     { SDM_PG_CACHE1, 0x0a, 0, 0, 0x02, 0, 0, 0, 0, 0x60, 0, 0x60 };
187*53901Smckusick char cache_off_dk312c[] =	/* DK312C_25 */
188*53901Smckusick     { SDM_PG_CACHE1, 0x0a, 1, 0, 0x02, 0, 0, 0, 0, 0x60, 0, 0x60 };
189*53901Smckusick char cache_on_xt_8760s[] =	/* XT_8760S */
190*53901Smckusick     { SDM_PG_CACHE2, 0x0e, 0x11, 0xff, 0x59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
191*53901Smckusick 
192*53901Smckusick /************** OTHER PAGES SPECIFICATIONS ********************/
193*53901Smckusick 
194*53901Smckusick char *other_wren4old[] =   { cache_off_wren4old, NULL };
195*53901Smckusick char *other_wren4567[] =   { cache_on_wren4567,  NULL };
196*53901Smckusick char *other_st1480n[] =    { cache1_on_st1480n, cache2_on_st1480n,  NULL };
197*53901Smckusick char *other_dk515c_78[] =  { cache_on_dk515c_78, modif_dk515c_78, NULL };
198*53901Smckusick char *other_dk516c_16[] =  { cache_on_dk516c_16, modif_dk516c_16, NULL };
199*53901Smckusick char *other_dk312c_on[] =  { cache_on_dk312c,    modif_dk515c_78, NULL };
200*53901Smckusick char *other_dk312c_off[] = { cache_off_dk312c,   modif_dk515c_78, NULL };
201*53901Smckusick char *other_xt_8760s[] =   { cache_on_xt_8760s,  NULL };
202*53901Smckusick 
203*53901Smckusick /**************************************************************/
204*53901Smckusick 
205*53901Smckusick /*************************/
206*53901Smckusick /*			 */
207*53901Smckusick /* SD device information */
208*53901Smckusick /*			 */
209*53901Smckusick /*************************/
210*53901Smckusick struct sddevinfo sddevinfo[] = {
211*53901Smckusick     {					/* UNKNOWN DISK */
212*53901Smckusick 	1,				/* identify length */
213*53901Smckusick 	"*",				/* vendor & product ID */
214*53901Smckusick 	revs_all,			/* revision */
215*53901Smckusick 	-1,				/* drive capacity */
216*53901Smckusick 	"UNKNOWN",			/* device nickname */
217*53901Smckusick 	UNKNOWN_DISK,			/* device type code */
218*53901Smckusick 	0,				/* firmware spec */
219*53901Smckusick 	0,				/* synchronous transfer period */
220*53901Smckusick 	0,				/* synchronous transfer offset */
221*53901Smckusick 	NULL,				/* device setup commands */
222*53901Smckusick 	&sdst_unknown,			/* device specifications */
223*53901Smckusick 	NULL,				/* normal Error Recovery Parameters */
224*53901Smckusick 	NULL,				/* max Error Recovery Parameters */
225*53901Smckusick 	NULL,				/* Other Parameters */
226*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
227*53901Smckusick     },
228*53901Smckusick     {					/* CDC WREN III 94161-5 */
229*53901Smckusick 	15,				/* identify length */
230*53901Smckusick 	"CDC     94161-5",		/* vendor & product ID */
231*53901Smckusick 	"6296",				/* revision */
232*53901Smckusick 	0x029509,			/* drive capacity */
233*53901Smckusick 	"hd101",			/* device nickname */
234*53901Smckusick 	WREN3_101,			/* device type code */
235*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
236*53901Smckusick 	0,				/* synchronous transfer period */
237*53901Smckusick 	0,				/* synchronous transfer offset */
238*53901Smckusick 	NULL,				/* device setup commands */
239*53901Smckusick 	&sdst_wren3_101,		/* device specifications */
240*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
241*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
242*53901Smckusick 	NULL,				/* Other Parameters */
243*53901Smckusick 	0,				/* Format options */
244*53901Smckusick     },
245*53901Smckusick     {					/* CDC WREN III 94161-86 */
246*53901Smckusick 	16,				/* identify length */
247*53901Smckusick 	"CDC     94161-86",		/* vendor & product ID */
248*53901Smckusick 	"6296",				/* revision */
249*53901Smckusick 	0x029509,			/* drive capacity */
250*53901Smckusick 	"hd101",			/* device nickname */
251*53901Smckusick 	WREN3_101,			/* device type code */
252*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
253*53901Smckusick 	0,				/* synchronous transfer period */
254*53901Smckusick 	0,				/* synchronous transfer offset */
255*53901Smckusick 	NULL,				/* device setup commands */
256*53901Smckusick 	&sdst_wren3_101,		/* device specifications */
257*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
258*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
259*53901Smckusick 	NULL,				/* Other Parameters */
260*53901Smckusick 	0,				/* Format options */
261*53901Smckusick     },
262*53901Smckusick     {					/* CDC WREN III 94161-9 */
263*53901Smckusick 	15,				/* identify length */
264*53901Smckusick 	"CDC     94161-9",		/* vendor & product ID */
265*53901Smckusick 	"6296",				/* revision */
266*53901Smckusick 	0x04a5dd,			/* drive capacity */
267*53901Smckusick 	"hd182",			/* device nickname */
268*53901Smckusick 	WREN3_182,			/* device type code */
269*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
270*53901Smckusick 	0,				/* synchronous transfer period */
271*53901Smckusick 	0,				/* synchronous transfer offset */
272*53901Smckusick 	NULL,				/* device setup commands */
273*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
274*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
275*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
276*53901Smckusick 	NULL,				/* Other Parameters */
277*53901Smckusick 	0,				/* Format options */
278*53901Smckusick     },
279*53901Smckusick     {					/* CDC WREN III 94161-155 */
280*53901Smckusick 	17,				/* identify length */
281*53901Smckusick 	"CDC     94161-155",		/* vendor & product ID */
282*53901Smckusick 	"6296",				/* revision */
283*53901Smckusick 	0x04a556,			/* drive capacity */
284*53901Smckusick 	"hd182",			/* device nickname */
285*53901Smckusick 	WREN3_182,			/* device type code */
286*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
287*53901Smckusick 	0,				/* synchronous transfer period */
288*53901Smckusick 	0,				/* synchronous transfer offset */
289*53901Smckusick 	NULL,				/* device setup commands */
290*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
291*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
292*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
293*53901Smckusick 	NULL,				/* Other Parameters */
294*53901Smckusick 	0,				/* Format options */
295*53901Smckusick     },
296*53901Smckusick     {					/* CDC WREN III 94161-155 */
297*53901Smckusick 	17,				/* identify length */
298*53901Smckusick 	"CDC     94161-155",		/* vendor & product ID */
299*53901Smckusick 	"6296",				/* revision */
300*53901Smckusick 	0x04a5dd,			/* drive capacity */
301*53901Smckusick 	"hd182",			/* device nickname */
302*53901Smckusick 	WREN3_182,			/* device type code */
303*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
304*53901Smckusick 	0,				/* synchronous transfer period */
305*53901Smckusick 	0,				/* synchronous transfer offset */
306*53901Smckusick 	NULL,				/* device setup commands */
307*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
308*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
309*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
310*53901Smckusick 	NULL,				/* Other Parameters */
311*53901Smckusick 	0,				/* Format options */
312*53901Smckusick     },
313*53901Smckusick     {					/* CDC WREN III 94161-156 */
314*53901Smckusick 	17,				/* identify length */
315*53901Smckusick 	"CDC     94161-156",		/* vendor & product ID */
316*53901Smckusick 	"6296",				/* revision */
317*53901Smckusick 	0x04a5dd,			/* drive capacity */
318*53901Smckusick 	"hd182",			/* device nickname */
319*53901Smckusick 	WREN3_182,			/* device type code */
320*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
321*53901Smckusick 	0,				/* synchronous transfer period */
322*53901Smckusick 	0,				/* synchronous transfer offset */
323*53901Smckusick 	NULL,				/* device setup commands */
324*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
325*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
326*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
327*53901Smckusick 	NULL,				/* Other Parameters */
328*53901Smckusick 	0,				/* Format options */
329*53901Smckusick     },
330*53901Smckusick     {					/* CDC WREN III 94161-5 */
331*53901Smckusick 	15,				/* identify length */
332*53901Smckusick 	"CDC     94161-5",		/* vendor & product ID */
333*53901Smckusick 	revs_all,			/* revision */
334*53901Smckusick 	0x029509,			/* drive capacity */
335*53901Smckusick 	"hd101",			/* device nickname */
336*53901Smckusick 	WREN3_101,			/* device type code */
337*53901Smckusick 	0,				/* firmware spec */
338*53901Smckusick 	0,				/* synchronous transfer period */
339*53901Smckusick 	0,				/* synchronous transfer offset */
340*53901Smckusick 	NULL,				/* device setup commands */
341*53901Smckusick 	&sdst_wren3_101,		/* device specifications */
342*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
343*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
344*53901Smckusick 	NULL,				/* Other Parameters */
345*53901Smckusick 	0,				/* Format options */
346*53901Smckusick     },
347*53901Smckusick     {					/* CDC WREN III 94161-86 */
348*53901Smckusick 	16,				/* identify length */
349*53901Smckusick 	"CDC     94161-86",		/* vendor & product ID */
350*53901Smckusick 	revs_all,			/* revision */
351*53901Smckusick 	0x029509,			/* drive capacity */
352*53901Smckusick 	"hd101",			/* device nickname */
353*53901Smckusick 	WREN3_101,			/* device type code */
354*53901Smckusick 	0,				/* firmware spec */
355*53901Smckusick 	0,				/* synchronous transfer period */
356*53901Smckusick 	0,				/* synchronous transfer offset */
357*53901Smckusick 	NULL,				/* device setup commands */
358*53901Smckusick 	&sdst_wren3_101,		/* device specifications */
359*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
360*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
361*53901Smckusick 	NULL,				/* Other Parameters */
362*53901Smckusick 	0,				/* Format options */
363*53901Smckusick     },
364*53901Smckusick     {					/* CDC WREN III 94161-9 */
365*53901Smckusick 	15,				/* identify length */
366*53901Smckusick 	"CDC     94161-9",		/* vendor & product ID */
367*53901Smckusick 	revs_all,			/* revision */
368*53901Smckusick 	0x04a5dd,			/* drive capacity */
369*53901Smckusick 	"hd182",			/* device nickname */
370*53901Smckusick 	WREN3_182,			/* device type code */
371*53901Smckusick 	0,				/* firmware spec */
372*53901Smckusick 	0,				/* synchronous transfer period */
373*53901Smckusick 	0,				/* synchronous transfer offset */
374*53901Smckusick 	NULL,				/* device setup commands */
375*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
376*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
377*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
378*53901Smckusick 	NULL,				/* Other Parameters */
379*53901Smckusick 	0,				/* Format options */
380*53901Smckusick     },
381*53901Smckusick     {					/* CDC WREN III 94161-155 */
382*53901Smckusick 	17,				/* identify length */
383*53901Smckusick 	"CDC     94161-155",		/* vendor & product ID */
384*53901Smckusick 	revs_all,			/* revision */
385*53901Smckusick 	0x04a556,			/* drive capacity */
386*53901Smckusick 	"hd182",			/* device nickname */
387*53901Smckusick 	WREN3_182,			/* device type code */
388*53901Smckusick 	0,				/* firmware spec */
389*53901Smckusick 	0,				/* synchronous transfer period */
390*53901Smckusick 	0,				/* synchronous transfer offset */
391*53901Smckusick 	NULL,				/* device setup commands */
392*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
393*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
394*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
395*53901Smckusick 	NULL,				/* Other Parameters */
396*53901Smckusick 	0,				/* Format options */
397*53901Smckusick     },
398*53901Smckusick     {					/* CDC WREN III 94161-155 */
399*53901Smckusick 	17,				/* identify length */
400*53901Smckusick 	"CDC     94161-155",		/* vendor & product ID */
401*53901Smckusick 	revs_all,			/* revision */
402*53901Smckusick 	0x04a5dd,			/* drive capacity */
403*53901Smckusick 	"hd182",			/* device nickname */
404*53901Smckusick 	WREN3_182,			/* device type code */
405*53901Smckusick 	0,				/* firmware spec */
406*53901Smckusick 	0,				/* synchronous transfer period */
407*53901Smckusick 	0,				/* synchronous transfer offset */
408*53901Smckusick 	NULL,				/* device setup commands */
409*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
410*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
411*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
412*53901Smckusick 	NULL,				/* Other Parameters */
413*53901Smckusick 	0,				/* Format options */
414*53901Smckusick     },
415*53901Smckusick     {					/* CDC WREN III 94161-156 */
416*53901Smckusick 	17,				/* identify length */
417*53901Smckusick 	"CDC     94161-156",		/* vendor & product ID */
418*53901Smckusick 	revs_all,			/* revision */
419*53901Smckusick 	0x04a5dd,			/* drive capacity */
420*53901Smckusick 	"hd182",			/* device nickname */
421*53901Smckusick 	WREN3_182,			/* device type code */
422*53901Smckusick 	0,				/* firmware spec */
423*53901Smckusick 	0,				/* synchronous transfer period */
424*53901Smckusick 	0,				/* synchronous transfer offset */
425*53901Smckusick 	NULL,				/* device setup commands */
426*53901Smckusick 	&sdst_wren3_182,		/* device specifications */
427*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
428*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
429*53901Smckusick 	NULL,				/* Other Parameters */
430*53901Smckusick 	0,				/* Format options */
431*53901Smckusick     },
432*53901Smckusick     {					/* CDC WREN III HH 94211-5 */
433*53901Smckusick 	15,				/* identify length */
434*53901Smckusick 	"CDC     94211-5",		/* vendor & product ID */
435*53901Smckusick 	revs_all,			/* revision */
436*53901Smckusick 	0x02baa2,			/* drive capacity */
437*53901Smckusick 	"hd101_hh",			/* device nickname */
438*53901Smckusick 	WREN3_101_HH,			/* device type code */
439*53901Smckusick 	0,				/* firmware spec */
440*53901Smckusick 	0,				/* synchronous transfer period */
441*53901Smckusick 	0,				/* synchronous transfer offset */
442*53901Smckusick 	NULL,				/* device setup commands */
443*53901Smckusick 	&sdst_wren3_101_hh,		/* device specifications */
444*53901Smckusick 	erp_wren3_old,			/* normal Error Recovery Parameters */
445*53901Smckusick 	max_erp_wren3_old,		/* max Error Recovery Parameters */
446*53901Smckusick 	NULL,				/* Other Parameters */
447*53901Smckusick 	0,				/* Format options */
448*53901Smckusick     },
449*53901Smckusick     {					/* CDC WREN III HH 94216-5 */
450*53901Smckusick 	15,				/* identify length */
451*53901Smckusick 	"CDC     94216-5",		/* vendor & product ID */
452*53901Smckusick 	revs_all,			/* revision */
453*53901Smckusick 	0x02baa2,			/* drive capacity */
454*53901Smckusick 	"hd101_hh",			/* device nickname */
455*53901Smckusick 	WREN3_101_HH,			/* device type code */
456*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
457*53901Smckusick 	0,				/* synchronous transfer period */
458*53901Smckusick 	0,				/* synchronous transfer offset */
459*53901Smckusick 	NULL,				/* device setup commands */
460*53901Smckusick 	&sdst_wren3_101_hh,		/* device specifications */
461*53901Smckusick 	erp_wren3,			/* normal Error Recovery Parameters */
462*53901Smckusick 	max_erp_wren3,			/* max Error Recovery Parameters */
463*53901Smckusick 	NULL,				/* Other Parameters */
464*53901Smckusick 	0,				/* Format options */
465*53901Smckusick     },
466*53901Smckusick     {					/* CDC WREN IV 94171-9 */
467*53901Smckusick 	15,				/* identify length */
468*53901Smckusick 	"CDC     94171-9",		/* vendor & product ID */
469*53901Smckusick 	"6981",				/* revision */
470*53901Smckusick 	0x08f40c,			/* drive capacity */
471*53901Smckusick 	"hd286",			/* device nickname */
472*53901Smckusick 	WREN4_286,			/* device type code */
473*53901Smckusick 	0,				/* firmware spec */
474*53901Smckusick 	0x4b,				/* synchronous transfer period */
475*53901Smckusick 	0,				/* synchronous transfer offset */
476*53901Smckusick 	NULL,				/* device setup commands */
477*53901Smckusick 	&sdst_wren4_286,		/* device specifications */
478*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
479*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
480*53901Smckusick 	other_wren4old,			/* Other Parameters */
481*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
482*53901Smckusick     },
483*53901Smckusick     {					/* CDC WREN IV 94171-9 */
484*53901Smckusick 	15,				/* identify length */
485*53901Smckusick 	"CDC     94171-9",		/* vendor & product ID */
486*53901Smckusick 	"8794",				/* revision */
487*53901Smckusick 	0x08f40c,			/* drive capacity */
488*53901Smckusick 	"hd286",			/* device nickname */
489*53901Smckusick 	WREN4_286,			/* device type code */
490*53901Smckusick 	0,				/* firmware spec */
491*53901Smckusick 	0x4b,				/* synchronous transfer period */
492*53901Smckusick 	0,				/* synchronous transfer offset */
493*53901Smckusick 	NULL,				/* device setup commands */
494*53901Smckusick 	&sdst_wren4_286,		/* device specifications */
495*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
496*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
497*53901Smckusick 	other_wren4old,			/* Other Parameters */
498*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
499*53901Smckusick     },
500*53901Smckusick     {					/* CDC WREN IV 94171-9 */
501*53901Smckusick 	15,				/* identify length */
502*53901Smckusick 	"CDC     94171-9",		/* vendor & product ID */
503*53901Smckusick 	"8814",				/* revision */
504*53901Smckusick 	0x08f40c,			/* drive capacity */
505*53901Smckusick 	"hd286",			/* device nickname */
506*53901Smckusick 	WREN4_286,			/* device type code */
507*53901Smckusick 	0,				/* firmware spec */
508*53901Smckusick 	0x4b,				/* synchronous transfer period */
509*53901Smckusick 	0,				/* synchronous transfer offset */
510*53901Smckusick 	NULL,				/* device setup commands */
511*53901Smckusick 	&sdst_wren4_286,		/* device specifications */
512*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
513*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
514*53901Smckusick 	other_wren4old,			/* Other Parameters */
515*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
516*53901Smckusick     },
517*53901Smckusick     {					/* CDC WREN IV 94171-9 */
518*53901Smckusick 	15,				/* identify length */
519*53901Smckusick 	"CDC     94171-9",		/* vendor & product ID */
520*53901Smckusick 	revs_all,			/* revision */
521*53901Smckusick 	0x08f40c,			/* drive capacity */
522*53901Smckusick 	"hd286",			/* device nickname */
523*53901Smckusick 	WREN4_286,			/* device type code */
524*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR|FIRM_AWRE,	/* firmware spec */
525*53901Smckusick 	0x4b,				/* synchronous transfer period */
526*53901Smckusick 	0,				/* synchronous transfer offset */
527*53901Smckusick 	NULL,				/* device setup commands */
528*53901Smckusick 	&sdst_wren4_286,		/* device specifications */
529*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
530*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
531*53901Smckusick 	other_wren4567,			/* Other Parameters */
532*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
533*53901Smckusick     },
534*53901Smckusick     {					/* CDC WREN V HH 94221-5 */
535*53901Smckusick 	15,				/* identify length */
536*53901Smckusick 	"CDC     94221-5",		/* vendor & product ID */
537*53901Smckusick 	revs_all,			/* revision */
538*53901Smckusick 	0x05564a,			/* drive capacity */
539*53901Smckusick 	"hd170_hh",			/* device nickname */
540*53901Smckusick 	WREN5_170_HH,			/* device type code */
541*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR|FIRM_AWRE,	/* firmware spec */
542*53901Smckusick 	0x3f,				/* MIN synchronous transfer period */
543*53901Smckusick 	15,				/* MAX synchronous transfer offset */
544*53901Smckusick 	NULL,				/* device setup commands */
545*53901Smckusick 	&sdst_wren5_170_hh,		/* device specifications */
546*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
547*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
548*53901Smckusick 	other_wren4567,			/* Other Parameters */
549*53901Smckusick 	0,				/* Format options */
550*53901Smckusick     },
551*53901Smckusick     {					/* IMPRIMIS WREN VI HH 94241-7 */
552*53901Smckusick 	15,				/* identify length */
553*53901Smckusick 	"IMPRIMIS94241-7",		/* vendor & product ID */
554*53901Smckusick 	"0207",				/* revision */
555*53901Smckusick 	0xcfa13,			/* drive capacity */
556*53901Smckusick 	"hd415_hh",			/* device nickname */
557*53901Smckusick 	WREN6_415_HH,			/* device type code */
558*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR|FIRM_AWRE,	/* firmware spec */
559*53901Smckusick 	0x35,				/* MIN synchronous transfer period */
560*53901Smckusick 	15,				/* MAX synchronous transfer offset */
561*53901Smckusick 	NULL,				/* device setup commands */
562*53901Smckusick 	&sdst_wren6_415_hh,		/* device specifications */
563*53901Smckusick 	erp_wren4567,			/* normal Error Recovery Parameters */
564*53901Smckusick 	max_erp_wren4567,		/* max Error Recovery Parameters */
565*53901Smckusick 	other_wren4567,			/* Other Parameters */
566*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
567*53901Smckusick     },
568*53901Smckusick     {					/* SEAGATE ST1480N */
569*53901Smckusick 	15,				/* identify length */
570*53901Smckusick 	"SEAGATE ST1480 ",		/* vendor & product ID */
571*53901Smckusick 	revs_all,			/* revision */
572*53901Smckusick 	0xcb40f,			/* drive capacity */
573*53901Smckusick 	"hd406",			/* device nickname */      /* ???? */
574*53901Smckusick 	ST1480N,			/* device type code */
575*53901Smckusick 	FIRM_CACHE_ON|FIRM_AWRE,	/* firmware spec */
576*53901Smckusick 	0x35,				/* MIN synchronous transfer period */
577*53901Smckusick 	0,				/* MAX synchronous transfer offset */
578*53901Smckusick 	NULL,				/* device setup commands */
579*53901Smckusick 	&sdst_st1480n,			/* device specifications */
580*53901Smckusick 	erp_st1480n,			/* normal Error Recovery Parameters */
581*53901Smckusick 	max_erp_st1480n,		/* max Error Recovery Parameters */
582*53901Smckusick 	other_st1480n,			/* Other Parameters */
583*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
584*53901Smckusick     },
585*53901Smckusick     {					/* HITACHI DK515C-78 */
586*53901Smckusick 	14,				/* identify length */
587*53901Smckusick 	"HITACHI DK515C",		/* vendor & product ID */
588*53901Smckusick 	revs_all,			/* revision */
589*53901Smckusick 	0x13fcc8,			/* drive capacity */
590*53901Smckusick 	"hd639",			/* device nickname */
591*53901Smckusick 	DK515C_78,			/* device type code */
592*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
593*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
594*53901Smckusick 	8,				/* MAX synchronous transfer offset */
595*53901Smckusick 	NULL,				/* device setup commands */
596*53901Smckusick 	&sdst_dk515c_78,		/* device specifications */
597*53901Smckusick 	erp_dk515c_78,			/* normal Error Recovery Parameters */
598*53901Smckusick 	max_erp_dk515c_78,		/* max Error Recovery Parameters */
599*53901Smckusick 	other_dk515c_78,		/* Other Parameters */
600*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
601*53901Smckusick     },
602*53901Smckusick     {					/* HITACHI DK516C-16 */
603*53901Smckusick 	14,				/* identify length */
604*53901Smckusick 	"HITACHI DK516C",		/* vendor & product ID */
605*53901Smckusick 	revs_all,			/* revision */
606*53901Smckusick 	0x2800a4,			/* drive capacity */
607*53901Smckusick 	"hd1280",			/* device nickname */
608*53901Smckusick 	DK516C_16,			/* device type code */
609*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
610*53901Smckusick 	0x3e,				/* synchronous transfer period */
611*53901Smckusick 	15,				/* synchronous transfer offset */
612*53901Smckusick 	NULL,				/* device setup commands */
613*53901Smckusick 	&sdst_dk516c_16,		/* device specifications */
614*53901Smckusick 	erp_dk516c_16,			/* normal Error Recovery Parameters */
615*53901Smckusick 	max_erp_dk516c_16,		/* max Error Recovery Parameters */
616*53901Smckusick 	other_dk516c_16,		/* Other Parameters */
617*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
618*53901Smckusick     },
619*53901Smckusick     {					/* HITACHI DK312C-20 */
620*53901Smckusick 	14,				/* identify length */
621*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
622*53901Smckusick 	"CM73",				/* revision */
623*53901Smckusick 	0x063d30,			/* drive capacity */
624*53901Smckusick 	"hd199",			/* device nickname */
625*53901Smckusick 	DK312C_20,			/* device type code */
626*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
627*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
628*53901Smckusick 	7,				/* MAX synchronous transfer offset */
629*53901Smckusick 	0,				/* synchronous transfer register set */
630*53901Smckusick 	&sdst_dk312c_20,		/* device specifications */
631*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
632*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
633*53901Smckusick 	other_dk312c_off,		/* Other Parameters */
634*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
635*53901Smckusick     },
636*53901Smckusick     {					/* HITACHI DK312C-25 */
637*53901Smckusick 	14,				/* identify length */
638*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
639*53901Smckusick 	"CM73",				/* revision */
640*53901Smckusick 	0x077ca0,			/* drive capacity */
641*53901Smckusick 	"hd239",			/* device nickname */
642*53901Smckusick 	DK312C_25,			/* device type code */
643*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
644*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
645*53901Smckusick 	7,				/* MAX synchronous transfer offset */
646*53901Smckusick 	NULL,				/* device setup commands */
647*53901Smckusick 	&sdst_dk312c_25,		/* device specifications */
648*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
649*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
650*53901Smckusick 	other_dk312c_off,		/* Other Parameters */
651*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
652*53901Smckusick     },
653*53901Smckusick     {					/* HITACHI DK312C-20 */
654*53901Smckusick 	14,				/* identify length */
655*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
656*53901Smckusick 	"CM76",				/* revision */
657*53901Smckusick 	0x063d30,			/* drive capacity */
658*53901Smckusick 	"hd199",			/* device nickname */
659*53901Smckusick 	DK312C_20,			/* device type code */
660*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
661*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
662*53901Smckusick 	7,				/* MAX synchronous transfer offset */
663*53901Smckusick 	0,				/* synchronous transfer register set */
664*53901Smckusick 	&sdst_dk312c_20,		/* device specifications */
665*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
666*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
667*53901Smckusick 	other_dk312c_off,		/* Other Parameters */
668*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
669*53901Smckusick     },
670*53901Smckusick     {					/* HITACHI DK312C-25 */
671*53901Smckusick 	14,				/* identify length */
672*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
673*53901Smckusick 	"CM76",				/* revision */
674*53901Smckusick 	0x077ca0,			/* drive capacity */
675*53901Smckusick 	"hd239",			/* device nickname */
676*53901Smckusick 	DK312C_25,			/* device type code */
677*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
678*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
679*53901Smckusick 	7,				/* MAX synchronous transfer offset */
680*53901Smckusick 	NULL,				/* device setup commands */
681*53901Smckusick 	&sdst_dk312c_25,		/* device specifications */
682*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
683*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
684*53901Smckusick 	other_dk312c_off,		/* Other Parameters */
685*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
686*53901Smckusick     },
687*53901Smckusick     {					/* HITACHI DK312C-20 */
688*53901Smckusick 	14,				/* identify length */
689*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
690*53901Smckusick 	revs_all,			/* revision */
691*53901Smckusick 	0x063d30,			/* drive capacity */
692*53901Smckusick 	"hd199",			/* device nickname */
693*53901Smckusick 	DK312C_20,			/* device type code */
694*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
695*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
696*53901Smckusick 	7,				/* MAX synchronous transfer offset */
697*53901Smckusick 	0,				/* synchronous transfer register set */
698*53901Smckusick 	&sdst_dk312c_20,		/* device specifications */
699*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
700*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
701*53901Smckusick 	other_dk312c_on,		/* Other Parameters */
702*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
703*53901Smckusick     },
704*53901Smckusick     {					/* HITACHI DK312C-25 */
705*53901Smckusick 	14,				/* identify length */
706*53901Smckusick 	"HITACHI DK312C",		/* vendor & product ID */
707*53901Smckusick 	revs_all,			/* revision */
708*53901Smckusick 	0x077ca0,			/* drive capacity */
709*53901Smckusick 	"hd239",			/* device nickname */
710*53901Smckusick 	DK312C_25,			/* device type code */
711*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
712*53901Smckusick 	0x3e,				/* MIN synchronous transfer period */
713*53901Smckusick 	7,				/* MAX synchronous transfer offset */
714*53901Smckusick 	NULL,				/* device setup commands */
715*53901Smckusick 	&sdst_dk312c_25,		/* device specifications */
716*53901Smckusick 	erp_dk312c_25,			/* normal Error Recovery Parameters */
717*53901Smckusick 	max_erp_dk312c_25,		/* max Error Recovery Parameters */
718*53901Smckusick 	other_dk312c_on,		/* Other Parameters */
719*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
720*53901Smckusick     },
721*53901Smckusick     {					/* MAXTOR XT-8760S B5A */
722*53901Smckusick 	16,				/* identify length */
723*53901Smckusick 	"MAXTOR  XT-8760S",		/* vendor & product ID */
724*53901Smckusick 	"B5A ",				/* revision */
725*53901Smckusick 	0x13bc99,			/* drive capacity */
726*53901Smckusick 	"xt_8760s",			/* device nickname */
727*53901Smckusick 	XT_8760S,			/* device type code */
728*53901Smckusick 	FIRM_CACHE_ON|FIRM_SYNCTR,	/* firmware spec */
729*53901Smckusick 	0x35,				/* MIN synchronous transfer period */
730*53901Smckusick 	15,				/* MAX synchronous transfer offset */
731*53901Smckusick 	NULL,				/* device setup commands */
732*53901Smckusick 	&sdst_xt_8760s,			/* device specifications */
733*53901Smckusick 	erp_xt_8760s,			/* normal Error Recovery Parameters */
734*53901Smckusick 	max_erp_xt_8760s,		/* max Error Recovery Parameters */
735*53901Smckusick 	other_xt_8760s,			/* Other Parameters */
736*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
737*53901Smckusick     },
738*53901Smckusick     {					/* MAXTOR XT-8760S B3C */
739*53901Smckusick 	16,				/* identify length */
740*53901Smckusick 	"MAXTOR  XT-8760S",		/* vendor & product ID */
741*53901Smckusick 	"B3C ",				/* revision */
742*53901Smckusick 	0x13bc99,			/* drive capacity */
743*53901Smckusick 	"xt_8760s",			/* device nickname */
744*53901Smckusick 	XT_8760S,			/* device type code */
745*53901Smckusick 	0,				/* firmware spec */
746*53901Smckusick 	0,				/* synchronous transfer period */
747*53901Smckusick 	0,				/* synchronous transfer offset */
748*53901Smckusick 	NULL,				/* device setup commands */
749*53901Smckusick 	&sdst_xt_8760s,			/* device specifications */
750*53901Smckusick 	erp_xt_8760s,			/* normal Error Recovery Parameters */
751*53901Smckusick 	max_erp_xt_8760s,		/* max Error Recovery Parameters */
752*53901Smckusick 	NULL,				/* Other Parameters */
753*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
754*53901Smckusick     },
755*53901Smckusick     {					/* SONY SRD2040Z */
756*53901Smckusick 	16,				/* identify length */
757*53901Smckusick 	"SONY    SRD2040Z",		/* vendor & product ID */
758*53901Smckusick 	revs_all,			/* revision */
759*53901Smckusick 	0x014124,			/* drive capacity */
760*53901Smckusick 	"hd41",				/* device nickname */
761*53901Smckusick 	SRD_2040Z,			/* device type code */
762*53901Smckusick 	0,				/* firmware spec */
763*53901Smckusick 	0,				/* synchronous transfer period */
764*53901Smckusick 	0,				/* synchronous transfer offset */
765*53901Smckusick 	NULL,				/* device setup commands */
766*53901Smckusick 	&sdst_srd2040z,			/* device specifications */
767*53901Smckusick 	erp_srd2040z,			/* normal Error Recovery Parameters */
768*53901Smckusick 	max_erp_srd2040z,		/* max Error Recovery Parameters */
769*53901Smckusick 	NULL,				/* Other Parameters */
770*53901Smckusick 	FMT_DLF_BLK,			/* Format options */
771*53901Smckusick     },
772*53901Smckusick     {					/* SONY SMO-S501 SONY format */
773*53901Smckusick 	16,				/* identify length */
774*53901Smckusick 	"SONY    SMO-C501",		/* vendor & product ID */
775*53901Smckusick 	"1.??",				/* revision */
776*53901Smckusick 	0x08d5c0,			/* drive capacity */
777*53901Smckusick 	"od282",			/* device nickname */
778*53901Smckusick 	SMO_S501,			/* device type code */
779*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
780*53901Smckusick 	0,				/* synchronous transfer period */
781*53901Smckusick 	0,				/* synchronous transfer offset */
782*53901Smckusick 	NULL,				/* device setup commands */
783*53901Smckusick 	&sdst_smo_s501,			/* device specifications */
784*53901Smckusick 	erp_smo_s501,			/* normal Error Recovery Parameters */
785*53901Smckusick 	max_erp_smo_s501,		/* max Error Recovery Parameters */
786*53901Smckusick 	NULL,				/* Other Parameters */
787*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
788*53901Smckusick     },
789*53901Smckusick     {					/* SONY SMO-S501 ISO format */
790*53901Smckusick 	16,				/* identify length */
791*53901Smckusick 	"SONY    SMO-C501",		/* vendor & product ID */
792*53901Smckusick 	"2.??",				/* revision */
793*53901Smckusick 	0x08cde7,			/* drive capacity */
794*53901Smckusick 	"od282iso",			/* device nickname */
795*53901Smckusick 	SMO_S501_ISO2,			/* device type code */
796*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
797*53901Smckusick 	0,				/* synchronous transfer period */
798*53901Smckusick 	0,				/* synchronous transfer offset */
799*53901Smckusick 	NULL,				/* device setup commands */
800*53901Smckusick 	&sdst_smo_s501_iso,		/* device specifications */
801*53901Smckusick 	erp_smo_s501,			/* normal Error Recovery Parameters */
802*53901Smckusick 	max_erp_smo_s501,		/* max Error Recovery Parameters */
803*53901Smckusick 	NULL,				/* Other Parameters */
804*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
805*53901Smckusick     },
806*53901Smckusick     {					/* SONY SMO-S501 ISO format */
807*53901Smckusick 	16,				/* identify length */
808*53901Smckusick 	"SONY    SMO-C501",		/* vendor & product ID */
809*53901Smckusick 	"2.??",				/* revision */
810*53901Smckusick 	0x08d1e7,			/* drive capacity */
811*53901Smckusick 	"od282i",			/* device nickname */
812*53901Smckusick 	SMO_S501_ISO,			/* device type code */
813*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
814*53901Smckusick 	0,				/* synchronous transfer period */
815*53901Smckusick 	0,				/* synchronous transfer offset */
816*53901Smckusick 	NULL,				/* device setup commands */
817*53901Smckusick 	&sdst_smo_s501_iso,		/* device specifications */
818*53901Smckusick 	erp_smo_s501,			/* normal Error Recovery Parameters */
819*53901Smckusick 	max_erp_smo_s501,		/* max Error Recovery Parameters */
820*53901Smckusick 	NULL,				/* Other Parameters */
821*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
822*53901Smckusick     },
823*53901Smckusick     {					/* SONY SMO-S501 SONY format */
824*53901Smckusick 	16,				/* identify length */
825*53901Smckusick 	"SONY    SMO-C501",		/* vendor & product ID */
826*53901Smckusick 	"2.??",				/* revision */
827*53901Smckusick 	0x08d5c0,			/* drive capacity */
828*53901Smckusick 	"od282",			/* device nickname */
829*53901Smckusick 	SMO_S501,			/* device type code */
830*53901Smckusick 	FIRM_AWRE,			/* firmware spec */
831*53901Smckusick 	0,				/* synchronous transfer period */
832*53901Smckusick 	0,				/* synchronous transfer offset */
833*53901Smckusick 	NULL,				/* device setup commands */
834*53901Smckusick 	&sdst_smo_s501,			/* device specifications */
835*53901Smckusick 	erp_smo_s501,			/* normal Error Recovery Parameters */
836*53901Smckusick 	max_erp_smo_s501,		/* max Error Recovery Parameters */
837*53901Smckusick 	NULL,				/* Other Parameters */
838*53901Smckusick 	FMT_DLF_PHYS,			/* Format options */
839*53901Smckusick     },
840*53901Smckusick     {					/* End of table */
841*53901Smckusick 	-1,
842*53901Smckusick     }
843*53901Smckusick };
844*53901Smckusick #endif /* NSD > 0 */
845