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