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