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