xref: /freebsd/share/misc/scsi_modes (revision 556267531d30c65f959e924218d3d27f530eb7a9)
172c59e2dSPeter Dufault# SCSI mode page data base.
272c59e2dSPeter Dufault
372c59e2dSPeter Dufault# Copyright (c) 1995 HD Associates
4a1d80830SJoerg Wunsch# Copyright (c) 2001 The FreeBSD Project
572c59e2dSPeter Dufault# (contact: dufault@hda.com)
672c59e2dSPeter Dufault# All rights reserved.
772c59e2dSPeter Dufault#
872c59e2dSPeter Dufault# Redistribution and use in source and binary forms, with or without
972c59e2dSPeter Dufault# modification, are permitted provided that the following conditions
1072c59e2dSPeter Dufault# are met:
1172c59e2dSPeter Dufault# 1. Redistributions of source code must retain the above copyright
1272c59e2dSPeter Dufault#    notice, this list of conditions and the following disclaimer.
1372c59e2dSPeter Dufault# 2. Redistributions in binary form must reproduce the above copyright
1472c59e2dSPeter Dufault#    notice, this list of conditions and the following disclaimer in the
1572c59e2dSPeter Dufault#    documentation and/or other materials provided with the distribution.
1672c59e2dSPeter Dufault# 3. The name of HD Associates
1772c59e2dSPeter Dufault#    may not be used to endorse or promote products derived from this software
1872c59e2dSPeter Dufault#    without specific prior written permission.
1972c59e2dSPeter Dufault#
2072c59e2dSPeter Dufault# THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND
2172c59e2dSPeter Dufault# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2272c59e2dSPeter Dufault# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2372c59e2dSPeter Dufault# ARE DISCLAIMED.  IN NO EVENT SHALL HD ASSOCIATES BE LIABLE
2472c59e2dSPeter Dufault# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2572c59e2dSPeter Dufault# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2672c59e2dSPeter Dufault# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2772c59e2dSPeter Dufault# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2872c59e2dSPeter Dufault# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2972c59e2dSPeter Dufault# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3072c59e2dSPeter Dufault# SUCH DAMAGE.
317e32b20dSKelly Yancey#
327e32b20dSKelly Yancey# $FreeBSD$
337e32b20dSKelly Yancey#
3472c59e2dSPeter Dufault# The ordering is alphabetical by page name, as it appears in the SCSI spec.
3572c59e2dSPeter Dufault
3614a78063SMatt Jacob# 'i' is a byte-sized integral types, followed by a field width of
3714a78063SMatt Jacob#  1 through 4 (1 to 4 bytes).
3814a78063SMatt Jacob#
3914a78063SMatt Jacob# 'b' is a bit-sized integral type
4014a78063SMatt Jacob# 't' is a bitfield type- followed by a bit field width
4114a78063SMatt Jacob#
4214a78063SMatt Jacob# 'c' values are character arrays
4314a78063SMatt Jacob# 'z' values are null-padded strings
4414a78063SMatt Jacob#
4514a78063SMatt Jacob#
4614a78063SMatt Jacob# '*' suppresses assignment (for 'seeking').
4714a78063SMatt Jacob# Bitfields are MSB to LSB.
4814a78063SMatt Jacob
4914a78063SMatt Jacob
5072c59e2dSPeter Dufault# ALL DEVICE TYPES
5172c59e2dSPeter Dufault
527e32b20dSKelly Yancey0x0a "Control Mode Page" {
53314a2585SPeter Dufault	{Reserved} *t7
54314a2585SPeter Dufault	{RLEC} t1
55314a2585SPeter Dufault	{Queue Algorithm Modifier} t4
56314a2585SPeter Dufault	{Reserved} *t2
57314a2585SPeter Dufault	{QErr} t1
58314a2585SPeter Dufault	{DQue} t1
59314a2585SPeter Dufault	{EECA} t1
60314a2585SPeter Dufault	{Reserved} *t4
61314a2585SPeter Dufault	{RAENP} t1
62314a2585SPeter Dufault	{UAAENP} t1
63314a2585SPeter Dufault	{EAENP} t1
6472c59e2dSPeter Dufault	{Reserved} *i1
6572c59e2dSPeter Dufault	{Ready AEN Holdoff Period} i2
6672c59e2dSPeter Dufault}
6772c59e2dSPeter Dufault
687e32b20dSKelly Yancey0x02 "Disconnect-Reconnect Page" {
6972c59e2dSPeter Dufault	{Buffer Full Ratio} i1
7072c59e2dSPeter Dufault	{Buffer Empty Ratio} i1
7172c59e2dSPeter Dufault	{Bus Inactivity Limit} i2
7272c59e2dSPeter Dufault	{Disconnect Time Limit} i2
7372c59e2dSPeter Dufault	{Connect Time Limit} i2
7472c59e2dSPeter Dufault	{Maximum Burst Size} i2
75314a2585SPeter Dufault	{Reserved} *t6
76314a2585SPeter Dufault	{DTDC} t2
7772c59e2dSPeter Dufault	{Reserved} *i1
7872c59e2dSPeter Dufault	{Reserved} *i1
7972c59e2dSPeter Dufault	{Reserved} *i1
8072c59e2dSPeter Dufault}
8172c59e2dSPeter Dufault
827e32b20dSKelly Yancey0x09 "Peripheral Device Page" {
8372c59e2dSPeter Dufault	{Interface Identifier} i2
8472c59e2dSPeter Dufault	{Reserved} *i1
8572c59e2dSPeter Dufault	{Reserved} *i1
8672c59e2dSPeter Dufault	{Reserved} *i1
8772c59e2dSPeter Dufault	{Reserved} *i1
8872c59e2dSPeter Dufault}
8972c59e2dSPeter Dufault
90a1d80830SJoerg Wunsch0x1a "Power Control" {
91a1d80830SJoerg Wunsch	{Reserved} *i1
92a1d80830SJoerg Wunsch	{Reserved} *t6
93a1d80830SJoerg Wunsch	{Idle} t1
94a1d80830SJoerg Wunsch	{Standby} t1
95a1d80830SJoerg Wunsch	{Idle Condition Timer} i4
96a1d80830SJoerg Wunsch	{Standby Condition Timer} i4
97a1d80830SJoerg Wunsch}
9872c59e2dSPeter Dufault
9972c59e2dSPeter Dufault# DIRECT ACCESS DEVICES
1007e32b20dSKelly Yancey0x08 "Caching Page" {
1010ee6e540STor Egge	{IC} t1
1020ee6e540STor Egge	{ABPF} t1
1030ee6e540STor Egge	{CAP} t1
1040ee6e540STor Egge	{DISC} t1
1050ee6e540STor Egge	{SIZE} t1
106314a2585SPeter Dufault	{WCE} t1
107314a2585SPeter Dufault	{MF} t1
108314a2585SPeter Dufault	{RCD} t1
109314a2585SPeter Dufault	{Demand Retention Priority} t4
110314a2585SPeter Dufault	{Write Retention Priority} t4
11172c59e2dSPeter Dufault	{Disable Pre-fetch Transfer Length} i2
112e2fbcabdSMike Pritchard	{Minimum Pre-fetch} i2
11372c59e2dSPeter Dufault	{Maximum Pre-fetch} i2
11472c59e2dSPeter Dufault	{Maximum Pre-fetch Ceiling} i2
11572c59e2dSPeter Dufault}
11672c59e2dSPeter Dufault
1177e32b20dSKelly Yancey0x05 "Flexible Disk Page" {
11872c59e2dSPeter Dufault	{Transfer rate} i2
11972c59e2dSPeter Dufault	{Number of heads} i1
12072c59e2dSPeter Dufault	{Sectors per track} i1
12172c59e2dSPeter Dufault	{Data bytes per sector} i2
12272c59e2dSPeter Dufault	{Number of cylinders} i2
12372c59e2dSPeter Dufault	{Starting cylinder-write precompensation} i2
12472c59e2dSPeter Dufault	{Starting cylinder-reduced write current} i2
12572c59e2dSPeter Dufault	{Drive step rate} i2
12672c59e2dSPeter Dufault	{Drive step pulse width} i1
12772c59e2dSPeter Dufault	{Head settle delay} i2
12872c59e2dSPeter Dufault	{Motor on delay} i1
12972c59e2dSPeter Dufault	{Motor off delay} i1
130314a2585SPeter Dufault	{TRDY} t1
131314a2585SPeter Dufault	{SSN} t1
132314a2585SPeter Dufault	{MO} t1
133314a2585SPeter Dufault	{Reserved} *t5
134314a2585SPeter Dufault	{Reserved} *t4
135314a2585SPeter Dufault	{SPC} t4
13672c59e2dSPeter Dufault	{Write Compensation} i1
13772c59e2dSPeter Dufault	{Head load delay} i1
13872c59e2dSPeter Dufault	{Head unload delay} i1
139314a2585SPeter Dufault	{Pin 34} t4
140314a2585SPeter Dufault	{Pin 2} t4
141314a2585SPeter Dufault	{Pin 4} t4
142314a2585SPeter Dufault	{Pin 1} t4
14372c59e2dSPeter Dufault	{Medium rotation rate} i2
14472c59e2dSPeter Dufault	{Reserved} *i1
14572c59e2dSPeter Dufault	{Reserved} *i1
14672c59e2dSPeter Dufault}
14772c59e2dSPeter Dufault
1487e32b20dSKelly Yancey0x03 "Format Device Page" {
14972c59e2dSPeter Dufault	{Tracks per Zone} i2
15072c59e2dSPeter Dufault	{Alternate Sectors per Zone} i2
15172c59e2dSPeter Dufault	{Alternate Tracks per Zone} i2
15272c59e2dSPeter Dufault	{Alternate Tracks per Logical Unit} i2
15372c59e2dSPeter Dufault	{Sectors per Track} i2
15472c59e2dSPeter Dufault	{Data Bytes per Physical Sector} i2
15572c59e2dSPeter Dufault	{Interleave} i2
15672c59e2dSPeter Dufault	{Track Skew Factor} i2
15772c59e2dSPeter Dufault	{Cylinder Skew Factor} i2
158314a2585SPeter Dufault	{SSEC} t1
159314a2585SPeter Dufault	{HSEC} t1
160314a2585SPeter Dufault	{RMB} t1
161314a2585SPeter Dufault	{SURF} t1
162314a2585SPeter Dufault	{Reserved} *t4
16372c59e2dSPeter Dufault}
16472c59e2dSPeter Dufault
1657e32b20dSKelly Yancey0x0b "Medium Types Supported Page" {
16672c59e2dSPeter Dufault	{Reserved} *i1
16772c59e2dSPeter Dufault	{Reserved} *i1
16872c59e2dSPeter Dufault	{Medium type one supported} i1
16972c59e2dSPeter Dufault	{Medium type two supported} i1
17072c59e2dSPeter Dufault	{Medium type three supported} i1
17172c59e2dSPeter Dufault	{Medium type four supported} i1
17272c59e2dSPeter Dufault}
17372c59e2dSPeter Dufault
17472c59e2dSPeter Dufault# Notch page (0x0c)
1757e32b20dSKelly Yancey0x0c "Notch and Partition Page";
17672c59e2dSPeter Dufault
1777e32b20dSKelly Yancey0x01 "Read-Write Error Recovery Page" {
178314a2585SPeter Dufault	{AWRE (Auto Write Reallocation Enbld)} t1
179314a2585SPeter Dufault	{ARRE (Auto Read Reallocation Enbld)} t1
180314a2585SPeter Dufault	{TB (Transfer Block)} t1
181314a2585SPeter Dufault	{RC (Read Continuous)} t1
182314a2585SPeter Dufault	{EER (Enable Early Recovery)} t1
183314a2585SPeter Dufault	{PER (Post Error)} t1
184314a2585SPeter Dufault	{DTE (Disable Transfer on Error)} t1
185314a2585SPeter Dufault	{DCR (Disable Correction)} t1
18672c59e2dSPeter Dufault	{Read Retry Count} i1
18772c59e2dSPeter Dufault	{Correction Span} i1
18872c59e2dSPeter Dufault	{Head Offset Count} i1
18972c59e2dSPeter Dufault	{Data Strobe Offset Count} i1
19072c59e2dSPeter Dufault	{Reserved} *i1
19172c59e2dSPeter Dufault	{Write Retry Count} i1
19272c59e2dSPeter Dufault	{Reserved} *i1
19372c59e2dSPeter Dufault	{Recovery Time Limit} i2
19472c59e2dSPeter Dufault}
19572c59e2dSPeter Dufault
1967e32b20dSKelly Yancey0x04 "Rigid Disk Drive Geometry Page" {
19772c59e2dSPeter Dufault	{Number of Cylinders} i3
19872c59e2dSPeter Dufault	{Number of Heads} i1
19972c59e2dSPeter Dufault	{Starting Cylinder-Write Precompensation} i3
20072c59e2dSPeter Dufault	{Starting Cylinder-Reduced Write Current} i3
20172c59e2dSPeter Dufault	{Drive Step Rate} i2
20272c59e2dSPeter Dufault	{Landing Zone Cylinder} i3
203314a2585SPeter Dufault	{Reserved} *t6
204314a2585SPeter Dufault	{RPL} t2
20572c59e2dSPeter Dufault	{Rotational Offset} i1
20672c59e2dSPeter Dufault	{Reserved} *i1
20772c59e2dSPeter Dufault	{Medium Rotation Rate} i2
20872c59e2dSPeter Dufault	{Reserved} *i1
20972c59e2dSPeter Dufault	{Reserved} *i1
21072c59e2dSPeter Dufault}
21172c59e2dSPeter Dufault
2127e32b20dSKelly Yancey0x07 "Verify Error Recovery Page" {
213314a2585SPeter Dufault	{Reserved} *t4
214314a2585SPeter Dufault	{EER} t1
215314a2585SPeter Dufault	{PER} t1
216314a2585SPeter Dufault	{DTE} t1
217314a2585SPeter Dufault	{DCR} t1
21872c59e2dSPeter Dufault	{Verify Retry Count} i1
21972c59e2dSPeter Dufault	{Verify Correction Span} i1
22072c59e2dSPeter Dufault	{Reserved} *i1
22172c59e2dSPeter Dufault	{Reserved} *i1
22272c59e2dSPeter Dufault	{Reserved} *i1
22372c59e2dSPeter Dufault	{Reserved} *i1
22472c59e2dSPeter Dufault	{Reserved} *i1
22572c59e2dSPeter Dufault	{Verify Recovery Time Limit} i2
22672c59e2dSPeter Dufault}
227647d6579SJoerg Wunsch
2287e32b20dSKelly Yancey0x0E "CD-ROM Audio Control Parameters Page" {
229647d6579SJoerg Wunsch	{Reserved} *t5
230647d6579SJoerg Wunsch	{Immed} t1
231647d6579SJoerg Wunsch	{SOTC} t1
232647d6579SJoerg Wunsch	{Reserved} *t1
233647d6579SJoerg Wunsch	{Reserved} *i2
234647d6579SJoerg Wunsch	{APRVal} t1
235647d6579SJoerg Wunsch	{Reserved} *t3
236647d6579SJoerg Wunsch	{Format of LBAs / sec.} t4
237647d6579SJoerg Wunsch	{Logical Blocks per Second of Audio Playback} i2
238647d6579SJoerg Wunsch	{Reserved} *t4
239647d6579SJoerg Wunsch	{Output Port 0 Channel Selection} t4
240647d6579SJoerg Wunsch	{Output Port 0 Volume} i1
241647d6579SJoerg Wunsch	{Reserved} *t4
242647d6579SJoerg Wunsch	{Output Port 1 Channel Selection} t4
243647d6579SJoerg Wunsch	{Output Port 1 Volume} i1
244647d6579SJoerg Wunsch	{Reserved} *t4
245647d6579SJoerg Wunsch	{Output Port 2 Channel Selection} t4
246647d6579SJoerg Wunsch	{Output Port 2 Volume} i1
247647d6579SJoerg Wunsch	{Reserved} *t4
248647d6579SJoerg Wunsch	{Output Port 3 Channel Selection} t4
249647d6579SJoerg Wunsch	{Output Port 3 Volume} i1
250647d6579SJoerg Wunsch}
251459cd7dcSJoerg Wunsch
25214a78063SMatt Jacob# SEQUENTIAL ACCESS DEVICES
25314a78063SMatt Jacob0x10 "Device Configuration Page" {
254459cd7dcSJoerg Wunsch	{Reserved} *t1
255459cd7dcSJoerg Wunsch	{Change Active Partition} t1
256459cd7dcSJoerg Wunsch	{Change Active Format} t1
257459cd7dcSJoerg Wunsch	{Active Format} t5
258459cd7dcSJoerg Wunsch	{Active Partition} i1
259459cd7dcSJoerg Wunsch	{Write Buffer Full Ratio} i1
260459cd7dcSJoerg Wunsch	{Write Buffer Empty Ratio} i1
261459cd7dcSJoerg Wunsch	{Write Delay Time} i2
262459cd7dcSJoerg Wunsch	{Data Buffer Recovery} t1
263459cd7dcSJoerg Wunsch	{Block Identifiers Support} t1
264459cd7dcSJoerg Wunsch	{Report Setmarks} t1
2657e32b20dSKelly Yancey	{Automatic Velocity Control} t1
266459cd7dcSJoerg Wunsch	{Stop on Consecutive Filemarks} t2
267459cd7dcSJoerg Wunsch	{Recover Buffer Order} t1
268459cd7dcSJoerg Wunsch	{Report Early-Warning} t1
269459cd7dcSJoerg Wunsch	{Gap Size} i1
270459cd7dcSJoerg Wunsch	{EOD Defined} t3
271459cd7dcSJoerg Wunsch	{Enable EOD Generation} t1
272459cd7dcSJoerg Wunsch	{Synchronize at Early-Warning} t1
273459cd7dcSJoerg Wunsch	{Reserved} *t3
274459cd7dcSJoerg Wunsch	{Buffer Size at Early-Warning} i3
275459cd7dcSJoerg Wunsch	{Select Data Compression Algorithm} i1
27614a78063SMatt Jacob	{Reserved} *t5
27714a78063SMatt Jacob	{SCSI-3 Associated Write Protect} t1
27814a78063SMatt Jacob	{SCSI-3 Persistent Write Protect} t1
27914a78063SMatt Jacob	{SCSI-3 Permanent Write Protect} t1
28014a78063SMatt Jacob}
28114a78063SMatt Jacob
28214a78063SMatt Jacob0x0f "Data Compression Page" {
28314a78063SMatt Jacob	{Data Compression Enabled} t1
28414a78063SMatt Jacob	{Date Compression Capable} t1
28514a78063SMatt Jacob	{Reserved} *t6
28614a78063SMatt Jacob	{Data Decompression Capable} t1
28714a78063SMatt Jacob	{Data Decompression Report on Exception} t2
28814a78063SMatt Jacob	{Reserved} *t5
28914a78063SMatt Jacob	{Compression Algorithm} i4
29014a78063SMatt Jacob	{Decompression Algorithm} i4
29114a78063SMatt Jacob	{Reserved} *i4
292459cd7dcSJoerg Wunsch}
2937e32b20dSKelly Yancey
29455626753SJoerg Wunsch# CD-ROM (and CD-R[W]) devices
29555626753SJoerg Wunsch0x2a "CD capabilities and mechanical status page" {
29655626753SJoerg Wunsch	{Reserved} *t4
29755626753SJoerg Wunsch	{Method 2} t1
29855626753SJoerg Wunsch	{CD-RW Read} t1
29955626753SJoerg Wunsch	{CD-R Read} t1
30055626753SJoerg Wunsch	{Reserved} *t4
30155626753SJoerg Wunsch	{Test Write} t1
30255626753SJoerg Wunsch	{CD-RW Write} t1
30355626753SJoerg Wunsch	{CD-R Write} t1
30455626753SJoerg Wunsch	{Reserved} *t1
30555626753SJoerg Wunsch	{Multi Session} t1
30655626753SJoerg Wunsch	{Mode 2 Form 2} t1
30755626753SJoerg Wunsch	{Mode 2 Form 1} t1
30855626753SJoerg Wunsch	{Digital Port (2)} t1
30955626753SJoerg Wunsch	{Digital Port (1)} t1
31055626753SJoerg Wunsch	{Composite} t1
31155626753SJoerg Wunsch	{Audio Play} t1
31255626753SJoerg Wunsch	{Read Bar Code} t1
31355626753SJoerg Wunsch	{UPC} t1
31455626753SJoerg Wunsch	{ISRC} t1
31555626753SJoerg Wunsch	{C2 Pointers are supported} t1
31655626753SJoerg Wunsch	{R-W De-interleaved & corrected} t1
31755626753SJoerg Wunsch	{R-W Supported} t1
31855626753SJoerg Wunsch	{CD-DA Stream is Accurate} t1
31955626753SJoerg Wunsch	{CD-DA Commands Supported} t1
32055626753SJoerg Wunsch	{Loading Mechanism Type} t3
32155626753SJoerg Wunsch	{Reserved} *t1
32255626753SJoerg Wunsch	{Eject} t1
32355626753SJoerg Wunsch	{Prevent Jumper} t1
32455626753SJoerg Wunsch	{Lock State} t1
32555626753SJoerg Wunsch	{Lock} t1
32655626753SJoerg Wunsch	{Reserved} *t4
32755626753SJoerg Wunsch	{S/W Slot Selection} t1
32855626753SJoerg Wunsch	{Changer Supports Disc Present reporting} t1
32955626753SJoerg Wunsch	{Separate Channel Mute Supported} t1
33055626753SJoerg Wunsch	{Separate volume levels per channel} t1
33155626753SJoerg Wunsch	{Maximum Read Speed Supported (kBps)} i2
33255626753SJoerg Wunsch	{Number of Volume Leves Supported} i2
33355626753SJoerg Wunsch	{Buffer Size supported by Drive (KB)} i2
33455626753SJoerg Wunsch	{Current Read Speed Selected (kBps)} i2
33555626753SJoerg Wunsch	{Reserved} *i1
33655626753SJoerg Wunsch	{Reserved} *t2
33755626753SJoerg Wunsch	{Length} t2
33855626753SJoerg Wunsch	{LSBF} t1
33955626753SJoerg Wunsch	{RCK} t1
34055626753SJoerg Wunsch	{BCK} t1
34155626753SJoerg Wunsch	{Reserved} *t1
34255626753SJoerg Wunsch	{Maximum Write Speed Supported (kBps)} i2
34355626753SJoerg Wunsch	{Current Write Speed Supported (kBps)} i2
34455626753SJoerg Wunsch};
34555626753SJoerg Wunsch
3467e32b20dSKelly Yancey0x00 "Vendor-Specific";
347