drivers/vga/vga.c File Reference

Go to the source code of this file.

Functions

int F_VgaInit (void)
int F_TvInit (int mode)
void F_VgaPlay (void)


Function Documentation

int F_TvInit ( int  mode  ) 

Definition at line 52 of file vga.c.

00052                       {
00053     char i;
00054 
00055     rGPEUP  |= 0xc000;                                 // Pull-up disable
00056     rGPECON = (rGPECON&~0xf0000000) | 0xa0000000;      // GPE15:IICSDA , GPE14:IICSCL
00057     rIICCON = 0xaf;
00058     rIICADD = rIICSTAT = 0x10;
00059     if (mode == 1) {
00060         myprintf("\n\rinitial tv mode 640480.");
00061         F_IicWrite(0xec,0,0x42);
00062     }
00063     if (mode == 2) {
00064         myprintf("\n\rinitial tv mode 640400.");
00065         F_IicWrite(0xec,0,0x61);
00066     }
00067     F_IicWrite(0xec,4,0x00);
00068     F_IicWrite(0xec,7,0x64);
00069     F_IicWrite(0xec,8,0x01);
00070     F_IicWrite(0xec,10,0x30);
00071     F_IicWrite(0xec,11,0x20);
00072     F_IicWrite(0xec,9,0x69);
00073     F_IicWrite(0xec,14,0x0a);
00074     F_IicWrite(0xec,16,0x00);
00075     F_IicWrite(0xec,61,0x00);
00076     F_IicWrite(0xec,1,0x08);
00077     F_IicRead(0xec,9,&i);
00078     if (i != 0x69) return -1;
00079     F_IicRead(0xec,14,&i);
00080     if (i != 0x0a) return -1;
00081     F_IicRead(0xec,16,&i);
00082     if (i != 0x00) return -1;
00083     F_IicRead(0xec,61,&i);
00084     if (i != 0x00) return -1;
00085     F_IicRead(0xec,0,&i);
00086     if (i != 0x42) return -1;
00087     F_IicRead(0xec,4,&i);
00088     if (i != 0x00) return -1;
00089     F_IicRead(0xec,7,&i);
00090     if (i != 0x64) return -1;
00091     F_IicRead(0xec,8,&i);
00092     if (i != 0x01) return -1;
00093     F_IicRead(0xec,10,&i);
00094     if (i != 0x30) return -1;
00095     F_IicRead(0xec,11,&i);
00096     if (i != 0x20) return -1;
00097     return 0;
00098 }

int F_VgaInit ( void   ) 

Definition at line 6 of file vga.c.

00006                    {
00007     //int var0,var1;
00008     //BANKCON6 = BANKCON7 = 0x18005;
00009     //REFRESH = 0x008e01e9;
00010     //MRSRB6 = MRSRB7 = 0x20;
00011     int var,ret=0;
00012     char i;
00013 
00014     //F_IicInit();
00015     var = rLCDCON1;
00016     rLCDCON1 = rLCDCON1 & ~LCD_EN;
00017     //--rGPEUP  |= 0xc000;                  //Pull-up disable
00018     //--rGPECON = (rGPECON&~0xf0000000) | 0xa0000000;                //GPE15:IICSDA , GPE14:IICSCL 
00019 
00020     //Enable ACK, Prescaler IICCLK=PCLK/16, Enable interrupt, Transmit clock value Tx
00021     //clock=IICCLK/16
00022     //IICCON = 0xaf;  /* PCLK/512 */
00023 
00024     //--rIICCON  = (1<<7) | (0<<6) | (1<<5) | (0xf);
00025     //--rIICADD  = 0x10;                    //2440 slave address = [7:1]
00026     //--rIICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)
00027 
00028     //rIICADD = 0x9f;
00029     //rIICSTAT = 0x9f;
00030     //F_StringPut("write iic\n");
00031     F_IicWrite(0xec,4,0x20);
00032     //F_StringPut("2.\n");
00033     F_IicWrite(0xec,7,0x8c);
00034     //F_StringPut("3.\n");
00035     F_IicWrite(0xec,14,0x1b);
00036     //F_StringPut("4.\n");
00037     F_IicWrite(0xec,13,0x03);
00038     do {
00039     //F_StringPut("read back from iic\n");
00040     F_IicRead(0xec,4,&i);
00041     if (i != 0x20) { ret = -1; break; }
00042     //F_StringPut("6.\n");
00043     F_IicRead(0xec,7,&i);
00044     if (i != 0x8c) { ret = -1; break; }
00045     //F_StringPut("7.\n");
00046     F_IicRead(0xec,14,&i);
00047     if (i != 0x1b) ret = -1;
00048     } while(0);
00049     rLCDCON1 = var;
00050     return ret;
00051 }

void F_VgaPlay ( void   ) 

Definition at line 99 of file vga.c.

00099                     {
00100     F_LcdBufferClear();
00101     F_LcdInit();
00102     if (F_VgaInit()!=0){
00103         myprintf("\n\r vga initialize error!");
00104         return;
00105     }
00106     myprintf("\n\rvga initial ok!");
00107 }


Generated on Tue Sep 2 08:45:41 2008 for A Simple operation System using S3C2410 by  doxygen 1.5.6