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#
33# The ordering is alphabetical by page name, as it appears in the SCSI spec.
34
35# 'i' is a byte-sized integral types, followed by a field width of 
36#  1 through 4 (1 to 4 bytes).
37#
38# 'b' is a bit-sized integral type
39# 't' is a bitfield type- followed by a bit field width
40#
41# 'c' values are character arrays
42# 'z' values are null-padded strings
43#
44#
45# '*' suppresses assignment (for 'seeking').
46# Bitfields are MSB to LSB.
47
48
49# ALL DEVICE TYPES
50
510x0a,0x03 "Command Duration Limit A";
52
530x0a,0x04 "Command Duration Limit B";
54
550x0a "Control" {
56	{TST} t3
57	{TMF_ONLY} t1
58	{DPICZ} t1
59	{D_SENSE} t1
60	{GLTSD} t1
61	{RLEC} t1
62	{Queue Algorithm Modifier} t4
63	{NUAR} t1
64	{QErr} t2
65	{DQue} t1
66	{EECA} t1
67	{RAC} t1
68	{UA_INTLCK_CTRL} t2
69	{SWP} t1
70	{RAENP} t1
71	{UAAENP} t1
72	{EAENP} t1
73	{ATO} t1
74	{TAS} t1
75	{ATMPE} t1
76	{RWWP} t1
77	{SBLP (Supported Block Lengths and Protection)} t1
78	{Autoload Mode} t3
79	{Ready AEN Holdoff Period} i2
80	{Busy Timeout Period} i2
81	{Extended Self-Test Completion Time} i2
82}
83
840x0a,0x01 "Control Extension" {
85	{Reserved} *t4
86	{DLC} t1
87	{TCMOS} t1
88	{SCSIP} t1
89	{IALUAE} t1
90	{Reserved} *t4
91	{Initial Command Priority} t4
92	{Maximum Sense Data Length} i1
93}
94
950x02 "Disconnect-Reconnect" {
96	{Buffer Full Ratio} i1
97	{Buffer Empty Ratio} i1
98	{Bus Inactivity Limit} i2
99	{Disconnect Time Limit} i2
100	{Connect Time Limit} i2
101	{Maximum Burst Size} i2
102	{Reserved} *t6
103	{DTDC} t2
104	{Reserved} *i1
105	{Reserved} *i1
106	{Reserved} *i1
107}
108
1090x15 "Extended";
110
1110x16 "Extended Device-Type Specific";
112
1130x09 "Peripheral Device" {
114	{Interface Identifier} i2
115	{Reserved} *i1
116	{Reserved} *i1
117	{Reserved} *i1
118	{Reserved} *i1
119}
120
1210x1a "Power Condition" {
122	{PM_BG_PRECEDENCE} t1
123	{Reserved} *t6
124	{STANDBY_Y} t1
125	{Reserved} *t4
126	{IDLE_C} t1
127	{IDLE_B} t1
128	{IDLE_A} t1
129	{STANDBY_Z} t1
130	{IDLE_A Condition Timer} i4
131	{STANDBY_Z Condition Timer} i4
132	{IDLE_B Condition Timer} i4
133	{IDLE_C Condition Timer} i4
134	{STANDBY_Y Condition Timer} i4
135	{Reserved} *i4
136	{Reserved} *i4
137	{Reserved} *i4
138	{Reserved} *i3
139	{CCF Idle} t2
140	{CCF Standby} t2
141	{CCF Stopped} t2
142	{Reserved} *t2
143}
144
1450x1a,0x01 "Power Consumption" {
146	{Reserved} *i2
147	{Reserved} *t6
148	{Active Level} t2
149	{Power Consumption Identifier} i1
150	{Reserved} *i4
151	{Reserved} *i4
152}
153
1540x18 "Protocol-Specific Logical Unit";
155
1560x19 "Protocol-Specific Port";
157
158# DIRECT ACCESS DEVICES
159
1600x0a,0x02 "Application Tag";
161
1620x1a,0xf1 "ATA Power Condition";
163
1640x1c,0x01 "Background Control" {
165	{Reserved} *t5
166	{S_L_FULL} *t1
167	{LOWIR} *t1
168	{EN_BMS} *t1
169	{Reserved} *t7
170	{EN_PS} *t1
171	{Background Medium Scan Interval Time} i2
172	{Background Pre-Scan Time Limit} i2
173	{Minimum Idle Time Before Background Scan} i2
174	{Maximum Time To Suspend Background Scan} i2
175	{Reserved} *i2
176}
177
1780x0a,0x06 "Background Operation Control" {
179	{BO_MODE} t2
180	{Reserved} *t6
181}
182
1830x08 "Caching" {
184	{IC} t1
185	{ABPF} t1
186	{CAP} t1
187	{DISC} t1
188	{SIZE} t1
189	{WCE} t1
190	{MF} t1
191	{RCD} t1
192	{Demand Retention Priority} t4
193	{Write Retention Priority} t4
194	{Disable Pre-fetch Transfer Length} i2
195	{Minimum Pre-fetch} i2
196	{Maximum Pre-fetch} i2
197	{Maximum Pre-fetch Ceiling} i2
198	{FSW (Force Sequential Write)} t1
199	{LBCSS (Logical Block Cache Segment Size)} t1
200	{DRA (Disable Read-Ahead)} t1
201	{Vendor Specific} t2
202	{SYNC_PROG} t1
203	{NV_DIS} t1
204	{Number of Cache Segments} i1
205	{Cache Segment Size} i2
206	{Reserved} *t4
207}
208
2090x05 "Flexible Disk" {
210	{Transfer rate} i2
211	{Number of heads} i1
212	{Sectors per track} i1
213	{Data bytes per sector} i2
214	{Number of cylinders} i2
215	{Starting cylinder-write precompensation} i2
216	{Starting cylinder-reduced write current} i2
217	{Drive step rate} i2
218	{Drive step pulse width} i1
219	{Head settle delay} i2
220	{Motor on delay} i1
221	{Motor off delay} i1
222	{TRDY} t1
223	{SSN} t1
224	{MO} t1
225	{Reserved} *t5
226	{Reserved} *t4
227	{SPC} t4
228	{Write Compensation} i1
229	{Head load delay} i1
230	{Head unload delay} i1
231	{Pin 34} t4
232	{Pin 2} t4
233	{Pin 4} t4
234	{Pin 1} t4
235	{Medium rotation rate} i2
236	{Reserved} *i1
237	{Reserved} *i1
238}
239
2400x03 "Format Device" {
241	{Tracks per Zone} i2
242	{Alternate Sectors per Zone} i2
243	{Alternate Tracks per Zone} i2
244	{Alternate Tracks per Logical Unit} i2
245	{Sectors per Track} i2
246	{Data Bytes per Physical Sector} i2
247	{Interleave} i2
248	{Track Skew Factor} i2
249	{Cylinder Skew Factor} i2
250	{SSEC} t1
251	{HSEC} t1
252	{RMB} t1
253	{SURF} t1
254	{Reserved} *t4
255}
256
2570x0a,0x05 "I/O Advice Hints Grouping";
258
2590x1c "Informational Exceptions Control" {
260	{PERF} t1
261	{Reserved} *t1
262	{EBF} t1
263	{EWasc} t1
264	{DExcpt} t1
265	{TEST} t1
266	{EBACKERR} t1
267	{LogErr} t1
268	{Reserved} *t4
269	{MRIE} t4
270	{Interval Timer} i4
271	{Report Count} i4
272}
273
2740x1c,0x02 "Logical Block Provisioning" {
275	{Reserved} *t7
276	{SITUA} t1
277	{Reserved} *i1
278	{Reserved} *i1
279	{Reserved} *i1
280	{Reserved} *i4
281	{Reserved} *i4
282}
283
2840x0b "Medium Types Supported" {
285	{Reserved} *i1
286	{Reserved} *i1
287	{Medium type one supported} i1
288	{Medium type two supported} i1
289	{Medium type three supported} i1
290	{Medium type four supported} i1
291}
292
2930x0c "Notch and Partition";
294
2950x0a,0xf1 "PATA Control";
296
2970x01 "Read-Write Error Recovery" {
298	{AWRE (Auto Write Reallocation Enbld)} t1
299	{ARRE (Auto Read Reallocation Enbld)} t1
300	{TB (Transfer Block)} t1
301	{RC (Read Continuous)} t1
302	{EER (Enable Early Recovery)} t1
303	{PER (Post Error)} t1
304	{DTE (Disable Transfer on Error)} t1
305	{DCR (Disable Correction)} t1
306	{Read Retry Count} i1
307	{Correction Span} i1
308	{Head Offset Count} i1
309	{Data Strobe Offset Count} i1
310	{LBPERE (LBP Error Reporting Enabled)} t1
311	{MWR (Misaligned Write Reporting)} t2
312	{Reserved} *t5
313	{Write Retry Count} i1
314	{Reserved} *i1
315	{Recovery Time Limit} i2
316}
317
3180x04 "Rigid Disk Drive Geometry" {
319	{Number of Cylinders} i3
320	{Number of Heads} i1
321	{Starting Cylinder-Write Precompensation} i3
322	{Starting Cylinder-Reduced Write Current} i3
323	{Drive Step Rate} i2
324	{Landing Zone Cylinder} i3
325	{Reserved} *t6
326	{RPL} t2
327	{Rotational Offset} i1
328	{Reserved} *i1
329	{Medium Rotation Rate} i2
330	{Reserved} *i1
331	{Reserved} *i1
332}
333
3340x07 "Verify Error Recovery" {
335	{Reserved} *t4
336	{EER} t1
337	{PER} t1
338	{DTE} t1
339	{DCR} t1
340	{Verify Retry Count} i1
341	{Verify Correction Span} i1
342	{Reserved} *i1
343	{Reserved} *i1
344	{Reserved} *i1
345	{Reserved} *i1
346	{Reserved} *i1
347	{Verify Recovery Time Limit} i2
348}
349
3500x0E "CD-ROM Audio Control Parameters" {
351	{Reserved} *t5
352	{Immed} t1
353	{SOTC} t1
354	{Reserved} *t1
355	{Reserved} *i2
356	{APRVal} t1
357	{Reserved} *t3
358	{Format of LBAs / sec.} t4
359	{Logical Blocks per Second of Audio Playback} i2
360	{Reserved} *t4
361	{Output Port 0 Channel Selection} t4
362	{Output Port 0 Volume} i1
363	{Reserved} *t4
364	{Output Port 1 Channel Selection} t4
365	{Output Port 1 Volume} i1
366	{Reserved} *t4
367	{Output Port 2 Channel Selection} t4
368	{Output Port 2 Volume} i1
369	{Reserved} *t4
370	{Output Port 3 Channel Selection} t4
371	{Output Port 3 Volume} i1
372}
373
374# SEQUENTIAL ACCESS DEVICES
3750x10 "Device Configuration" {
376	{Reserved} *t1
377	{Change Active Partition} t1
378	{Change Active Format} t1
379	{Active Format} t5
380	{Active Partition} i1
381	{Write Buffer Full Ratio} i1
382	{Write Buffer Empty Ratio} i1
383	{Write Delay Time} i2
384	{Data Buffer Recovery} t1
385	{Block Identifiers Support} t1
386	{Report Setmarks} t1
387	{Automatic Velocity Control} t1
388	{Stop on Consecutive Filemarks} t2
389	{Recover Buffer Order} t1
390	{Report Early-Warning} t1
391	{Gap Size} i1
392	{EOD Defined} t3
393	{Enable EOD Generation} t1
394	{Synchronize at Early-Warning} t1
395	{Reserved} *t3
396	{Buffer Size at Early-Warning} i3
397	{Select Data Compression Algorithm} i1
398	{Reserved} *t5
399	{SCSI-3 Associated Write Protect} t1
400	{SCSI-3 Persistent Write Protect} t1
401	{SCSI-3 Permanent Write Protect} t1
402}
403
4040x0f "Data Compression" {
405	{Data Compression Enabled} t1
406	{Date Compression Capable} t1
407	{Reserved} *t6
408	{Data Decompression Capable} t1
409	{Data Decompression Report on Exception} t2
410	{Reserved} *t5
411	{Compression Algorithm} i4
412	{Decompression Algorithm} i4
413	{Reserved} *i4
414}
415
416# Removable devices
4170x1b "Removable Block Access Capacities" {
418	{System Floppy Type Device} t1
419	{Supports Reporting Format Progress} t1
420	{Reserved} *t6
421	{Non CD Optical Device} t1
422	{Single or Multiple LUN Supported} t1
423	{Reserved} *t3
424	{Total Logical Units Supported} t3
425	{Reserved} *i8
426}
427
428# CD-ROM (and CD-R[W]) devices
4290x2a "CD capabilities and mechanical status" {
430	{Reserved} *t4
431	{Method 2} t1
432	{CD-RW Read} t1
433	{CD-R Read} t1
434	{Reserved} *t4
435	{Test Write} t1
436	{CD-RW Write} t1
437	{CD-R Write} t1
438	{Reserved} *t1
439	{Multi Session} t1
440	{Mode 2 Form 2} t1
441	{Mode 2 Form 1} t1
442	{Digital Port (2)} t1
443	{Digital Port (1)} t1
444	{Composite} t1
445	{Audio Play} t1
446	{Read Bar Code} t1
447	{UPC} t1
448	{ISRC} t1
449	{C2 Pointers are supported} t1
450	{R-W De-interleaved & corrected} t1
451	{R-W Supported} t1
452	{CD-DA Stream is Accurate} t1
453	{CD-DA Commands Supported} t1
454	{Loading Mechanism Type} t3
455	{Reserved} *t1
456	{Eject} t1
457	{Prevent Jumper} t1
458	{Lock State} t1
459	{Lock} t1
460	{Reserved} *t4
461	{S/W Slot Selection} t1
462	{Changer Supports Disc Present reporting} t1
463	{Separate Channel Mute Supported} t1
464	{Separate volume levels per channel} t1
465	{Maximum Read Speed Supported (kBps)} i2
466	{Number of Volume Leves Supported} i2
467	{Buffer Size supported by Drive (KB)} i2
468	{Current Read Speed Selected (kBps)} i2
469	{Reserved} *i1
470	{Reserved} *t2
471	{Length} t2
472	{LSBF} t1
473	{RCK} t1
474	{BCK} t1
475	{Reserved} *t1
476	{Maximum Write Speed Supported (kBps)} i2
477	{Current Write Speed Supported (kBps)} i2
478};
479
4800x1d "Timeout and Protect" {
481	{Reserved} *i2
482	{Reserved} *t4
483	{G3Enable} t1
484	{TMOE} t1
485	{DISP} t1
486	{SWPP} t1
487	{Reserved} *i1
488	{Group 1 Minimum Timeout} i2
489	{Group 2 Minimum Timeout} i2
490	{Group 3 Timeout} i2
491};
492
4930x00 "Vendor-Specific";
494