1 | #ifndef __TDA8425_H__
|
---|
2 | #define __TDA8425_H__
|
---|
3 |
|
---|
4 | #include "xf86i2c.h"
|
---|
5 |
|
---|
6 | typedef struct {
|
---|
7 | I2CDevRec d;
|
---|
8 |
|
---|
9 | int mux;
|
---|
10 | int stereo;
|
---|
11 | int v_left;
|
---|
12 | int v_right;
|
---|
13 | int bass;
|
---|
14 | int treble;
|
---|
15 | int src_sel;
|
---|
16 | Bool mute;
|
---|
17 | } TDA8425Rec, *TDA8425Ptr;
|
---|
18 |
|
---|
19 | #define TDA8425_ADDR_1 0x82
|
---|
20 |
|
---|
21 | /* the third parameter is meant to force detection of tda8425.
|
---|
22 | This is because tda8425 is write-only and complete implementation
|
---|
23 | of I2C protocol is not always available. Besides address there is no good
|
---|
24 | way to autodetect it so we have to _know_ it is there anyway */
|
---|
25 |
|
---|
26 | TDA8425Ptr Detect_tda8425(I2CBusPtr b, I2CSlaveAddr addr,Bool force);
|
---|
27 | Bool tda8425_init(TDA8425Ptr t);
|
---|
28 | void tda8425_setaudio(TDA8425Ptr t);
|
---|
29 | void tda8425_mute(TDA8425Ptr t, Bool mute);
|
---|
30 |
|
---|
31 | #define TDA8425SymbolsList \
|
---|
32 | "Detect_tda8425", \
|
---|
33 | "tda8425_init", \
|
---|
34 | "tda8425_setaudio", \
|
---|
35 | "tda8425_mute"
|
---|
36 |
|
---|
37 | #define xf86_Detect_tda8425 ((TDA8425Ptr (*)(I2CBusPtr, I2CSlaveAddr,Bool))LoaderSymbol("Detect_tda8425"))
|
---|
38 | #define xf86_tda8425_init ((Bool (*)(TDA8425Ptr))LoaderSymbol("tda8425_init"))
|
---|
39 | #define xf86_tda8425_setaudio ((void (*)(TDA8425Ptr))LoaderSymbol("tda8425_setaudio"))
|
---|
40 | #define xf86_tda8425_mute ((void (*)(TDA8425Ptr, Bool))LoaderSymbol("tda8425_mute"))
|
---|
41 |
|
---|
42 | #endif
|
---|