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