- Also clear signals when polling. Without this, signals were getting
[AROS.git] / rom / devs / ata / ata.conf
blob7ef257c39ca62a319cd144b1ba4b8a40e083ef79
1 ##begin config
2 basename        ata
3 version         42.2
4 libbasetype     struct ataBase
5 residentpri     4
6 beginio_func    BeginIO
7 abortio_func    AbortIO
8 oopbase_field   ata_OOPBase
9 seglist_field   ata_SegList
10 addromtag       ata_BootWait
11 ##end config
13 ##begin cdefprivate
14 #include <hidd/ata.h>
15 #include "ata.h"
16 ##end cdefprivate
18 ##begin cdef
19 #include <exec/devices.h>
20 #include <exec/io.h>
21 ##end cdef
23 ##begin functionlist
24 ULONG GetRdskLba(struct IORequest *io) (A1)
25 ULONG GetBlkSize(struct IORequest *io) (A1)
26 ##end functionlist
28 ##begin interface
29 ##begin config
30 interfaceid   hidd.ata.bus
31 interfacename Hidd_ATABus
32 methodstub    HIDD_ATABus
33 methodbase    HiddATABusBase
34 attributebase HiddATABusAB
35 ##end config
37 ##begin attributelist
38 BOOL        Use80Wire #      [..G] Tells if this bus uses 80-conductor cable
39 BOOL        Use32Bit #       [..G] Tells if this bus is 32-bit capable
40 BOOL        UseDMA #         [..G] Tells if this bus is DMA-capable
41 ULONG       PIODataSize #    [I..] Size of PIO interface data structure
42 ULONG       DMADataSize #    [I..] Size of DMA interface data structure
43 APTR       *BusVectors #     [I..] PIO interface control function table
44 APTR       *PIOVectors #     [I..] PIO interface transfer function table
45 APTR       *DMAVectors #     [I..] DMA interface function table
46 APTR        IRQHandler #     [.S.] Pointer to IRQ handler function
47 APTR        IRQData #        [.S.] Caller-supplied data to pass to IRQ handler
48 BOOL        UseIOAlt #       [..G} Tells if this bus supports alternate register bank
49 BOOL        KeepEmpty #      [I..] Tells if the empty bus should be kept
50 OOP_Object *Master #         [..G] Master unit object pointer
51 OOP_Object *Slave #          [..G] Slave unit object pointer
52 BOOL        CanSetXferMode # [..G} Tells if transfer mode change is supported
53 ##end attributelist
55 ##begin methodlist
56 APTR GetPIOInterface()
57 APTR GetDMAInterface()
58 BOOL SetXferMode(UBYTE unit, ata_XferMode mode)
59 void Shutdown()
60 ##end methodlist
61 ##end interface
63 ##begin class
64 ##begin config
65 basename ATA
66 type hidd
67 classid CLID_HW_ATA
68 superclass CLID_HW
69 classptr_field ataClass
70 ##end config
72 ##begin methodlist
73 .interface Root
74 New
75 Dispose
76 .interface HW
77 RemoveDriver
78 SetUpDriver
79 ##end methodlist
80 ##end class
82 ##begin class
83 ##begin config
84 basename ATABus
85 type hidd
86 classid CLID_Hidd_ATABus
87 classdatatype struct ata_Bus
88 superclass CLID_Hidd
89 classptr_field busClass
90 ##end config
92 ##begin methodlist
93 .interface Root
94 New
95 Dispose
96 Get
97 .interface Hidd_ATABus
98 GetPIOInterface
99 GetDMAInterface
100 SetXferMode
101 Shutdown
102 ##end methodlist
103 ##end class
105 ##begin interface
106 ##begin config
107 interfaceid   hidd.ata.unit
108 interfacename Hidd_ATAUnit
109 attributebase HiddATAUnitAB
110 ##end config
112 ##begin attributelist
113 ULONG Number #          [..G] Corresponding ata.device unit number
114 CONST_STRPTR Model #    [..G] Drive model ID string
115 CONST_STRPTR Revision # [..G] Drive revision ID string
116 CONST_STRPTR Serial #   [..G] Drive serial number string
117 ULONG XferModes #       [..G] Supported transfer modes
118 BOOL Removable #        [..G] Media is removable
119 UBYTE MultiSector #     [..G] Maximum amount of multisector transfer
120 ULONG ConfiguredModes # [..G] Configured transfer modes
121 ##end attributelist
122 ##end interface
124 ##begin class
125 ##begin config
126 basename ATAUnit
127 type hidd
128 classdatatype struct ata_Unit
129 superclass CLID_Root
130 classptr_field unitClass
131 ##end config
133 ##begin methodlist
134 .interface Root
136 Dispose
138 ##end methodlist
139 ##end class