scsi_modes revision 289914
1258945Sroberto# SCSI mode page data base.
2258945Sroberto
3258945Sroberto# Copyright (c) 1995 HD Associates
4298770Sdelphij# Copyright (c) 2001 The FreeBSD Project
5316722Sdelphij# (contact: dufault@hda.com)
6258945Sroberto# All rights reserved.
7258945Sroberto# 
8280849Scy# Redistribution and use in source and binary forms, with or without
9258945Sroberto# modification, are permitted provided that the following conditions
10258945Sroberto# are met:
11258945Sroberto# 1. Redistributions of source code must retain the above copyright
12294569Sdelphij#    notice, this list of conditions and the following disclaimer.
13258945Sroberto# 2. Redistributions in binary form must reproduce the above copyright
14258945Sroberto#    notice, this list of conditions and the following disclaimer in the
15294569Sdelphij#    documentation and/or other materials provided with the distribution.
16294569Sdelphij# 3. The name of HD Associates
17258945Sroberto#    may not be used to endorse or promote products derived from this software
18258945Sroberto#    without specific prior written permission.
19258945Sroberto# 
20258945Sroberto# THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND
21310419Sdelphij# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22258945Sroberto# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23258945Sroberto# ARE DISCLAIMED.  IN NO EVENT SHALL HD ASSOCIATES BE LIABLE
24258945Sroberto# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25258945Sroberto# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26258945Sroberto# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27258945Sroberto# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28258945Sroberto# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29258945Sroberto# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30310419Sdelphij# SUCH DAMAGE.
31310419Sdelphij#
32310419Sdelphij# $FreeBSD: head/share/misc/scsi_modes 289914 2015-10-25 03:22:21Z ngie $
33310419Sdelphij#
34310419Sdelphij# The ordering is alphabetical by page name, as it appears in the SCSI spec.
35310419Sdelphij
36310419Sdelphij# 'i' is a byte-sized integral types, followed by a field width of 
37310419Sdelphij#  1 through 4 (1 to 4 bytes).
38258945Sroberto#
39258945Sroberto# 'b' is a bit-sized integral type
40258945Sroberto# 't' is a bitfield type- followed by a bit field width
41258945Sroberto#
42294569Sdelphij# 'c' values are character arrays
43258945Sroberto# 'z' values are null-padded strings
44258945Sroberto#
45258945Sroberto#
46258945Sroberto# '*' suppresses assignment (for 'seeking').
47258945Sroberto# Bitfields are MSB to LSB.
48258945Sroberto
49294569Sdelphij
50258945Sroberto# ALL DEVICE TYPES
51258945Sroberto
52294569Sdelphij0x0a "Control Mode Page" {
53258945Sroberto	{TST} t3
54258945Sroberto	{TMF_ONLY} t1
55258945Sroberto	{DPICZ} t1
56258945Sroberto	{D_SENSE} t1
57258945Sroberto	{GLTSD} t1
58294569Sdelphij	{RLEC} t1
59280849Scy	{Queue Algorithm Modifier} t4
60258945Sroberto	{NUAR} t1
61294569Sdelphij	{QErr} t2
62294569Sdelphij	{DQue} t1
63258945Sroberto	{EECA} t1
64298770Sdelphij	{RAC} t1
65258945Sroberto	{UA_INTLCK_CTRL} t2
66298770Sdelphij	{SWP} t1
67298770Sdelphij	{RAENP} t1
68298770Sdelphij	{UAAENP} t1
69298770Sdelphij	{EAENP} t1
70298770Sdelphij	{ATO} t1
71310419Sdelphij	{TAS} t1
72258945Sroberto	{ATMPE} t1
73298770Sdelphij	{RWWP} t1
74258945Sroberto	{Reserved} *t1
75258945Sroberto	{Autoload Mode} t3
76258945Sroberto	{Ready AEN Holdoff Period} i2
77258945Sroberto	{Busy Timeout Period} i2
78258945Sroberto	{Extended Self-Test Completion Time} i2
79258945Sroberto}
80258945Sroberto
81258945Sroberto0x02 "Disconnect-Reconnect Page" {
82258945Sroberto	{Buffer Full Ratio} i1
83258945Sroberto	{Buffer Empty Ratio} i1
84258945Sroberto	{Bus Inactivity Limit} i2
85258945Sroberto	{Disconnect Time Limit} i2
86258945Sroberto	{Connect Time Limit} i2
87258945Sroberto	{Maximum Burst Size} i2
88258945Sroberto	{Reserved} *t6
89258945Sroberto	{DTDC} t2
90258945Sroberto	{Reserved} *i1
91258945Sroberto	{Reserved} *i1
92258945Sroberto	{Reserved} *i1
93258945Sroberto}
94258945Sroberto
95258945Sroberto0x15 "Extended Page";
96258945Sroberto
97258945Sroberto0x16 "Extended Device-Type Specific Page";
98258945Sroberto
99258945Sroberto0x1c "Informational Exceptions Control Page" {
100258945Sroberto	{PERF} t1
101258945Sroberto	{Reserved} *t1
102258945Sroberto	{EBF} t1
103258945Sroberto	{EWasc} t1
104258945Sroberto	{DExcpt} t1
105258945Sroberto	{TEST} t1
106258945Sroberto	{EBACKERR} t1
107258945Sroberto	{LogErr} t1
108258945Sroberto	{Reserved} *t4
109258945Sroberto	{MRIE} b4
110258945Sroberto	{Interval Timer} i4
111258945Sroberto	{Report Count} i4
112258945Sroberto}
113280849Scy
114258945Sroberto0x09 "Peripheral Device Page" {
115258945Sroberto	{Interface Identifier} i2
116258945Sroberto	{Reserved} *i1
117258945Sroberto	{Reserved} *i1
118280849Scy	{Reserved} *i1
119258945Sroberto	{Reserved} *i1
120258945Sroberto}
121258945Sroberto
122258945Sroberto0x1a "Power Condition Page" {
123258945Sroberto	{Reserved} *i1
124258945Sroberto	{Reserved} *t6
125258945Sroberto	{Idle} t1
126280849Scy	{Standby} t1
127258945Sroberto	{Idle Condition Timer} i4
128258945Sroberto	{Standby Condition Timer} i4
129258945Sroberto}
130258945Sroberto
131258945Sroberto0x18 "Protocol-Specific LUN Page";
132258945Sroberto
133258945Sroberto0x19 "Protocol-Specific Port Page";
134258945Sroberto
135258945Sroberto# DIRECT ACCESS DEVICES
136280849Scy0x08 "Caching Page" {
137258945Sroberto	{IC} t1
138258945Sroberto	{ABPF} t1
139258945Sroberto	{CAP} t1
140258945Sroberto	{DISC} t1
141258945Sroberto	{SIZE} t1
142258945Sroberto	{WCE} t1
143258945Sroberto	{MF} t1
144258945Sroberto	{RCD} t1
145258945Sroberto	{Demand Retention Priority} t4
146258945Sroberto	{Write Retention Priority} t4
147258945Sroberto	{Disable Pre-fetch Transfer Length} i2
148258945Sroberto	{Minimum Pre-fetch} i2
149258945Sroberto	{Maximum Pre-fetch} i2
150258945Sroberto	{Maximum Pre-fetch Ceiling} i2
151258945Sroberto}
152258945Sroberto
153258945Sroberto0x05 "Flexible Disk Page" {
154258945Sroberto	{Transfer rate} i2
155258945Sroberto	{Number of heads} i1
156258945Sroberto	{Sectors per track} i1
157258945Sroberto	{Data bytes per sector} i2
158258945Sroberto	{Number of cylinders} i2
159258945Sroberto	{Starting cylinder-write precompensation} i2
160258945Sroberto	{Starting cylinder-reduced write current} i2
161258945Sroberto	{Drive step rate} i2
162258945Sroberto	{Drive step pulse width} i1
163258945Sroberto	{Head settle delay} i2
164258945Sroberto	{Motor on delay} i1
165258945Sroberto	{Motor off delay} i1
166258945Sroberto	{TRDY} t1
167258945Sroberto	{SSN} t1
168258945Sroberto	{MO} t1
169258945Sroberto	{Reserved} *t5
170258945Sroberto	{Reserved} *t4
171258945Sroberto	{SPC} t4
172258945Sroberto	{Write Compensation} i1
173258945Sroberto	{Head load delay} i1
174258945Sroberto	{Head unload delay} i1
175258945Sroberto	{Pin 34} t4
176258945Sroberto	{Pin 2} t4
177258945Sroberto	{Pin 4} t4
178258945Sroberto	{Pin 1} t4
179258945Sroberto	{Medium rotation rate} i2
180258945Sroberto	{Reserved} *i1
181258945Sroberto	{Reserved} *i1
182258945Sroberto}
183258945Sroberto
184258945Sroberto0x03 "Format Device Page" {
185258945Sroberto	{Tracks per Zone} i2
186258945Sroberto	{Alternate Sectors per Zone} i2
187258945Sroberto	{Alternate Tracks per Zone} i2
188258945Sroberto	{Alternate Tracks per Logical Unit} i2
189258945Sroberto	{Sectors per Track} i2
190258945Sroberto	{Data Bytes per Physical Sector} i2
191258945Sroberto	{Interleave} i2
192258945Sroberto	{Track Skew Factor} i2
193258945Sroberto	{Cylinder Skew Factor} i2
194258945Sroberto	{SSEC} t1
195258945Sroberto	{HSEC} t1
196258945Sroberto	{RMB} t1
197258945Sroberto	{SURF} t1
198258945Sroberto	{Reserved} *t4
199258945Sroberto}
200258945Sroberto
201258945Sroberto0x0b "Medium Types Supported Page" {
202258945Sroberto	{Reserved} *i1
203258945Sroberto	{Reserved} *i1
204	{Medium type one supported} i1
205	{Medium type two supported} i1
206	{Medium type three supported} i1
207	{Medium type four supported} i1
208}
209
210# Notch page (0x0c)
2110x0c "Notch and Partition Page";
212
2130x01 "Read-Write Error Recovery Page" {
214	{AWRE (Auto Write Reallocation Enbld)} t1
215	{ARRE (Auto Read Reallocation Enbld)} t1
216	{TB (Transfer Block)} t1
217	{RC (Read Continuous)} t1
218	{EER (Enable Early Recovery)} t1
219	{PER (Post Error)} t1
220	{DTE (Disable Transfer on Error)} t1
221	{DCR (Disable Correction)} t1
222	{Read Retry Count} i1
223	{Correction Span} i1
224	{Head Offset Count} i1
225	{Data Strobe Offset Count} i1
226	{LBPERE (LBP Error Reporting Enabled)} t1
227	{Reserved} *t7
228	{Write Retry Count} i1
229	{Reserved} *i1
230	{Recovery Time Limit} i2
231}
232
2330x04 "Rigid Disk Drive Geometry Page" {
234	{Number of Cylinders} i3
235	{Number of Heads} i1
236	{Starting Cylinder-Write Precompensation} i3
237	{Starting Cylinder-Reduced Write Current} i3
238	{Drive Step Rate} i2
239	{Landing Zone Cylinder} i3
240	{Reserved} *t6
241	{RPL} t2
242	{Rotational Offset} i1
243	{Reserved} *i1
244	{Medium Rotation Rate} i2
245	{Reserved} *i1
246	{Reserved} *i1
247}
248
2490x07 "Verify Error Recovery Page" {
250	{Reserved} *t4
251	{EER} t1
252	{PER} t1
253	{DTE} t1
254	{DCR} t1
255	{Verify Retry Count} i1
256	{Verify Correction Span} i1
257	{Reserved} *i1
258	{Reserved} *i1
259	{Reserved} *i1
260	{Reserved} *i1
261	{Reserved} *i1
262	{Verify Recovery Time Limit} i2
263}
264
2650x0E "CD-ROM Audio Control Parameters Page" {
266	{Reserved} *t5
267	{Immed} t1
268	{SOTC} t1
269	{Reserved} *t1
270	{Reserved} *i2
271	{APRVal} t1
272	{Reserved} *t3
273	{Format of LBAs / sec.} t4
274	{Logical Blocks per Second of Audio Playback} i2
275	{Reserved} *t4
276	{Output Port 0 Channel Selection} t4
277	{Output Port 0 Volume} i1
278	{Reserved} *t4
279	{Output Port 1 Channel Selection} t4
280	{Output Port 1 Volume} i1
281	{Reserved} *t4
282	{Output Port 2 Channel Selection} t4
283	{Output Port 2 Volume} i1
284	{Reserved} *t4
285	{Output Port 3 Channel Selection} t4
286	{Output Port 3 Volume} i1
287}
288
289# SEQUENTIAL ACCESS DEVICES
2900x10 "Device Configuration Page" {
291	{Reserved} *t1
292	{Change Active Partition} t1
293	{Change Active Format} t1
294	{Active Format} t5
295	{Active Partition} i1
296	{Write Buffer Full Ratio} i1
297	{Write Buffer Empty Ratio} i1
298	{Write Delay Time} i2
299	{Data Buffer Recovery} t1
300	{Block Identifiers Support} t1
301	{Report Setmarks} t1
302	{Automatic Velocity Control} t1
303	{Stop on Consecutive Filemarks} t2
304	{Recover Buffer Order} t1
305	{Report Early-Warning} t1
306	{Gap Size} i1
307	{EOD Defined} t3
308	{Enable EOD Generation} t1
309	{Synchronize at Early-Warning} t1
310	{Reserved} *t3
311	{Buffer Size at Early-Warning} i3
312	{Select Data Compression Algorithm} i1
313	{Reserved} *t5
314	{SCSI-3 Associated Write Protect} t1
315	{SCSI-3 Persistent Write Protect} t1
316	{SCSI-3 Permanent Write Protect} t1
317}
318
3190x0f "Data Compression Page" {
320	{Data Compression Enabled} t1
321	{Date Compression Capable} t1
322	{Reserved} *t6
323	{Data Decompression Capable} t1
324	{Data Decompression Report on Exception} t2
325	{Reserved} *t5
326	{Compression Algorithm} i4
327	{Decompression Algorithm} i4
328	{Reserved} *i4
329}
330
331# Removable devices
3320x1b "Removable Block Access Capacities Page" {
333	{System Floppy Type Device} t1
334	{Supports Reporting Format Progress} t1
335	{Reserved} *t6
336	{Non CD Optical Device} t1
337	{Single or Multiple LUN Supported} t1
338	{Reserved} *t3
339	{Total Logical Units Supported} t3
340	{Reserved} *i8
341}
342
343# CD-ROM (and CD-R[W]) devices
3440x2a "CD capabilities and mechanical status page" {
345	{Reserved} *t4
346	{Method 2} t1
347	{CD-RW Read} t1
348	{CD-R Read} t1
349	{Reserved} *t4
350	{Test Write} t1
351	{CD-RW Write} t1
352	{CD-R Write} t1
353	{Reserved} *t1
354	{Multi Session} t1
355	{Mode 2 Form 2} t1
356	{Mode 2 Form 1} t1
357	{Digital Port (2)} t1
358	{Digital Port (1)} t1
359	{Composite} t1
360	{Audio Play} t1
361	{Read Bar Code} t1
362	{UPC} t1
363	{ISRC} t1
364	{C2 Pointers are supported} t1
365	{R-W De-interleaved & corrected} t1
366	{R-W Supported} t1
367	{CD-DA Stream is Accurate} t1
368	{CD-DA Commands Supported} t1
369	{Loading Mechanism Type} t3
370	{Reserved} *t1
371	{Eject} t1
372	{Prevent Jumper} t1
373	{Lock State} t1
374	{Lock} t1
375	{Reserved} *t4
376	{S/W Slot Selection} t1
377	{Changer Supports Disc Present reporting} t1
378	{Separate Channel Mute Supported} t1
379	{Separate volume levels per channel} t1
380	{Maximum Read Speed Supported (kBps)} i2
381	{Number of Volume Leves Supported} i2
382	{Buffer Size supported by Drive (KB)} i2
383	{Current Read Speed Selected (kBps)} i2
384	{Reserved} *i1
385	{Reserved} *t2
386	{Length} t2
387	{LSBF} t1
388	{RCK} t1
389	{BCK} t1
390	{Reserved} *t1
391	{Maximum Write Speed Supported (kBps)} i2
392	{Current Write Speed Supported (kBps)} i2
393};
394
3950x00 "Vendor-Specific";
396