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