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