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