📄 pa8204.lst
字号:
C51 COMPILER V7.07 PA8204 05/03/2006 14:00:57 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE PA8204
OBJECT MODULE PLACED IN PA8204.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PA8204.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*********************************************************************
2
3 COPYRIGHT (C) Himax Technologies, Inc.
4
5 File name : HX8824.c
6
7 Description : Implement HX8824 control function
8
9 Author : Nice
10
11 Create date : 2004/10/01
12
13 Modifications :
14
15 *********************************************************************/
16
17 #define _HX8824_C
18
19 /********************** Include Section *****************************/
20
21 #include "hx8824.h"
22 #include "remote.h"
*** ERROR C141 IN LINE 197 OF PA8204.H: syntax error near 'AutoType', expected ')'
*** ERROR C141 IN LINE 198 OF PA8204.H: syntax error near 'AutoPosType', expected ')'
*** ERROR C141 IN LINE 200 OF PA8204.H: syntax error near 'GeometryAttrib', expected ')'
*** ERROR C141 IN LINE 202 OF PA8204.H: syntax error near 'AutoWhiteType', expected ')'
23 #include "rs232.h"
24 #include "osd.h"
25 #include "ModeTbl.h"
26
27 /**************** Function Implement Section ************************/
28
29 /* ================================================================
30 Name : Init_HX8824
31 Purpose : Initial HX8824 Device
32 Passed : None
33 Notes : None
34 ================================================================ */
35
36 void Init_HX8824(void)
37 {
38 1 // Delcare Variable for Display Test Pattern
39 1 Byte TestPattern;
40 1
41 1 // Read HX8824 ID
42 1 //I2CReadByte(HX8824_ADDR, HX8824_ID, &TestPattern);
43 1
44 1 // Dump to RS232
45 1 Puts_UART("HX8824 ID="),HexTobyStr((Byte)TestPattern),Puts_UART(byStr),Puts_UART("\r\n");
46 1
47 1 // Select Input Mux, For VIDEO Input Timing
48 1 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_INP_CTRL1, 0xE4);
49 1
50 1 // Select Video
51 1 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_INP_FORMAT, 0xA1);
C51 COMPILER V7.07 PA8204 05/03/2006 14:00:57 PAGE 2
*** ERROR C202 IN LINE 51 OF PA8204.C: 'HX8824_MAIN_INP_FORMAT': undefined identifier
52 1
53 1 // Setup Input Detect
54 1 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_INP_DETECT, 0x60);
*** ERROR C202 IN LINE 54 OF PA8204.C: 'HX8824_MAIN_INP_DETECT': undefined identifier
55 1
56 1 // Setup Input Timing VGA_60 Horizontal & Vertical
57 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][0], HX8824_MAIN_INP_HSTART, 4);
*** ERROR C202 IN LINE 57 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
58 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][4], HX8824_MAIN_INP_VSTART, 4);
*** ERROR C202 IN LINE 58 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
59 1
60 1 // Mode Detect Threshold Setup, For Auto Function
61 1 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_REGMODETH, 0xA3);
*** ERROR C202 IN LINE 61 OF PA8204.C: 'HX8824_MAIN_REGMODETH': undefined identifier
62 1
63 1 // TCON Setup
64 1 I2CWriteByte(HX8824_ADDR, HX8824_TCONCONTROL, 0x00);
*** ERROR C202 IN LINE 64 OF PA8204.C: 'HX8824_TCONCONTROL': undefined identifier
65 1
66 1 // GateDriver Setup
67 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Line[0], HX8824_LINEAUTODETECT, 8);
*** ERROR C202 IN LINE 67 OF PA8204.C: 'HX8824_Line': undefined identifier
68 1
69 1 // Source Driver Control
70 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_SourceDriver[0], HX8824_SOURCEDRIVER, 6);
*** ERROR C202 IN LINE 70 OF PA8204.C: 'HX8824_SourceDriver': undefined identifier
71 1
72 1 // Gate Driver Control
73 1 I2CWrtCNByte(HX8824_ADDR, &HX8824A_GateDriver[0], HX8824_GATEDRIVER, 12);
*** ERROR C202 IN LINE 73 OF PA8204.C: 'HX8824A_GateDriver': undefined identifier
74 1
75 1 // V-Sync Detect Mode
76 1 I2CWrite2Byte(HX8824_ADDR, HX8824_VSYNCDETECTTH, 0x1F, 0x02);
*** ERROR C202 IN LINE 76 OF PA8204.C: 'HX8824_VSYNCDETECTTH': undefined identifier
77 1
78 1 // Output Timing Selection
79 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Table_OutPut[0][0], HX8824_DSP_HTOT, 8);
*** ERROR C202 IN LINE 79 OF PA8204.C: 'HX8824_Table_OutPut': undefined identifier
80 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Table_OutPut[0][8], HX8824_DSP_VTOT, 8);
*** ERROR C202 IN LINE 80 OF PA8204.C: 'HX8824_Table_OutPut': undefined identifier
81 1
82 1 // Prescaling Ratio Setup
83 1 I2CWrite2Byte(HX8824_ADDR, HX8824_PreSCALE_HRat, 0x00, 0x10);
*** ERROR C202 IN LINE 83 OF PA8204.C: 'HX8824_PreSCALE_HRat': undefined identifier
84 1 // Prescaling Size
85 1 I2CWrite2Byte(HX8824_ADDR, HX8824_HSIZE, 0x80, 0x02);
*** ERROR C202 IN LINE 85 OF PA8204.C: 'HX8824_HSIZE': undefined identifier
86 1
87 1 // Output Reset 0xA0 ~ 0xA3
88 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Table_OutPut[0][16], HX8824_DSP_RESET, 3);
*** ERROR C202 IN LINE 88 OF PA8204.C: 'HX8824_Table_OutPut': undefined identifier
89 1
90 1 // Output Port Control
91 1 I2CWrite2Byte(HX8824_ADDR, HX8824_OUTPORT, 0x63,0x04);
*** ERROR C202 IN LINE 91 OF PA8204.C: 'HX8824_OUTPORT': undefined identifier
92 1
93 1 // Format Selection
94 1 I2CWriteByte(HX8824_ADDR, HX8824_SWAP_CONTROL, 0x00);
*** ERROR C202 IN LINE 94 OF PA8204.C: 'HX8824_SWAP_CONTROL': undefined identifier
95 1
96 1 // Clock Selection
C51 COMPILER V7.07 PA8204 05/03/2006 14:00:57 PAGE 3
97 1 I2CWriteByte(HX8824_ADDR, HX8824_CLOCK_SELECT, 0x0F);
98 1
99 1 // Dithering 10 - 6 bit
100 1 I2CWriteByte(HX8824_ADDR, HX8824_DITHER, 0x40);
*** ERROR C202 IN LINE 100 OF PA8204.C: 'HX8824_DITHER': undefined identifier
101 1
102 1 // Scaler: H, V Ratio & Size
103 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][8], HX8824_SCALE_RATIO, 4);
*** ERROR C202 IN LINE 103 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
104 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][12], HX8824_SCALE_RATIO, 4);
*** ERROR C202 IN LINE 104 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
105 1
106 1 // Scaling Control
107 1 I2CWriteByte(HX8824_ADDR, HX8824_SCCTRL, 0x01);
*** ERROR C202 IN LINE 107 OF PA8204.C: 'HX8824_SCCTRL': undefined identifier
108 1
109 1 /*
110 1 // Output Timing Setup 108MHz
111 1 Unlock_Clock2();
112 1 Clock2_Write(20,7);
113 1 Clock2_Write(0,3);
114 1 Clock2_Write(80,7);
115 1 Clock2_Write(0,4);
116 1 Clock2_Write(2,3);
117 1 Stop_Clock2();
118 1 */
119 1
120 1 // Output Timing = 108MHz, SXGA_60Hz
121 1 I2CWrite3Byte(HX8824_ADDR, HX8824_DSP_PLL, 0xD2, 0x1A, 0x10);
*** ERROR C202 IN LINE 121 OF PA8204.C: 'HX8824_DSP_PLL': undefined identifier
122 1
123 1 // Start Position Setup
124 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][16], HX8824_MAIN_INP_HSTART, 2);
*** ERROR C202 IN LINE 124 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
125 1 I2CWrtCNByte(HX8824_ADDR, &HX8824_Video_Input[0][18], HX8824_MAIN_INP_VSTART, 2);
*** ERROR C202 IN LINE 125 OF PA8204.C: 'HX8824_Video_Input': undefined identifier
126 1
127 1 Puts_UART("Initial OK \r\n");
128 1 }
129
130
131 void Init_HX6204A(void)
132 {
133 1 // Output Timing = 108MHz, SXGA_60Hz
134 1 I2CWrite3Byte(HX8824_ADDR, HX8824_DSP_PLL, 0xD2, 0x1A, 0x10);
*** ERROR C202 IN LINE 134 OF PA8204.C: 'HX8824_DSP_PLL': undefined identifier
135 1 // Free Run
136 1 I2CWrite3Byte(HX8824_ADDR, HX8824_DSP_RESET, 0xFF, 0xFF, 0xFF);
137 1 // Test Pattern On
138 1 I2CWriteByte(HX8824_ADDR, HX8824_TEST_PATTERN, 0x77);
139 1 }
140
141
142 void Select_Inp_HX8824(Byte InpType)
143 {
144 1 switch(InpType)
145 1 {
146 2 case _VGA_IN:
147 2 // Input Clock Select
148 2 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_INP_CLK, 0xE8);
*** ERROR C202 IN LINE 148 OF PA8204.C: 'HX8824_MAIN_INP_CLK': undefined identifier
149 2 // Input Format Select --> Deinterlace, Video Input
C51 COMPILER V7.07 PA8204 05/03/2006 14:00:57 PAGE 4
150 2 I2CWriteByte(HX8824_ADDR, HX8824_MAIN_INP_FORMAT, 0x11);
*** ERROR C202 IN LINE 150 OF PA8204.C: 'HX8824_MAIN_INP_FORMAT': undefined identifier
151 2 break;
152 2 }
153 1 }
154
155
156 /* ================================================================
157 Name : Select_Video_Input
158 Purpose : According Pass Variable to change Input Mux Path
159 Passed : None
160 Notes : None
161 ================================================================ */
162
163 void Select_Video_Input(Byte VideoSrc)
164 {
165 1 switch(VideoSrc)
166 1 {
167 2 // From VPC3230
168 2 case _AV:
169 2 case _YC:
170 2 I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[2][0], HX8824_MAIN_INP_CLK, 2);
*** ERROR C202 IN LINE 170 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
171 2 break;
172 2
173 2 // From ADC YUV, ADC Component
174 2 case _Component:
175 2 case _VGA_IN:
176 2 I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[1][0], HX8824_MAIN_INP_CLK, 2);
*** ERROR C202 IN LINE 176 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
177 2 break;
178 2
179 2 // DVI Input
180 2 case _DVI:
181 2 I2CWrtCNByte(HX8824_ADDR, &HX8824_Input_Format[0][0], HX8824_MAIN_INP_CLK, 2);
*** ERROR C202 IN LINE 181 OF PA8204.C: 'HX8824_Input_Format': undefined identifier
182 2 break;
183 2 }
184 1 }
185
186 /* ================================================================
187 Name : Set_Video_Timing
188 Purpose : Setup HX8824 FRC/Memeory/Output Clock according
189 different input timing
190 Passed : None
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -