1 #ifdef HAVE_XORG_CONFIG_H
2 #include <xorg-config.h>
10 #define TDA8425(a,b) { \
13 I2C_WriteRead(&(t->d), data, 2, NULL, 0); \
17 Detect_tda8425(I2CBusPtr b
, I2CSlaveAddr addr
, Bool force
)
21 t
= calloc(1, sizeof(TDA8425Rec
));
24 t
->d
.DevName
= "TDA8425 BTSC Stereo Audio Processor";
25 t
->d
.SlaveAddr
= addr
;
28 t
->d
.StartTimeout
= b
->StartTimeout
;
29 t
->d
.BitTimeout
= b
->BitTimeout
;
30 t
->d
.AcknTimeout
= b
->AcknTimeout
;
31 t
->d
.ByteTimeout
= b
->ByteTimeout
;
33 if (!force
&& !I2CProbeAddress(b
, addr
)) {
38 /* set default parameters */
39 if (!I2CDevInit(&(t
->d
))) {
48 tda8425_init(TDA8425Ptr t
)
50 t
->stereo
= 3; /* 3 = Spacial 2 = Linear 1 = Pseudo 0 = Forced mono */
51 t
->v_left
= 0xFF; /* FF - C0 */
52 t
->v_right
= 0xFF; /* FF - C0 */
53 t
->bass
= 0xF6; /* 0xFF - 0xF0 */
54 t
->treble
= 0xF6; /* 0xFF - 0xF0 */
55 t
->src_sel
= 3; /* 3 - stereo */
57 t
->mux
= 0; /* 0 - source one, 1 -source 2 */
64 tda8425_setaudio(TDA8425Ptr t
)
68 TDA8425(0x00, t
->v_left
);
69 TDA8425(0x01, t
->v_right
);
70 TDA8425(0x02, t
->bass
);
71 TDA8425(0x03, t
->treble
);
73 0xC0 | (t
->mute
? 0x20 : 0x0) | (t
->stereo
<< 3) | (t
->
79 tda8425_mute(TDA8425Ptr t
, Bool mute
)