b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifndef __TDA9885_H__
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define __TDA9885_H__
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "xf86i2c.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync I2CDevRec d;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* write-only parameters */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* B DATA */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 sound_trap;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 auto_mute_fm;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 carrier_mode;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 modulation;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 forced_mute_audio;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 port1;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 port2;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* C DATA */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 top_adjustment;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 deemphasis;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 audio_gain;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* E DATA */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 standard_sound_carrier;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 standard_video_if;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 minimum_gain;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 gating;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 vif_agc;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* read-only values */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 after_reset;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 afc_status;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 vif_level;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 afc_win;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 fm_carrier;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync } TDA9885Rec, *TDA9885Ptr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TDA9885_ADDR_1 0x86
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TDA9885_ADDR_2 0x84
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TDA9885_ADDR_3 0x96
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TDA9885_ADDR_4 0x94
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define xf86_Detect_tda9885 Detect_tda9885
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT TDA9885Ptr Detect_tda9885(I2CBusPtr b, I2CSlaveAddr addr);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define xf86_tda9885_init tda9885_init
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool tda9885_init(TDA9885Ptr t);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define xf86_tda9885_setparameters tda9885_setparameters
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void tda9885_setparameters(TDA9885Ptr t);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define xf86_tda9885_getstatus tda9885_getstatus
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void tda9885_getstatus(TDA9885Ptr t);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define xf86_tda9885_dumpstatus tda9885_dumpstatus
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void tda9885_dumpstatus(TDA9885Ptr t);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TDA9885SymbolsList \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync "Detect_tda9885", \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync "tda9885_init", \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync "tda9885_setaudio", \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync "tda9885_mute"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif