Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / drivers / block / ata_piix.h
diff --git a/qemu/roms/u-boot/drivers/block/ata_piix.h b/qemu/roms/u-boot/drivers/block/ata_piix.h
new file mode 100644 (file)
index 0000000..6c68ea2
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef __ATA_PIIX_H__
+#define __ATA_PIIX_H__
+
+struct sata_ioports {
+       unsigned long cmd_addr;
+       unsigned long data_addr;
+       unsigned long error_addr;
+       unsigned long feature_addr;
+       unsigned long nsect_addr;
+       unsigned long lbal_addr;
+       unsigned long lbam_addr;
+       unsigned long lbah_addr;
+       unsigned long device_addr;
+       unsigned long status_addr;
+       unsigned long command_addr;
+       unsigned long altstatus_addr;
+       unsigned long ctl_addr;
+       unsigned long bmdma_addr;
+       unsigned long scr_addr;
+};
+
+struct sata_port {
+       unsigned char port_no;          /* primary=0, secondary=1       */
+       struct sata_ioports ioaddr;     /* ATA cmd/ctl/dma reg blks     */
+       unsigned char ctl_reg;
+       unsigned char last_ctl;
+       unsigned char port_state;       /* 1-port is available and      */
+                                       /* 0-port is not available      */
+       unsigned char dev_mask;
+};
+
+/***********SATA LIBRARY SPECIFIC DEFINITIONS AND DECLARATIONS**************/
+#ifdef SATA_DECL               /* SATA library specific declarations */
+inline void ata_dump_id(u16 *id)
+{
+       debug("49 = 0x%04x  "
+               "53 = 0x%04x  "
+               "63 = 0x%04x  "
+               "64 = 0x%04x  "
+               "75 = 0x%04x\n", id[49], id[53], id[63], id[64], id[75]);
+       debug("80 = 0x%04x  "
+               "81 = 0x%04x  "
+               "82 = 0x%04x  "
+               "83 = 0x%04x  "
+               "84 = 0x%04x\n", id[80], id[81], id[82], id[83], id[84]);
+       debug("88 = 0x%04x  " "93 = 0x%04x\n", id[88], id[93]);
+}
+#endif
+
+#ifdef SATA_DECL               /*SATA library specific declarations */
+int sata_bus_softreset(int num);
+void sata_identify(int num, int dev);
+void sata_port(struct sata_ioports *ioport);
+void set_Feature_cmd(int num, int dev);
+int sata_devchk(struct sata_ioports *ioaddr, int dev);
+void dev_select(struct sata_ioports *ioaddr, int dev);
+u8 sata_busy_wait(struct sata_ioports *ioaddr, int bits, unsigned int max);
+u8 sata_chk_status(struct sata_ioports *ioaddr);
+#endif
+
+/************DRIVER SPECIFIC DEFINITIONS AND DECLARATIONS**************/
+
+#ifdef DRV_DECL                        /* Driver specific declaration */
+int init_sata(int dev);
+#endif
+
+#ifdef DRV_DECL                        /* Defines Driver Specific variables */
+struct sata_port port[CONFIG_SYS_SATA_MAXBUS];
+#endif
+
+#endif /* __ATA_PIIX_H__ */