f0ab104f070bc7f569404826fea1828ed985638cvboxsync#ifndef __TDA8425_H__
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define __TDA8425_H__
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#include "xf86i2c.h"
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsynctypedef struct {
f0ab104f070bc7f569404826fea1828ed985638cvboxsync I2CDevRec d;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int mux;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int stereo;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int v_left;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int v_right;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int bass;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int treble;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync int src_sel;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync Bool mute;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync } TDA8425Rec, *TDA8425Ptr;
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define TDA8425_ADDR_1 0x82
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync/* the third parameter is meant to force detection of tda8425.
f0ab104f070bc7f569404826fea1828ed985638cvboxsync This is because tda8425 is write-only and complete implementation
f0ab104f070bc7f569404826fea1828ed985638cvboxsync of I2C protocol is not always available. Besides address there is no good
f0ab104f070bc7f569404826fea1828ed985638cvboxsync way to autodetect it so we have to _know_ it is there anyway */
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define xf86_Detect_tda8425 Detect_tda8425
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT TDA8425Ptr Detect_tda8425(I2CBusPtr b, I2CSlaveAddr addr,Bool force);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define xf86_tda8425_init tda8425_init
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT Bool tda8425_init(TDA8425Ptr t);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define xf86_tda8425_setaudio tda8425_setaudio
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void tda8425_setaudio(TDA8425Ptr t);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define xf86_tda8425_mute tda8425_mute
f0ab104f070bc7f569404826fea1828ed985638cvboxsyncextern _X_EXPORT void tda8425_mute(TDA8425Ptr t, Bool mute);
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#define TDA8425SymbolsList \
f0ab104f070bc7f569404826fea1828ed985638cvboxsync "Detect_tda8425", \
f0ab104f070bc7f569404826fea1828ed985638cvboxsync "tda8425_init", \
f0ab104f070bc7f569404826fea1828ed985638cvboxsync "tda8425_setaudio", \
f0ab104f070bc7f569404826fea1828ed985638cvboxsync "tda8425_mute"
f0ab104f070bc7f569404826fea1828ed985638cvboxsync
f0ab104f070bc7f569404826fea1828ed985638cvboxsync#endif