*/
#define HCONTROL_ONOFF 0x80000000 /* Online or offline request */
#define HCONTROL_FORCE_OFFLINE 0x40000000 /* Force offline request */
+#define HCONTROL_ENTERPRISE_EN 0x10000000 /* Enterprise mode enabled */
#define HCONTROL_HDR_SNOOP 0x00000400 /* Command header snoop */
#define HCONTROL_PMP_ATTACHED 0x00000200 /* Port multiplier attached */
/* ext_c_ddc
*/
-#define PRD_ENTRY_EXT 0x80000000 /* extension flag or called indirect descriptor flag */
-#define PRD_ENTRY_DATA_SNOOP 0x00400000 /* Snoop enable for all data associated with the PRD entry */
+#define PRD_ENTRY_EXT 0x80000000 /* extension flag */
+#ifdef CONFIG_FSL_SATA_V2
+#define PRD_ENTRY_DATA_SNOOP 0x10000000 /* Data snoop enable */
+#else
+#define PRD_ENTRY_DATA_SNOOP 0x00400000 /* Data snoop enable */
+#endif
#define PRD_ENTRY_LEN_MASK 0x003fffff /* Data word count */
#define PRD_ENTRY_MAX_XFER_SZ (PRD_ENTRY_LEN_MASK + 1)
#define SATA_HC_CMD_DESC_SIZE sizeof(struct cmd_desc)
#define SATA_HC_CMD_DESC_ALIGN 4
-/*
-* CFIS - Command FIS, which is H2D register FIS, the struct defination
-* of Non-Queued command is different than NCQ command. see them is sata2.h
-*/
-typedef struct cfis {
- u8 fis_type;
- u8 pm_port_c;
- u8 command;
- u8 features;
- u8 lba_low;
- u8 lba_mid;
- u8 lba_high;
- u8 device;
- u8 lba_low_exp;
- u8 lba_mid_exp;
- u8 lba_high_exp;
- u8 features_exp;
- u8 sector_count;
- u8 sector_count_exp;
- u8 res1;
- u8 control;
- u8 res2[4];
-} __attribute__ ((packed)) cfis_t;
-
-/*
-* SFIS - Status FIS, which is D2H register FIS.
-*/
-typedef struct sfis {
- u8 fis_type;
- u8 pm_port_i;
- u8 status;
- u8 error;
- u8 lba_low;
- u8 lba_mid;
- u8 lba_high;
- u8 device;
- u8 lba_low_exp;
- u8 lba_mid_exp;
- u8 lba_high_exp;
- u8 res1;
- u8 sector_count;
- u8 sector_count_exp;
- u8 res2[2];
- u8 res3[4];
-} __attribute__ ((packed)) sfis_t;
-
/*
* SATA device driver info
*/