root/usr/src/uts/common/sys/scsi/adapters/pmcs/ata8-acs.h
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */
/*
 * ATA8-ACS Definitions (subset) Working Draft AT Attachment 8 - ATA/ATAPI
 * Command Set (D1699r4c)
 */
#ifndef _ATA8_ACS_H
#define _ATA8_ACS_H
#ifdef  __cplusplus
extern "C" {
#endif

/*
 * ATA Command Set
 */
enum ata_opcode {
        ATA_NOP                                 = 0x00,
        CFA_REQUEST_EXTENDED_ERROR              = 0x03,
        DEVICE_RESET                            = 0x08,
        READ_SECTORS                            = 0x20,
        READ_SECTORS_EXT                        = 0x24,
        READ_DMA_EXT                            = 0x25,
        READ_DMA_QUEUED_EXT                     = 0x26,
        READ_NATIVE_MAX_ADDRESS_EXT             = 0x27,
        READ_MULTIPLE_EXT                       = 0x29,
        READ_STREAM_DMA_EXT                     = 0x2A,
        READ_STREAM_EXT                         = 0x2B,
        READ_LOG_EXT                            = 0x2F,
        WRITE_SECTORS                           = 0x30,
        WRITE_SECTORS_EXT                       = 0x34,
        WRITE_DMA_EXT                           = 0x35,
        WRITE_DMA_QUEUED_EXT                    = 0x36,
        SET_MAX_ADDRESS_EXT                     = 0x37,
        CFA_WRITE_SECTORS_WITHOUT_ERASE         = 0x38,
        WRITE_MULTIPLE_EXT                      = 0x39,
        WRITE_STREAM_DMA_EXT                    = 0x3A,
        WRITE_STREAM_EXT                        = 0x3B,
        WRITE_DMA_FUA_EXT                       = 0x3D,
        WRITE_DMA_QUEUED_FUA_EXT                = 0x3E,
        WRITE_LOG_EXT                           = 0x3F,
        READ_VERIFY_SECTORS                     = 0x40,
        READ_VERIFY_SECTORS_EXT                 = 0x42,
        WRITE_UNCORRECTABLE_EXT                 = 0x45,
        READ_LOG_DMA_EXT                        = 0x47,
        CONFIGURE_STREAM                        = 0x51,
        WRITE_LOG_DMA_EXT                       = 0x57,
        TRUSTED_NON_DATA                        = 0x5B,
        TRUSTED_RECEIVE                         = 0x5C,
        TRUSTED_RECEIVE_DMA                     = 0x5D,
        TRUSTED_SEND                            = 0x5E,
        TRUSTED_SEND_DMA                        = 0x5E,
        READ_FPDMA_QUEUED                       = 0x60,
        WRITE_FPDMA_QUEUED                      = 0x61,
        CFA_TRANSLATE_SECTOR                    = 0x87,
        EXECUTE_DEVICE_DIAGNOSTIC               = 0x90,
        DOWNLOAD_MICROCODE                      = 0x92,
        PACKET                                  = 0xA0,
        IDENTIFY_PACKET_DEVICE                  = 0xA1,
        SERVICE                                 = 0xA2,
        SMART                                   = 0xB0,
        DEVICE_CONFIGURATION_OVERLAY            = 0xB1,
        NV_CACHE                                = 0xB6,
        CFA_ERASE_SECTORS                       = 0xC0,
        READ_MULTIPLE                           = 0xC4,
        WRITE_MULTIPLE                          = 0xC5,
        SET_MULTIPLE_MODE                       = 0xC6,
        READ_DMA_QUEUED                         = 0xC7,
        READ_DMA                                = 0xC8,
        WRITE_DMA                               = 0xCA,
        WRITE_DMA_QUEUED                        = 0xCC,
        CFA_WRITE_MULTIPLE_WITHOUT_ERASE        = 0xCD,
        WRITE_MULTIPLE_FUA_EXT                  = 0xCE,
        CHECK_MEDIA_CARD_TYPE                   = 0xD1,
        STANDBY_IMMEDIATE                       = 0xE0,
        IDLE_IMMEDIATE                          = 0xE1,
        STANDBY                                 = 0xE2,
        IDLE                                    = 0xE3,
        ATA_READ_BUFFER                         = 0xE4,
        CHECK_POWER_MODE                        = 0xE5,
        SLEEP                                   = 0xE6,
        FLUSH_CACHE                             = 0xE7,
        ATA_WRITE_BUFFER                        = 0xE8,
        FLUSH_CACHE_EXT                         = 0xEA,
        IDENTIFY_DEVICE                         = 0xEC,
        MEDIA_EJECT                             = 0xED,
        SET_FEATURES                            = 0xEF,
        SECURITY_SET_PASSWORD                   = 0xF1,
        SECURITY_UNLOCK                         = 0xF2,
        SECURITY_ERASE_PREPARE                  = 0xF3,
        SECURITY_ERASE_UNIT                     = 0xF4,
        SECURITY_FREEZE_LOCK                    = 0xF5,
        SECURITY_DISABLE_PASSWORD               = 0xF6,
        READ_NATIVE_MAX_ADDRESS                 = 0xF8,
        SET_MAX_ADDRESS                         = 0xF9
};

#ifdef  __cplusplus
}
#endif
#endif  /* _ATA8_ACS_H */