98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
| #ifndef __BT829_H__
 | |
| #define __BT829_H__
 | |
| 
 | |
| #include "xf86i2c.h"
 | |
| 
 | |
| typedef struct {
 | |
| 	int 		tunertype;	/* Must be set before init */
 | |
|         /* Private variables */
 | |
| 	I2CDevRec d;
 | |
| 
 | |
|     	CARD8		brightness;
 | |
|     	CARD8 		ccmode;
 | |
|         CARD8           code;
 | |
|     	CARD16		contrast;
 | |
|     	CARD8		format;
 | |
| 	int		height;
 | |
|     	CARD8		hue;
 | |
|         CARD8           len;
 | |
|     	CARD8		mux;
 | |
|     	CARD8           out_en;
 | |
|         CARD8           p_io;
 | |
|     	CARD16		sat_u;
 | |
|     	CARD16		sat_v;
 | |
|         CARD8           vbien;
 | |
|         CARD8           vbifmt;
 | |
| 	int 		width;
 | |
| 
 | |
|     	CARD16		hdelay;
 | |
|         CARD16		hscale;
 | |
|     	CARD16		vactive;
 | |
|     	CARD16		vdelay;
 | |
|         CARD16		vscale;
 | |
| 
 | |
|         CARD16          htotal;
 | |
|     	CARD8		id;
 | |
|     	CARD8		svideo_mux;
 | |
| } BT829Rec, *BT829Ptr;
 | |
| 
 | |
| BT829Ptr bt829_Detect(I2CBusPtr b, I2CSlaveAddr addr);
 | |
| 
 | |
| /* ATI card specific initialization */
 | |
| #define BT829_ATI_ADDR_1	0x8A
 | |
| #define BT829_ATI_ADDR_2	0x88
 | |
| int bt829_ATIInit(BT829Ptr bt);
 | |
| 
 | |
| #define BT829_NTSC		1	/* NTSC-M */
 | |
| #define BT829_NTSC_JAPAN	2	/* NTSC-Japan */
 | |
| #define BT829_PAL		3	/* PAL-B,D,G,H,I */
 | |
| #define BT829_PAL_M		4	/* PAL-M */
 | |
| #define BT829_PAL_N		5	/* PAL-N */
 | |
| #define BT829_SECAM		6	/* SECAM */
 | |
| #define BT829_PAL_N_COMB	7	/* PAL-N combination */
 | |
| int bt829_SetFormat(BT829Ptr bt, CARD8 format);
 | |
| 
 | |
| #define BT829_MUX2	1	/* ATI -> composite video */
 | |
| #define BT829_MUX0	2	/* ATI -> tv tuner */
 | |
| #define BT829_MUX1	3	/* ATI -> s-video */
 | |
| int bt829_SetMux(BT829Ptr bt, CARD8 mux);
 | |
| 
 | |
| int bt829_SetCaptSize(BT829Ptr bt, int width, int height);
 | |
| 
 | |
| void bt829_SetBrightness(BT829Ptr bt, int brightness);
 | |
| void bt829_SetContrast(BT829Ptr bt, int contrast);
 | |
| void bt829_SetSaturation(BT829Ptr bt, int saturation);
 | |
| void bt829_SetTint(BT829Ptr bt, int hue);	/* Hue */
 | |
| 
 | |
| void bt829_SetOUT_EN(BT829Ptr bt, BOOL out_en);	/* VPOLE register */
 | |
| void bt829_SetP_IO(BT829Ptr bt, CARD8 p_io);	/* P_IO register */
 | |
| 
 | |
| int bt829_SetCC(BT829Ptr bt);
 | |
| 
 | |
| #define BT829SymbolsList   \
 | |
| 		"bt829_Detect", \
 | |
| 		"bt829_ATIInit", \
 | |
| 		"bt829_SetFormat", \
 | |
| 		"bt829_SetMux", \
 | |
| 		"bt829_SetBrightness", \
 | |
| 		"bt829_SetContrast", \
 | |
| 		"bt829_SetSaturation", \
 | |
| 		"bt829_SetTint", \
 | |
| 		"bt829_SetCaptSize", \
 | |
| 		"bt829_SetOUT_EN", \
 | |
| 		"bt829_SetP_IO"
 | |
| 
 | |
| #define xf86_bt829_Detect		((BT829Ptr (*)(I2CBusPtr, I2CSlaveAddr))LoaderSymbol("bt829_Detect"))
 | |
| #define xf86_bt829_ATIInit		((int (*)(BT829Ptr))LoaderSymbol("bt829_ATIInit"))
 | |
| #define xf86_bt829_SetFormat		((int (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetFormat"))
 | |
| #define xf86_bt829_SetMux		((int (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetMux"))
 | |
| #define xf86_bt829_SetCaptSize		((int (*)(BT829Ptr, int, int))LoaderSymbol("bt829_SetCaptSize"))
 | |
| #define xf86_bt829_SetBrightness	((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetBrightness"))
 | |
| #define xf86_bt829_SetContrast		((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetContrast"))
 | |
| #define xf86_bt829_SetSaturation	((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetSaturation"))
 | |
| #define xf86_bt829_SetTint		((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetTint"))
 | |
| #define xf86_bt829_SetOUT_EN		((void (*)(BT829Ptr, Bool))LoaderSymbol("bt829_SetOUT_EN"))
 | |
| #define xf86_bt829_SetP_IO		((void (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetP_IO"))
 | |
| 
 | |
| #endif
 |