
This patch adds some missing defines to libata. Add check power mode command. Add obsoleted bits in dev reg Add ata command register defines
Signed-off-by: Tor Krill tor@excito.com --- include/libata.h | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/include/libata.h b/include/libata.h index aedba74..b50af9b 100644 --- a/include/libata.h +++ b/include/libata.h @@ -30,6 +30,7 @@ enum ata_cmd { /* non-NCQ command */ ATA_CMD_DEV_RESET = 0x08, /* ATAPI device reset */ + ATA_CMD_CHK_POWER = 0xE5, /* check power mode */ ATA_CMD_FLUSH_CACHE = 0xE7, ATA_CMD_FLUSH_CACHE_EXT = 0xEA, ATA_CMD_ID_ATA = 0xEC, @@ -110,6 +111,7 @@ enum { ATA_HOB = (1 << 7), /* LBA48 selector */ ATA_NIEN = (1 << 1), /* disable-irq flag */ ATA_LBA = (1 << 6), /* LBA28 selector */ + ATA_DEVICE_OBS = (1 << 7) | (1 << 5), /* obs bits in dev reg */ ATA_DEV1 = (1 << 4), /* Select Device 1 (slave) */ ATA_BUSY = (1 << 7), /* BSY status bit */ ATA_DRDY = (1 << 6), /* device ready */ @@ -156,6 +158,26 @@ enum { ATA_UDMA7 = ATA_UDMA6 | (1 << 7), };
+/* ATA command block registers */ +enum ata_regs { + ATA_REG_DATA = 0x00, + ATA_REG_ERR = 0x01, + ATA_REG_NSECT = 0x02, + ATA_REG_LBAL = 0x03, + ATA_REG_LBAM = 0x04, + ATA_REG_LBAH = 0x05, + ATA_REG_DEVICE = 0x06, + ATA_REG_STATUS = 0x07, + ATA_PCI_CTL_OFS = 0x02, + /* and their aliases */ + ATA_REG_FEATURE = ATA_REG_ERR, + ATA_REG_CMD = ATA_REG_STATUS, + ATA_REG_BYTEL = ATA_REG_LBAM, + ATA_REG_BYTEH = ATA_REG_LBAH, + ATA_REG_DEVSEL = ATA_REG_DEVICE, + ATA_REG_IRQ = ATA_REG_NSECT, +}; + #define ata_id_is_ata(id) (((id)[0] & (1 << 15)) == 0) #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) #define ata_id_has_fua(id) ((id)[84] & (1 << 6))