summaryrefslogtreecommitdiff
path: root/include/ata.h
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-03-13 23:29:43 +0000
committerwdenk <wdenk>2004-03-13 23:29:43 +0000
commitc40b29568232761e33400e58be86b15a167d3422 (patch)
treec306e01e8cf535467fb448499304020d251a763a /include/ata.h
parent6629d2f22b4af180dc41defe2396bafcd8fe4093 (diff)
downloadu-boot-c40b29568232761e33400e58be86b15a167d3422.tar.gz
* Patch by Rune Torgersen, 27 Feb 2004:
- Added LBA48 support (CONFIG_LBA48 & CFG_64BIT_LBA) - Added support for 64bit printing in vsprintf (CFG_64BIT_VSPRINTF) - Added support for 64bit strtoul (CFG_64BIT_STRTOUL) * Patch by Masami Komiya, 27 Feb 2004: Fix rarpboot: add autoload by NFS * Patch by Dan Eisenhut, 26 Feb 2004: fix flash_write return value in saveenv * Patch by Stephan Linz, 11 Dec 2003 expand config.mk to avoid trigraph warnings on NIOS * Rename "BMS2003" board into "HMI10"
Diffstat (limited to 'include/ata.h')
-rw-r--r--include/ata.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/ata.h b/include/ata.h
index 719f76a2ff..d07210b137 100644
--- a/include/ata.h
+++ b/include/ata.h
@@ -106,6 +106,10 @@
#define ATA_CMD_SETF 0xEF /* Set Features */
#define ATA_CMD_CHK_PWR 0xE5 /* Check Power Mode */
+#define ATA_CMD_READ_EXT 0x24 /* Read Sectors (with retries) with 48bit addressing */
+#define ATA_CMD_WRITE_EXT 0x34 /* Write Sectores (with retries) with 48bit addressing */
+#define ATA_CMD_VRFY_EXT 0x42 /* Read Verify (with retries) with 48bit addressing */
+
/*
* ATAPI Commands
*/
@@ -192,7 +196,7 @@ typedef struct hd_driveid {
unsigned short major_rev_num; /* */
unsigned short minor_rev_num; /* */
unsigned short command_set_1; /* bits 0:Smart 1:Security 2:Removable 3:PM */
- unsigned short command_set_2; /* bits 14:Smart Enabled 13:0 zero */
+ unsigned short command_set_2; /* bits 14:Smart Enabled 13:0 zero 10:lba48 support*/
unsigned short cfsse; /* command set-feature supported extensions */
unsigned short cfs_enable_1; /* command set-feature enabled */
unsigned short cfs_enable_2; /* command set-feature enabled */
@@ -203,7 +207,10 @@ typedef struct hd_driveid {
unsigned short CurAPMvalues; /* current APM values */
unsigned short word92; /* reserved (word 92) */
unsigned short hw_config; /* hardware config */
- unsigned short words94_125[32];/* reserved words 94-125 */
+ unsigned short words94_99[6];/* reserved words 94-99 */
+ //unsigned long long lba48_capacity; /* 4 16bit values containing lba 48 total number of sectors */
+ unsigned short lba48_capacity[4]; /* 4 16bit values containing lba 48 total number of sectors */
+ unsigned short words104_125[22];/* reserved words 104-125 */
unsigned short last_lun; /* reserved (word 126) */
unsigned short word127; /* reserved (word 127) */
unsigned short dlf; /* device lock function