1 | #ifndef __BT829_H__
|
---|
2 | #define __BT829_H__
|
---|
3 |
|
---|
4 | #include "xf86i2c.h"
|
---|
5 |
|
---|
6 | typedef struct {
|
---|
7 | int tunertype; /* Must be set before init */
|
---|
8 | /* Private variables */
|
---|
9 | I2CDevRec d;
|
---|
10 |
|
---|
11 | CARD8 brightness;
|
---|
12 | CARD8 ccmode;
|
---|
13 | CARD8 code;
|
---|
14 | CARD16 contrast;
|
---|
15 | CARD8 format;
|
---|
16 | int height;
|
---|
17 | CARD8 hue;
|
---|
18 | CARD8 len;
|
---|
19 | CARD8 mux;
|
---|
20 | CARD8 out_en;
|
---|
21 | CARD8 p_io;
|
---|
22 | CARD16 sat_u;
|
---|
23 | CARD16 sat_v;
|
---|
24 | CARD8 vbien;
|
---|
25 | CARD8 vbifmt;
|
---|
26 | int width;
|
---|
27 |
|
---|
28 | CARD16 hdelay;
|
---|
29 | CARD16 hscale;
|
---|
30 | CARD16 vactive;
|
---|
31 | CARD16 vdelay;
|
---|
32 | CARD16 vscale;
|
---|
33 |
|
---|
34 | CARD16 htotal;
|
---|
35 | CARD8 id;
|
---|
36 | CARD8 svideo_mux;
|
---|
37 | } BT829Rec, *BT829Ptr;
|
---|
38 |
|
---|
39 | BT829Ptr bt829_Detect(I2CBusPtr b, I2CSlaveAddr addr);
|
---|
40 |
|
---|
41 | /* ATI card specific initialization */
|
---|
42 | #define BT829_ATI_ADDR_1 0x8A
|
---|
43 | #define BT829_ATI_ADDR_2 0x88
|
---|
44 | int bt829_ATIInit(BT829Ptr bt);
|
---|
45 |
|
---|
46 | #define BT829_NTSC 1 /* NTSC-M */
|
---|
47 | #define BT829_NTSC_JAPAN 2 /* NTSC-Japan */
|
---|
48 | #define BT829_PAL 3 /* PAL-B,D,G,H,I */
|
---|
49 | #define BT829_PAL_M 4 /* PAL-M */
|
---|
50 | #define BT829_PAL_N 5 /* PAL-N */
|
---|
51 | #define BT829_SECAM 6 /* SECAM */
|
---|
52 | #define BT829_PAL_N_COMB 7 /* PAL-N combination */
|
---|
53 | int bt829_SetFormat(BT829Ptr bt, CARD8 format);
|
---|
54 |
|
---|
55 | #define BT829_MUX2 1 /* ATI -> composite video */
|
---|
56 | #define BT829_MUX0 2 /* ATI -> tv tuner */
|
---|
57 | #define BT829_MUX1 3 /* ATI -> s-video */
|
---|
58 | int bt829_SetMux(BT829Ptr bt, CARD8 mux);
|
---|
59 |
|
---|
60 | int bt829_SetCaptSize(BT829Ptr bt, int width, int height);
|
---|
61 |
|
---|
62 | void bt829_SetBrightness(BT829Ptr bt, int brightness);
|
---|
63 | void bt829_SetContrast(BT829Ptr bt, int contrast);
|
---|
64 | void bt829_SetSaturation(BT829Ptr bt, int saturation);
|
---|
65 | void bt829_SetTint(BT829Ptr bt, int hue); /* Hue */
|
---|
66 |
|
---|
67 | void bt829_SetOUT_EN(BT829Ptr bt, BOOL out_en); /* VPOLE register */
|
---|
68 | void bt829_SetP_IO(BT829Ptr bt, CARD8 p_io); /* P_IO register */
|
---|
69 |
|
---|
70 | int bt829_SetCC(BT829Ptr bt);
|
---|
71 |
|
---|
72 | #define BT829SymbolsList \
|
---|
73 | "bt829_Detect", \
|
---|
74 | "bt829_ATIInit", \
|
---|
75 | "bt829_SetFormat", \
|
---|
76 | "bt829_SetMux", \
|
---|
77 | "bt829_SetBrightness", \
|
---|
78 | "bt829_SetContrast", \
|
---|
79 | "bt829_SetSaturation", \
|
---|
80 | "bt829_SetTint", \
|
---|
81 | "bt829_SetCaptSize", \
|
---|
82 | "bt829_SetOUT_EN", \
|
---|
83 | "bt829_SetP_IO"
|
---|
84 |
|
---|
85 | #define xf86_bt829_Detect ((BT829Ptr (*)(I2CBusPtr, I2CSlaveAddr))LoaderSymbol("bt829_Detect"))
|
---|
86 | #define xf86_bt829_ATIInit ((int (*)(BT829Ptr))LoaderSymbol("bt829_ATIInit"))
|
---|
87 | #define xf86_bt829_SetFormat ((int (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetFormat"))
|
---|
88 | #define xf86_bt829_SetMux ((int (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetMux"))
|
---|
89 | #define xf86_bt829_SetCaptSize ((int (*)(BT829Ptr, int, int))LoaderSymbol("bt829_SetCaptSize"))
|
---|
90 | #define xf86_bt829_SetBrightness ((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetBrightness"))
|
---|
91 | #define xf86_bt829_SetContrast ((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetContrast"))
|
---|
92 | #define xf86_bt829_SetSaturation ((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetSaturation"))
|
---|
93 | #define xf86_bt829_SetTint ((void (*)(BT829Ptr, int))LoaderSymbol("bt829_SetTint"))
|
---|
94 | #define xf86_bt829_SetOUT_EN ((void (*)(BT829Ptr, Bool))LoaderSymbol("bt829_SetOUT_EN"))
|
---|
95 | #define xf86_bt829_SetP_IO ((void (*)(BT829Ptr, CARD8))LoaderSymbol("bt829_SetP_IO"))
|
---|
96 |
|
---|
97 | #endif
|
---|