[plain text]
#ifndef _APPLEUSBTRINITYAUDIODEVICE_H
#define _APPLEUSBTRINITYAUDIODEVICE_H
#include "AppleUSBAudioDevice.h"
#define V8_WRITE_START_ADDR 0xb042
#define V8_PLUGIN_START_ADDR 0x8120
#define XDFP_STARTING_EQ_ADDR 0x50
#define EQ_TABLE_SIZE 16
#define kMicronasSetMemReq 4
#define kMicronasGetMemReq 5
#define MAX_EQ_DOWNLOAD_RETRIES 200
class AppleUSBTrinityAudioDevice : public AppleUSBAudioDevice {
OSDeclareDefaultStructors (AppleUSBTrinityAudioDevice);
IOService * powerProvider;
IOPMPowerFlags currentPowerFlags;
UInt32 eqRetryCount;
public:
virtual bool start (IOService * provider);
#if TIMERSTREAM
virtual bool reinitWithInterface (IOUSBInterface * interface);
#endif
#if 0
virtual IOReturn powerStateDidChangeTo (IOPMPowerFlags newPowerFlags, unsigned long stateNumber, IOService *device);
#else
virtual IOReturn performPowerStateChange (IOAudioDevicePowerState oldPowerState, IOAudioDevicePowerState newPowerState, UInt32 *microSecsUntilComplete);
#endif
protected:
virtual IOReturn xdfpGetMem (UInt8 * buf, UInt16 length, UInt16 xdfpAddr);
virtual IOReturn xdfpSetMem (UInt8 * buf, UInt16 length, UInt16 xdfpAddr);
virtual IOReturn xdfpWrite (UInt16 xdfpAddr, SInt32 value);
virtual IOReturn disablePlugin ();
virtual IOReturn downloadEQ ();
virtual IOReturn downloadEQ (SInt32 * eqSettings);
virtual IOReturn downloadPlugin ();
virtual IOReturn enablePlugin ();
virtual SInt32 * getProperEQSettings ();
virtual void attemptEQDownload ();
virtual void scheduleEQDownloadRetry ();
static void retryEQDownload (void *arg);
};
#endif
Generated by GNU enscript 1.6.4.