18146Sdufault# SCSI mode page data base.
28146Sdufault
38146Sdufault# Copyright (c) 1995 HD Associates
476999Sjoerg# Copyright (c) 2001 The FreeBSD Project
58146Sdufault# (contact: dufault@hda.com)
68146Sdufault# All rights reserved.
78146Sdufault# 
88146Sdufault# Redistribution and use in source and binary forms, with or without
98146Sdufault# modification, are permitted provided that the following conditions
108146Sdufault# are met:
118146Sdufault# 1. Redistributions of source code must retain the above copyright
128146Sdufault#    notice, this list of conditions and the following disclaimer.
138146Sdufault# 2. Redistributions in binary form must reproduce the above copyright
148146Sdufault#    notice, this list of conditions and the following disclaimer in the
158146Sdufault#    documentation and/or other materials provided with the distribution.
168146Sdufault# 3. The name of HD Associates
178146Sdufault#    may not be used to endorse or promote products derived from this software
188146Sdufault#    without specific prior written permission.
198146Sdufault# 
208146Sdufault# THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES ``AS IS'' AND
218146Sdufault# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
228146Sdufault# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
238146Sdufault# ARE DISCLAIMED.  IN NO EVENT SHALL HD ASSOCIATES BE LIABLE
248146Sdufault# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
258146Sdufault# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
268146Sdufault# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
278146Sdufault# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
288146Sdufault# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
298146Sdufault# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
308146Sdufault# SUCH DAMAGE.
3164382Skbyanc#
3264382Skbyanc# $FreeBSD: stable/10/share/misc/scsi_modes 313444 2017-02-08 16:01:14Z mav $
3364382Skbyanc#
348146Sdufault# The ordering is alphabetical by page name, as it appears in the SCSI spec.
358146Sdufault
3667817Smjacob# 'i' is a byte-sized integral types, followed by a field width of 
3767817Smjacob#  1 through 4 (1 to 4 bytes).
3867817Smjacob#
3967817Smjacob# 'b' is a bit-sized integral type
4067817Smjacob# 't' is a bitfield type- followed by a bit field width
4167817Smjacob#
4267817Smjacob# 'c' values are character arrays
4367817Smjacob# 'z' values are null-padded strings
4467817Smjacob#
4567817Smjacob#
4667817Smjacob# '*' suppresses assignment (for 'seeking').
4767817Smjacob# Bitfields are MSB to LSB.
4867817Smjacob
4967817Smjacob
508146Sdufault# ALL DEVICE TYPES
518146Sdufault
52312567Smav0x0a,0x03 "Command Duration Limit A";
53312567Smav
54312567Smav0x0a,0x04 "Command Duration Limit B";
55312567Smav
56312567Smav0x0a "Control" {
57225950Sken	{TST} t3
58225950Sken	{TMF_ONLY} t1
59225950Sken	{DPICZ} t1
60225950Sken	{D_SENSE} t1
61225950Sken	{GLTSD} t1
628299Sdufault	{RLEC} t1
638299Sdufault	{Queue Algorithm Modifier} t4
64225950Sken	{NUAR} t1
65225950Sken	{QErr} t2
668299Sdufault	{DQue} t1
678299Sdufault	{EECA} t1
68225950Sken	{RAC} t1
69225950Sken	{UA_INTLCK_CTRL} t2
70225950Sken	{SWP} t1
718299Sdufault	{RAENP} t1
728299Sdufault	{UAAENP} t1
738299Sdufault	{EAENP} t1
74225950Sken	{ATO} t1
75225950Sken	{TAS} t1
76225950Sken	{ATMPE} t1
77225950Sken	{RWWP} t1
78312530Smav	{SBLP (Supported Block Lengths and Protection)} t1
79225950Sken	{Autoload Mode} t3
808146Sdufault	{Ready AEN Holdoff Period} i2
81225950Sken	{Busy Timeout Period} i2
82225950Sken	{Extended Self-Test Completion Time} i2
838146Sdufault}
848146Sdufault
85312567Smav0x0a,0x01 "Control Extension" {
86312567Smav	{Reserved} *t4
87312567Smav	{DLC} t1
88312567Smav	{TCMOS} t1
89312567Smav	{SCSIP} t1
90312567Smav	{IALUAE} t1
91312567Smav	{Reserved} *t4
92312567Smav	{Initial Command Priority} t4
93312567Smav	{Maximum Sense Data Length} i1
94312567Smav}
95312567Smav
96312567Smav0x02 "Disconnect-Reconnect" {
978146Sdufault	{Buffer Full Ratio} i1
988146Sdufault	{Buffer Empty Ratio} i1
998146Sdufault	{Bus Inactivity Limit} i2
1008146Sdufault	{Disconnect Time Limit} i2
1018146Sdufault	{Connect Time Limit} i2
1028146Sdufault	{Maximum Burst Size} i2
1038299Sdufault	{Reserved} *t6
1048299Sdufault	{DTDC} t2
1058146Sdufault	{Reserved} *i1
1068146Sdufault	{Reserved} *i1
1078146Sdufault	{Reserved} *i1
1088146Sdufault}
1098146Sdufault
110312567Smav0x15 "Extended";
111234376Smav
112312567Smav0x16 "Extended Device-Type Specific";
113234376Smav
114312567Smav0x09 "Peripheral Device" {
1158146Sdufault	{Interface Identifier} i2
1168146Sdufault	{Reserved} *i1
1178146Sdufault	{Reserved} *i1
1188146Sdufault	{Reserved} *i1
1198146Sdufault	{Reserved} *i1
1208146Sdufault}
1218146Sdufault
122312567Smav0x1a "Power Condition" {
123312567Smav	{PM_BG_PRECEDENCE} t1
12476999Sjoerg	{Reserved} *t6
125312567Smav	{STANDBY_Y} t1
126312567Smav	{Reserved} *t4
127312567Smav	{IDLE_C} t1
128312567Smav	{IDLE_B} t1
129312567Smav	{IDLE_A} t1
130312567Smav	{STANDBY_Z} t1
131312567Smav	{IDLE_A Condition Timer} i4
132312567Smav	{STANDBY_Z Condition Timer} i4
133312567Smav	{IDLE_B Condition Timer} i4
134312567Smav	{IDLE_C Condition Timer} i4
135312567Smav	{STANDBY_Y Condition Timer} i4
136312567Smav	{Reserved} *i4
137312567Smav	{Reserved} *i4
138312567Smav	{Reserved} *i4
139312567Smav	{Reserved} *i3
140312567Smav	{CCF Idle} t2
141312567Smav	{CCF Standby} t2
142312567Smav	{CCF Stopped} t2
143312567Smav	{Reserved} *t2
14476999Sjoerg}
1458146Sdufault
146312567Smav0x1a,0x01 "Power Consumption" {
147312567Smav	{Reserved} *i2
148312567Smav	{Reserved} *t6
149312567Smav	{Active Level} t2
150312567Smav	{Power Consumption Identifier} i1
151312567Smav	{Reserved} *i4
152312567Smav	{Reserved} *i4
153312567Smav}
154234376Smav
155312567Smav0x18 "Protocol-Specific Logical Unit";
156234376Smav
157312567Smav0x19 "Protocol-Specific Port";
158312567Smav
1598146Sdufault# DIRECT ACCESS DEVICES
160312567Smav
161312567Smav0x0a,0x02 "Application Tag";
162312567Smav
163312567Smav0x1a,0xf1 "ATA Power Condition";
164312567Smav
165312567Smav0x1c,0x01 "Background Control" {
166312567Smav	{Reserved} *t5
167312567Smav	{S_L_FULL} *t1
168312567Smav	{LOWIR} *t1
169312567Smav	{EN_BMS} *t1
170312567Smav	{Reserved} *t7
171312567Smav	{EN_PS} *t1
172312567Smav	{Background Medium Scan Interval Time} i2
173312567Smav	{Background Pre-Scan Time Limit} i2
174312567Smav	{Minimum Idle Time Before Background Scan} i2
175312567Smav	{Maximum Time To Suspend Background Scan} i2
176312567Smav	{Reserved} *i2
177312567Smav}
178312567Smav
179312567Smav0x0a,0x06 "Background Operation Control" {
180312567Smav	{BO_MODE} t2
181312567Smav	{Reserved} *t6
182312567Smav}
183312567Smav
184312567Smav0x08 "Caching" {
18531562Stegge	{IC} t1
18631562Stegge	{ABPF} t1
18731562Stegge	{CAP} t1
18831562Stegge	{DISC} t1
18931562Stegge	{SIZE} t1
1908299Sdufault	{WCE} t1
1918299Sdufault	{MF} t1
1928299Sdufault	{RCD} t1
1938299Sdufault	{Demand Retention Priority} t4
1948299Sdufault	{Write Retention Priority} t4
1958146Sdufault	{Disable Pre-fetch Transfer Length} i2
19617766Smpp	{Minimum Pre-fetch} i2
1978146Sdufault	{Maximum Pre-fetch} i2
1988146Sdufault	{Maximum Pre-fetch Ceiling} i2
199312530Smav	{FSW (Force Sequential Write)} t1
200312530Smav	{LBCSS (Logical Block Cache Segment Size)} t1
201312530Smav	{DRA (Disable Read-Ahead)} t1
202312530Smav	{Vendor Specific} t2
203312530Smav	{SYNC_PROG} t1
204312530Smav	{NV_DIS} t1
205312530Smav	{Number of Cache Segments} i1
206312530Smav	{Cache Segment Size} i2
207312530Smav	{Reserved} *t4
2088146Sdufault}
2098146Sdufault
210312567Smav0x05 "Flexible Disk" {
2118146Sdufault	{Transfer rate} i2
2128146Sdufault	{Number of heads} i1
2138146Sdufault	{Sectors per track} i1
2148146Sdufault	{Data bytes per sector} i2
2158146Sdufault	{Number of cylinders} i2
2168146Sdufault	{Starting cylinder-write precompensation} i2
2178146Sdufault	{Starting cylinder-reduced write current} i2
2188146Sdufault	{Drive step rate} i2
2198146Sdufault	{Drive step pulse width} i1
2208146Sdufault	{Head settle delay} i2
2218146Sdufault	{Motor on delay} i1
2228146Sdufault	{Motor off delay} i1
2238299Sdufault	{TRDY} t1
2248299Sdufault	{SSN} t1
2258299Sdufault	{MO} t1
2268299Sdufault	{Reserved} *t5
2278299Sdufault	{Reserved} *t4
2288299Sdufault	{SPC} t4
2298146Sdufault	{Write Compensation} i1
2308146Sdufault	{Head load delay} i1
2318146Sdufault	{Head unload delay} i1
2328299Sdufault	{Pin 34} t4
2338299Sdufault	{Pin 2} t4
2348299Sdufault	{Pin 4} t4
2358299Sdufault	{Pin 1} t4
2368146Sdufault	{Medium rotation rate} i2
2378146Sdufault	{Reserved} *i1
2388146Sdufault	{Reserved} *i1
2398146Sdufault}
2408146Sdufault
241312567Smav0x03 "Format Device" {
2428146Sdufault	{Tracks per Zone} i2
2438146Sdufault	{Alternate Sectors per Zone} i2
2448146Sdufault	{Alternate Tracks per Zone} i2
2458146Sdufault	{Alternate Tracks per Logical Unit} i2
2468146Sdufault	{Sectors per Track} i2
2478146Sdufault	{Data Bytes per Physical Sector} i2
2488146Sdufault	{Interleave} i2
2498146Sdufault	{Track Skew Factor} i2
2508146Sdufault	{Cylinder Skew Factor} i2
2518299Sdufault	{SSEC} t1
2528299Sdufault	{HSEC} t1
2538299Sdufault	{RMB} t1
2548299Sdufault	{SURF} t1
2558299Sdufault	{Reserved} *t4
2568146Sdufault}
2578146Sdufault
258312567Smav0x0a,0x05 "I/O Advice Hints Grouping";
259312567Smav
260312567Smav0x1c "Informational Exceptions Control" {
261312567Smav	{PERF} t1
262312567Smav	{Reserved} *t1
263312567Smav	{EBF} t1
264312567Smav	{EWasc} t1
265312567Smav	{DExcpt} t1
266312567Smav	{TEST} t1
267312567Smav	{EBACKERR} t1
268312567Smav	{LogErr} t1
269312567Smav	{Reserved} *t4
270312567Smav	{MRIE} t4
271312567Smav	{Interval Timer} i4
272312567Smav	{Report Count} i4
273312567Smav}
274312567Smav
275312567Smav0x1c,0x02 "Logical Block Provisioning" {
276312567Smav	{Reserved} *t7
277312567Smav	{SITUA} t1
2788146Sdufault	{Reserved} *i1
2798146Sdufault	{Reserved} *i1
280312567Smav	{Reserved} *i1
281312567Smav	{Reserved} *i4
282312567Smav	{Reserved} *i4
283312567Smav}
284312567Smav
285312567Smav0x0b "Medium Types Supported" {
286312567Smav	{Reserved} *i1
287312567Smav	{Reserved} *i1
2888146Sdufault	{Medium type one supported} i1
2898146Sdufault	{Medium type two supported} i1
2908146Sdufault	{Medium type three supported} i1
2918146Sdufault	{Medium type four supported} i1
2928146Sdufault}
2938146Sdufault
294312567Smav0x0c "Notch and Partition";
2958146Sdufault
296312567Smav0x0a,0xf1 "PATA Control";
297312567Smav
298312567Smav0x01 "Read-Write Error Recovery" {
2998299Sdufault	{AWRE (Auto Write Reallocation Enbld)} t1
3008299Sdufault	{ARRE (Auto Read Reallocation Enbld)} t1
3018299Sdufault	{TB (Transfer Block)} t1
3028299Sdufault	{RC (Read Continuous)} t1
3038299Sdufault	{EER (Enable Early Recovery)} t1
3048299Sdufault	{PER (Post Error)} t1
3058299Sdufault	{DTE (Disable Transfer on Error)} t1
3068299Sdufault	{DCR (Disable Correction)} t1
3078146Sdufault	{Read Retry Count} i1
3088146Sdufault	{Correction Span} i1
3098146Sdufault	{Head Offset Count} i1
3108146Sdufault	{Data Strobe Offset Count} i1
311273325Smav	{LBPERE (LBP Error Reporting Enabled)} t1
312312530Smav	{MWR (Misaligned Write Reporting)} t2
313312530Smav	{Reserved} *t5
3148146Sdufault	{Write Retry Count} i1
3158146Sdufault	{Reserved} *i1
3168146Sdufault	{Recovery Time Limit} i2
3178146Sdufault}
3188146Sdufault
319312567Smav0x04 "Rigid Disk Drive Geometry" {
3208146Sdufault	{Number of Cylinders} i3
3218146Sdufault	{Number of Heads} i1
3228146Sdufault	{Starting Cylinder-Write Precompensation} i3
3238146Sdufault	{Starting Cylinder-Reduced Write Current} i3
3248146Sdufault	{Drive Step Rate} i2
3258146Sdufault	{Landing Zone Cylinder} i3
3268299Sdufault	{Reserved} *t6
3278299Sdufault	{RPL} t2
3288146Sdufault	{Rotational Offset} i1
3298146Sdufault	{Reserved} *i1
3308146Sdufault	{Medium Rotation Rate} i2
3318146Sdufault	{Reserved} *i1
3328146Sdufault	{Reserved} *i1
3338146Sdufault}
3348146Sdufault
335312567Smav0x07 "Verify Error Recovery" {
3368299Sdufault	{Reserved} *t4
3378299Sdufault	{EER} t1
3388299Sdufault	{PER} t1
3398299Sdufault	{DTE} t1
3408299Sdufault	{DCR} t1
3418146Sdufault	{Verify Retry Count} i1
3428146Sdufault	{Verify Correction Span} i1
3438146Sdufault	{Reserved} *i1
3448146Sdufault	{Reserved} *i1
3458146Sdufault	{Reserved} *i1
3468146Sdufault	{Reserved} *i1
3478146Sdufault	{Reserved} *i1
3488146Sdufault	{Verify Recovery Time Limit} i2
3498146Sdufault}
35013077Sjoerg
351312567Smav0x0E "CD-ROM Audio Control Parameters" {
35213077Sjoerg	{Reserved} *t5
35313077Sjoerg	{Immed} t1
35413077Sjoerg	{SOTC} t1
35513077Sjoerg	{Reserved} *t1
35613077Sjoerg	{Reserved} *i2
35713077Sjoerg	{APRVal} t1
35813077Sjoerg	{Reserved} *t3
35913077Sjoerg	{Format of LBAs / sec.} t4
36013077Sjoerg	{Logical Blocks per Second of Audio Playback} i2
36113077Sjoerg	{Reserved} *t4
36213077Sjoerg	{Output Port 0 Channel Selection} t4
36313077Sjoerg	{Output Port 0 Volume} i1
36413077Sjoerg	{Reserved} *t4
36513077Sjoerg	{Output Port 1 Channel Selection} t4
36613077Sjoerg	{Output Port 1 Volume} i1
36713077Sjoerg	{Reserved} *t4
36813077Sjoerg	{Output Port 2 Channel Selection} t4
36913077Sjoerg	{Output Port 2 Volume} i1
37013077Sjoerg	{Reserved} *t4
37113077Sjoerg	{Output Port 3 Channel Selection} t4
37213077Sjoerg	{Output Port 3 Volume} i1
37313077Sjoerg}
37421812Sjoerg
37567817Smjacob# SEQUENTIAL ACCESS DEVICES
376312567Smav0x10 "Device Configuration" {
37721812Sjoerg	{Reserved} *t1
37821812Sjoerg	{Change Active Partition} t1
37921812Sjoerg	{Change Active Format} t1
38021812Sjoerg	{Active Format} t5
38121812Sjoerg	{Active Partition} i1
38221812Sjoerg	{Write Buffer Full Ratio} i1
38321812Sjoerg	{Write Buffer Empty Ratio} i1
38421812Sjoerg	{Write Delay Time} i2
38521812Sjoerg	{Data Buffer Recovery} t1
38621812Sjoerg	{Block Identifiers Support} t1
38721812Sjoerg	{Report Setmarks} t1
38864382Skbyanc	{Automatic Velocity Control} t1
38921812Sjoerg	{Stop on Consecutive Filemarks} t2
39021812Sjoerg	{Recover Buffer Order} t1
39121812Sjoerg	{Report Early-Warning} t1
39221812Sjoerg	{Gap Size} i1
39321812Sjoerg	{EOD Defined} t3
39421812Sjoerg	{Enable EOD Generation} t1
39521812Sjoerg	{Synchronize at Early-Warning} t1
39621812Sjoerg	{Reserved} *t3
39721812Sjoerg	{Buffer Size at Early-Warning} i3
39821812Sjoerg	{Select Data Compression Algorithm} i1
39967817Smjacob	{Reserved} *t5
40067817Smjacob	{SCSI-3 Associated Write Protect} t1
40167817Smjacob	{SCSI-3 Persistent Write Protect} t1
40267817Smjacob	{SCSI-3 Permanent Write Protect} t1
40321812Sjoerg}
40464382Skbyanc
405312567Smav0x0f "Data Compression" {
40667817Smjacob	{Data Compression Enabled} t1
40767817Smjacob	{Date Compression Capable} t1
40867817Smjacob	{Reserved} *t6
40967817Smjacob	{Data Decompression Capable} t1
41067817Smjacob	{Data Decompression Report on Exception} t2
41167817Smjacob	{Reserved} *t5
41267817Smjacob	{Compression Algorithm} i4
41367817Smjacob	{Decompression Algorithm} i4
41467817Smjacob	{Reserved} *i4
41567817Smjacob}
41667817Smjacob
417136422Sbms# Removable devices
418312567Smav0x1b "Removable Block Access Capacities" {
419136422Sbms	{System Floppy Type Device} t1
420136422Sbms	{Supports Reporting Format Progress} t1
421136422Sbms	{Reserved} *t6
422136422Sbms	{Non CD Optical Device} t1
423136422Sbms	{Single or Multiple LUN Supported} t1
424136422Sbms	{Reserved} *t3
425136422Sbms	{Total Logical Units Supported} t3
426136422Sbms	{Reserved} *i8
427136422Sbms}
428136422Sbms
42991196Sjoerg# CD-ROM (and CD-R[W]) devices
430312567Smav0x2a "CD capabilities and mechanical status" {
43191196Sjoerg	{Reserved} *t4
43291196Sjoerg	{Method 2} t1
43391196Sjoerg	{CD-RW Read} t1
43491196Sjoerg	{CD-R Read} t1
43591196Sjoerg	{Reserved} *t4
43691196Sjoerg	{Test Write} t1
43791196Sjoerg	{CD-RW Write} t1
43891196Sjoerg	{CD-R Write} t1
43991196Sjoerg	{Reserved} *t1
44091196Sjoerg	{Multi Session} t1
44191196Sjoerg	{Mode 2 Form 2} t1
44291196Sjoerg	{Mode 2 Form 1} t1
44391196Sjoerg	{Digital Port (2)} t1
44491196Sjoerg	{Digital Port (1)} t1
44591196Sjoerg	{Composite} t1
44691196Sjoerg	{Audio Play} t1
44791196Sjoerg	{Read Bar Code} t1
44891196Sjoerg	{UPC} t1
44991196Sjoerg	{ISRC} t1
45091196Sjoerg	{C2 Pointers are supported} t1
45191196Sjoerg	{R-W De-interleaved & corrected} t1
45291196Sjoerg	{R-W Supported} t1
45391196Sjoerg	{CD-DA Stream is Accurate} t1
45491196Sjoerg	{CD-DA Commands Supported} t1
45591196Sjoerg	{Loading Mechanism Type} t3
45691196Sjoerg	{Reserved} *t1
45791196Sjoerg	{Eject} t1
45891196Sjoerg	{Prevent Jumper} t1
45991196Sjoerg	{Lock State} t1
46091196Sjoerg	{Lock} t1
46191196Sjoerg	{Reserved} *t4
46291196Sjoerg	{S/W Slot Selection} t1
46391196Sjoerg	{Changer Supports Disc Present reporting} t1
46491196Sjoerg	{Separate Channel Mute Supported} t1
46591196Sjoerg	{Separate volume levels per channel} t1
46691196Sjoerg	{Maximum Read Speed Supported (kBps)} i2
46791196Sjoerg	{Number of Volume Leves Supported} i2
46891196Sjoerg	{Buffer Size supported by Drive (KB)} i2
46991196Sjoerg	{Current Read Speed Selected (kBps)} i2
47091196Sjoerg	{Reserved} *i1
47191196Sjoerg	{Reserved} *t2
47291196Sjoerg	{Length} t2
47391196Sjoerg	{LSBF} t1
47491196Sjoerg	{RCK} t1
47591196Sjoerg	{BCK} t1
47691196Sjoerg	{Reserved} *t1
47791196Sjoerg	{Maximum Write Speed Supported (kBps)} i2
47891196Sjoerg	{Current Write Speed Supported (kBps)} i2
47991196Sjoerg};
48091196Sjoerg
481313444Smav0x1d "Timeout and Protect" {
482313444Smav	{Reserved} *i2
483313444Smav	{Reserved} *t4
484313444Smav	{G3Enable} t1
485313444Smav	{TMOE} t1
486313444Smav	{DISP} t1
487313444Smav	{SWPP} t1
488313444Smav	{Reserved} *i1
489313444Smav	{Group 1 Minimum Timeout} i2
490313444Smav	{Group 2 Minimum Timeout} i2
491313444Smav	{Group 3 Timeout} i2
492313444Smav};
493313444Smav
49464382Skbyanc0x00 "Vendor-Specific";
495