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