1 #ifdef HAVE_XORG_CONFIG_H
2 #include <xorg-config.h>
10 #define TDA9850(a,b) { \
13 I2C_WriteRead(&(t->d), data, 2, NULL, 0); \
17 Detect_tda9850(I2CBusPtr b
, I2CSlaveAddr addr
)
22 t
= calloc(1, sizeof(TDA9850Rec
));
27 t
->d
.DevName
= "TDA9850 BTSC Stereo+SAP Audio Processor";
30 t
->d
.DevName
= "Generic TDAxxxx";
33 t
->d
.SlaveAddr
= addr
;
36 t
->d
.StartTimeout
= b
->StartTimeout
;
37 t
->d
.BitTimeout
= b
->BitTimeout
;
38 t
->d
.AcknTimeout
= b
->AcknTimeout
;
39 t
->d
.ByteTimeout
= b
->ByteTimeout
;
41 if (!I2C_WriteRead(&(t
->d
), NULL
, 0, &a
, 1)) {
46 /* set default parameters */
47 if (!I2CDevInit(&(t
->d
))) {
56 tda9850_init(TDA9850Ptr t
)
67 tda9850_setaudio(TDA9850Ptr t
)
91 (t
->stereo
<< 6) | (t
->sap
<< 7) | (t
->mute
? 0x8 : 0) | (t
->
98 tda9850_mute(TDA9850Ptr t
, Bool mute
)
102 xf86DrvMsg(t
->d
.pI2CBus
->scrnIndex
, X_INFO
, "tda9850_mute %s\n",
103 mute
? "on" : "off");
107 (t
->stereo
<< 6) | (t
->sap
<< 7) | (t
->mute
? 0x8 : 0x0) | (t
->
114 tda9850_sap_mute(TDA9850Ptr t
, Bool sap_mute
)
118 xf86DrvMsg(t
->d
.pI2CBus
->scrnIndex
, X_INFO
, "tda9850_sap_mute %s\n",
119 sap_mute
? "on" : "off");
120 t
->sap_mute
= sap_mute
;
123 (t
->stereo
<< 6) | (t
->sap
<< 7) | (t
->mute
? 0x8 : 0x0) | (t
->
130 tda9850_getstatus(TDA9850Ptr t
)
134 I2C_WriteRead(&(t
->d
), NULL
, 0, (I2CByte
*) &status
, 2);