xref: /freebsd/share/misc/scsi_modes (revision 076ad2f836d5f49dc1375f1677335a48fe0d4b82)
1# SCSI mode page data base.
2
3# Copyright (c) 1995 HD Associates
4# Copyright (c) 2001 The FreeBSD Project
5# (contact: dufault@hda.com)
6# All rights reserved.
7#
8# Redistribution and use in source and binary forms, with or without
9# modification, are permitted provided that the following conditions
10# are met:
11# 1. Redistributions of source code must retain the above copyright
12#    notice, this list of conditions and the following disclaimer.
13# 2. Redistributions in binary form must reproduce the above copyright
14#    notice, this list of conditions and the following disclaimer in the
15#    documentation and/or other materials provided with the distribution.
16# 3. The name of HD Associates
17#    may not be used to endorse or promote products derived from this software
18#    without specific prior written permission.
19#
20# THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND
21# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23# ARE DISCLAIMED.  IN NO EVENT SHALL HD ASSOCIATES BE LIABLE
24# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30# SUCH DAMAGE.
31#
32# $FreeBSD$
33#
34# The ordering is alphabetical by page name, as it appears in the SCSI spec.
35
36# 'i' is a byte-sized integral types, followed by a field width of
37#  1 through 4 (1 to 4 bytes).
38#
39# 'b' is a bit-sized integral type
40# 't' is a bitfield type- followed by a bit field width
41#
42# 'c' values are character arrays
43# 'z' values are null-padded strings
44#
45#
46# '*' suppresses assignment (for 'seeking').
47# Bitfields are MSB to LSB.
48
49
50# ALL DEVICE TYPES
51
520x0a,0x03 "Command Duration Limit A";
53
540x0a,0x04 "Command Duration Limit B";
55
560x0a "Control" {
57	{TST} t3
58	{TMF_ONLY} t1
59	{DPICZ} t1
60	{D_SENSE} t1
61	{GLTSD} t1
62	{RLEC} t1
63	{Queue Algorithm Modifier} t4
64	{NUAR} t1
65	{QErr} t2
66	{DQue} t1
67	{EECA} t1
68	{RAC} t1
69	{UA_INTLCK_CTRL} t2
70	{SWP} t1
71	{RAENP} t1
72	{UAAENP} t1
73	{EAENP} t1
74	{ATO} t1
75	{TAS} t1
76	{ATMPE} t1
77	{RWWP} t1
78	{SBLP (Supported Block Lengths and Protection)} t1
79	{Autoload Mode} t3
80	{Ready AEN Holdoff Period} i2
81	{Busy Timeout Period} i2
82	{Extended Self-Test Completion Time} i2
83}
84
850x0a,0x01 "Control Extension" {
86	{Reserved} *t4
87	{DLC} t1
88	{TCMOS} t1
89	{SCSIP} t1
90	{IALUAE} t1
91	{Reserved} *t4
92	{Initial Command Priority} t4
93	{Maximum Sense Data Length} i1
94}
95
960x02 "Disconnect-Reconnect" {
97	{Buffer Full Ratio} i1
98	{Buffer Empty Ratio} i1
99	{Bus Inactivity Limit} i2
100	{Disconnect Time Limit} i2
101	{Connect Time Limit} i2
102	{Maximum Burst Size} i2
103	{Reserved} *t6
104	{DTDC} t2
105	{Reserved} *i1
106	{Reserved} *i1
107	{Reserved} *i1
108}
109
1100x15 "Extended";
111
1120x16 "Extended Device-Type Specific";
113
1140x09 "Peripheral Device" {
115	{Interface Identifier} i2
116	{Reserved} *i1
117	{Reserved} *i1
118	{Reserved} *i1
119	{Reserved} *i1
120}
121
1220x1a "Power Condition" {
123	{PM_BG_PRECEDENCE} t1
124	{Reserved} *t6
125	{STANDBY_Y} t1
126	{Reserved} *t4
127	{IDLE_C} t1
128	{IDLE_B} t1
129	{IDLE_A} t1
130	{STANDBY_Z} t1
131	{IDLE_A Condition Timer} i4
132	{STANDBY_Z Condition Timer} i4
133	{IDLE_B Condition Timer} i4
134	{IDLE_C Condition Timer} i4
135	{STANDBY_Y Condition Timer} i4
136	{Reserved} *i4
137	{Reserved} *i4
138	{Reserved} *i4
139	{Reserved} *i3
140	{CCF Idle} t2
141	{CCF Standby} t2
142	{CCF Stopped} t2
143	{Reserved} *t2
144}
145
1460x1a,0x01 "Power Consumption" {
147	{Reserved} *i2
148	{Reserved} *t6
149	{Active Level} t2
150	{Power Consumption Identifier} i1
151	{Reserved} *i4
152	{Reserved} *i4
153}
154
1550x18 "Protocol-Specific Logical Unit";
156
1570x19 "Protocol-Specific Port";
158
159# DIRECT ACCESS DEVICES
160
1610x0a,0x02 "Application Tag";
162
1630x1a,0xf1 "ATA Power Condition";
164
1650x1c,0x01 "Background Control" {
166	{Reserved} *t5
167	{S_L_FULL} *t1
168	{LOWIR} *t1
169	{EN_BMS} *t1
170	{Reserved} *t7
171	{EN_PS} *t1
172	{Background Medium Scan Interval Time} i2
173	{Background Pre-Scan Time Limit} i2
174	{Minimum Idle Time Before Background Scan} i2
175	{Maximum Time To Suspend Background Scan} i2
176	{Reserved} *i2
177}
178
1790x0a,0x06 "Background Operation Control" {
180	{BO_MODE} t2
181	{Reserved} *t6
182}
183
1840x08 "Caching" {
185	{IC} t1
186	{ABPF} t1
187	{CAP} t1
188	{DISC} t1
189	{SIZE} t1
190	{WCE} t1
191	{MF} t1
192	{RCD} t1
193	{Demand Retention Priority} t4
194	{Write Retention Priority} t4
195	{Disable Pre-fetch Transfer Length} i2
196	{Minimum Pre-fetch} i2
197	{Maximum Pre-fetch} i2
198	{Maximum Pre-fetch Ceiling} i2
199	{FSW (Force Sequential Write)} t1
200	{LBCSS (Logical Block Cache Segment Size)} t1
201	{DRA (Disable Read-Ahead)} t1
202	{Vendor Specific} t2
203	{SYNC_PROG} t1
204	{NV_DIS} t1
205	{Number of Cache Segments} i1
206	{Cache Segment Size} i2
207	{Reserved} *t4
208}
209
2100x05 "Flexible Disk" {
211	{Transfer rate} i2
212	{Number of heads} i1
213	{Sectors per track} i1
214	{Data bytes per sector} i2
215	{Number of cylinders} i2
216	{Starting cylinder-write precompensation} i2
217	{Starting cylinder-reduced write current} i2
218	{Drive step rate} i2
219	{Drive step pulse width} i1
220	{Head settle delay} i2
221	{Motor on delay} i1
222	{Motor off delay} i1
223	{TRDY} t1
224	{SSN} t1
225	{MO} t1
226	{Reserved} *t5
227	{Reserved} *t4
228	{SPC} t4
229	{Write Compensation} i1
230	{Head load delay} i1
231	{Head unload delay} i1
232	{Pin 34} t4
233	{Pin 2} t4
234	{Pin 4} t4
235	{Pin 1} t4
236	{Medium rotation rate} i2
237	{Reserved} *i1
238	{Reserved} *i1
239}
240
2410x03 "Format Device" {
242	{Tracks per Zone} i2
243	{Alternate Sectors per Zone} i2
244	{Alternate Tracks per Zone} i2
245	{Alternate Tracks per Logical Unit} i2
246	{Sectors per Track} i2
247	{Data Bytes per Physical Sector} i2
248	{Interleave} i2
249	{Track Skew Factor} i2
250	{Cylinder Skew Factor} i2
251	{SSEC} t1
252	{HSEC} t1
253	{RMB} t1
254	{SURF} t1
255	{Reserved} *t4
256}
257
2580x0a,0x05 "I/O Advice Hints Grouping";
259
2600x1c "Informational Exceptions Control" {
261	{PERF} t1
262	{Reserved} *t1
263	{EBF} t1
264	{EWasc} t1
265	{DExcpt} t1
266	{TEST} t1
267	{EBACKERR} t1
268	{LogErr} t1
269	{Reserved} *t4
270	{MRIE} t4
271	{Interval Timer} i4
272	{Report Count} i4
273}
274
2750x1c,0x02 "Logical Block Provisioning" {
276	{Reserved} *t7
277	{SITUA} t1
278	{Reserved} *i1
279	{Reserved} *i1
280	{Reserved} *i1
281	{Reserved} *i4
282	{Reserved} *i4
283}
284
2850x0b "Medium Types Supported" {
286	{Reserved} *i1
287	{Reserved} *i1
288	{Medium type one supported} i1
289	{Medium type two supported} i1
290	{Medium type three supported} i1
291	{Medium type four supported} i1
292}
293
2940x0c "Notch and Partition";
295
2960x0a,0xf1 "PATA Control";
297
2980x01 "Read-Write Error Recovery" {
299	{AWRE (Auto Write Reallocation Enbld)} t1
300	{ARRE (Auto Read Reallocation Enbld)} t1
301	{TB (Transfer Block)} t1
302	{RC (Read Continuous)} t1
303	{EER (Enable Early Recovery)} t1
304	{PER (Post Error)} t1
305	{DTE (Disable Transfer on Error)} t1
306	{DCR (Disable Correction)} t1
307	{Read Retry Count} i1
308	{Correction Span} i1
309	{Head Offset Count} i1
310	{Data Strobe Offset Count} i1
311	{LBPERE (LBP Error Reporting Enabled)} t1
312	{MWR (Misaligned Write Reporting)} t2
313	{Reserved} *t5
314	{Write Retry Count} i1
315	{Reserved} *i1
316	{Recovery Time Limit} i2
317}
318
3190x04 "Rigid Disk Drive Geometry" {
320	{Number of Cylinders} i3
321	{Number of Heads} i1
322	{Starting Cylinder-Write Precompensation} i3
323	{Starting Cylinder-Reduced Write Current} i3
324	{Drive Step Rate} i2
325	{Landing Zone Cylinder} i3
326	{Reserved} *t6
327	{RPL} t2
328	{Rotational Offset} i1
329	{Reserved} *i1
330	{Medium Rotation Rate} i2
331	{Reserved} *i1
332	{Reserved} *i1
333}
334
3350x07 "Verify Error Recovery" {
336	{Reserved} *t4
337	{EER} t1
338	{PER} t1
339	{DTE} t1
340	{DCR} t1
341	{Verify Retry Count} i1
342	{Verify Correction Span} i1
343	{Reserved} *i1
344	{Reserved} *i1
345	{Reserved} *i1
346	{Reserved} *i1
347	{Reserved} *i1
348	{Verify Recovery Time Limit} i2
349}
350
3510x0E "CD-ROM Audio Control Parameters" {
352	{Reserved} *t5
353	{Immed} t1
354	{SOTC} t1
355	{Reserved} *t1
356	{Reserved} *i2
357	{APRVal} t1
358	{Reserved} *t3
359	{Format of LBAs / sec.} t4
360	{Logical Blocks per Second of Audio Playback} i2
361	{Reserved} *t4
362	{Output Port 0 Channel Selection} t4
363	{Output Port 0 Volume} i1
364	{Reserved} *t4
365	{Output Port 1 Channel Selection} t4
366	{Output Port 1 Volume} i1
367	{Reserved} *t4
368	{Output Port 2 Channel Selection} t4
369	{Output Port 2 Volume} i1
370	{Reserved} *t4
371	{Output Port 3 Channel Selection} t4
372	{Output Port 3 Volume} i1
373}
374
375# SEQUENTIAL ACCESS DEVICES
3760x10 "Device Configuration" {
377	{Reserved} *t1
378	{Change Active Partition} t1
379	{Change Active Format} t1
380	{Active Format} t5
381	{Active Partition} i1
382	{Write Buffer Full Ratio} i1
383	{Write Buffer Empty Ratio} i1
384	{Write Delay Time} i2
385	{Data Buffer Recovery} t1
386	{Block Identifiers Support} t1
387	{Report Setmarks} t1
388	{Automatic Velocity Control} t1
389	{Stop on Consecutive Filemarks} t2
390	{Recover Buffer Order} t1
391	{Report Early-Warning} t1
392	{Gap Size} i1
393	{EOD Defined} t3
394	{Enable EOD Generation} t1
395	{Synchronize at Early-Warning} t1
396	{Reserved} *t3
397	{Buffer Size at Early-Warning} i3
398	{Select Data Compression Algorithm} i1
399	{Reserved} *t5
400	{SCSI-3 Associated Write Protect} t1
401	{SCSI-3 Persistent Write Protect} t1
402	{SCSI-3 Permanent Write Protect} t1
403}
404
4050x0f "Data Compression" {
406	{Data Compression Enabled} t1
407	{Date Compression Capable} t1
408	{Reserved} *t6
409	{Data Decompression Capable} t1
410	{Data Decompression Report on Exception} t2
411	{Reserved} *t5
412	{Compression Algorithm} i4
413	{Decompression Algorithm} i4
414	{Reserved} *i4
415}
416
417# Removable devices
4180x1b "Removable Block Access Capacities" {
419	{System Floppy Type Device} t1
420	{Supports Reporting Format Progress} t1
421	{Reserved} *t6
422	{Non CD Optical Device} t1
423	{Single or Multiple LUN Supported} t1
424	{Reserved} *t3
425	{Total Logical Units Supported} t3
426	{Reserved} *i8
427}
428
429# CD-ROM (and CD-R[W]) devices
4300x2a "CD capabilities and mechanical status" {
431	{Reserved} *t4
432	{Method 2} t1
433	{CD-RW Read} t1
434	{CD-R Read} t1
435	{Reserved} *t4
436	{Test Write} t1
437	{CD-RW Write} t1
438	{CD-R Write} t1
439	{Reserved} *t1
440	{Multi Session} t1
441	{Mode 2 Form 2} t1
442	{Mode 2 Form 1} t1
443	{Digital Port (2)} t1
444	{Digital Port (1)} t1
445	{Composite} t1
446	{Audio Play} t1
447	{Read Bar Code} t1
448	{UPC} t1
449	{ISRC} t1
450	{C2 Pointers are supported} t1
451	{R-W De-interleaved & corrected} t1
452	{R-W Supported} t1
453	{CD-DA Stream is Accurate} t1
454	{CD-DA Commands Supported} t1
455	{Loading Mechanism Type} t3
456	{Reserved} *t1
457	{Eject} t1
458	{Prevent Jumper} t1
459	{Lock State} t1
460	{Lock} t1
461	{Reserved} *t4
462	{S/W Slot Selection} t1
463	{Changer Supports Disc Present reporting} t1
464	{Separate Channel Mute Supported} t1
465	{Separate volume levels per channel} t1
466	{Maximum Read Speed Supported (kBps)} i2
467	{Number of Volume Leves Supported} i2
468	{Buffer Size supported by Drive (KB)} i2
469	{Current Read Speed Selected (kBps)} i2
470	{Reserved} *i1
471	{Reserved} *t2
472	{Length} t2
473	{LSBF} t1
474	{RCK} t1
475	{BCK} t1
476	{Reserved} *t1
477	{Maximum Write Speed Supported (kBps)} i2
478	{Current Write Speed Supported (kBps)} i2
479};
480
4810x1d "Timeout and Protect" {
482	{Reserved} *i2
483	{Reserved} *t4
484	{G3Enable} t1
485	{TMOE} t1
486	{DISP} t1
487	{SWPP} t1
488	{Reserved} *i1
489	{Group 1 Minimum Timeout} i2
490	{Group 2 Minimum Timeout} i2
491	{Group 3 Timeout} i2
492};
493
4940x00 "Vendor-Specific";
495