scripts: add crosstools packages for i386 and armhf
[AROS.git] / rom / devs / ata / include / hidd / ata.h
blob82ee82489debb5f576aa7b3308d29b4e1035b456
1 #ifndef HIDD_ATA_H
2 #define HIDD_ATA_H
4 /*
5 Copyright © 2013, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: ATA bus driver HIDD definitions
9 Lang: english
12 #define CLID_HW_ATA "hw.ata"
13 #define CLID_Hidd_ATABus "hidd.ata.bus"
15 struct ATA_BusInterface
17 VOID (*ata_out )(void *obj, UBYTE val, UWORD offset);
18 UBYTE (*ata_in )(void *obj, UWORD offset);
19 VOID (*ata_out_alt)(void *obj, UBYTE val, UWORD offset);
20 UBYTE (*ata_in_alt )(void *obj, UWORD offset);
23 struct ATA_PIOInterface
25 VOID (*ata_outsw )(void *obj, APTR address, ULONG count);
26 VOID (*ata_insw )(void *obj, APTR address, ULONG count);
27 VOID (*ata_outsl )(void *obj, APTR address, ULONG count);
28 VOID (*ata_insl )(void *obj, APTR address, ULONG count);
31 struct ATA_DMAInterface
33 BOOL (*dma_Prepare)(void *obj, APTR buffer, IPTR size, BOOL read);
34 VOID (*dma_Start )(void *obj);
35 VOID (*dma_End )(void *obj, APTR buffer, IPTR size, BOOL read);
36 ULONG (*dma_Result )(void *obj);
39 typedef enum
41 AB_XFER_PIO0 = 0,
42 AB_XFER_PIO1,
43 AB_XFER_PIO2,
44 AB_XFER_PIO3,
45 AB_XFER_PIO4,
47 AB_XFER_MDMA0,
48 AB_XFER_MDMA1,
49 AB_XFER_MDMA2,
51 AB_XFER_UDMA0,
52 AB_XFER_UDMA1,
53 AB_XFER_UDMA2,
54 AB_XFER_UDMA3,
55 AB_XFER_UDMA4,
56 AB_XFER_UDMA5,
57 AB_XFER_UDMA6,
59 AB_XFER_48BIT = 27, /* LBA48 */
60 AB_XFER_RWMULTI, /* Multisector */
61 AB_XFER_PACKET, /* ATAPI */
62 AB_XFER_LBA, /* LBA28 */
63 AB_XFER_PIO32 /* 32-bit PIO */
64 } ata_XferMode;
66 #define AF_XFER_PIO(x) (1<<(AB_XFER_PIO0+(x)))
67 #define AF_XFER_MDMA(x) (1<<(AB_XFER_MDMA0+(x)))
68 #define AF_XFER_UDMA(x) (1<<(AB_XFER_UDMA0+(x)))
69 #define AF_XFER_48BIT (1<<(AB_XFER_48BIT))
70 #define AF_XFER_RWMULTI (1<<(AB_XFER_RWMULTI))
71 #define AF_XFER_PACKET (1<<(AB_XFER_PACKET))
72 #define AF_XFER_LBA (1<<(AB_XFER_LBA))
73 #define AF_XFER_PIO32 (1<<(AB_XFER_PIO32))
75 #include <interface/Hidd_ATABus.h>
76 #include <interface/Hidd_ATAUnit.h>
78 #endif