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