1 #ifndef AHI_Drivers_AC97_DriverData_h
2 #define AHI_Drivers_AC97_DriverData_h
4 #include <exec/libraries.h>
9 #include <proto/exec.h>
13 #include "DriverBase.h"
17 struct DriverBase driverbase
;
18 struct Library
* dosbase
;
19 struct OOPBase
* oopbase
;
20 struct ExecBase
* sysbase
;
26 /* card specific data */
30 /* card specific data ends */
37 void (*mixer_set_reg
)(struct ac97Base
*, ULONG reg
, UWORD value
);
38 UWORD (*mixer_get_reg
)(struct ac97Base
*, ULONG reg
);
41 #define DRIVERBASE_SIZEOF (sizeof (struct ac97Base))
43 #define DOSBase ((struct DosLibrary*)ac97Base->dosbase)
44 #define OOPBase ((struct OOPBase *)ac97Base->oopbase)
48 struct DriverData driverdata
;
53 struct Process
* mastertask
;
54 struct Process
* slavetask
;
55 struct ac97Base
* ahisubbase
;
59 HIDDT_IRQ_Handler
*irq
;
64 /* AC97 mixer registers */
65 #define AC97_RESET 0x00
66 #define AC97_MASTER_VOL 0x02
67 #define AC97_HEADPHONE_VOL 0x04
68 #define AC97_MASTER_MONO_VOL 0x06
69 #define AC97_TONE 0x08
70 #define AC97_PCBEEP_VOL 0x0a
71 #define AC97_PHONE_VOL 0x0c
72 #define AC97_MIC_VOL 0x0e
73 #define AC97_LINEIN_VOL 0x10
74 #define AC97_CD_VOL 0x12
75 #define AC97_VIDEO_VOL 0x14
76 #define AC97_AUX_VOL 0x16
77 #define AC97_PCM_VOL 0x18
78 #define AC97_RECORD_SEL 0x1a
79 #define AC97_RECORD_GAIN 0x1c
80 #define AC97_RECORD_GAIN_MIX 0x1e
81 #define AC97_POWERDOWN 0x26
86 #define DEFAULT_PO_SR 0x16
87 #define DEFAULT_PO_PICB 0x18
95 #endif /* AHI_Drivers_AC97_DriverData_h */