文档详情

24402410 LCD显示屏驱动程序.doc

发布:2017-12-13约7.78千字共11页下载文档
文本预览下载声明
u-boot早就支持framebuffer了,不光显示图片,还可以把控制台重定向到lcd上,只是24x0部分缺代码罢了,需要填充一个结构体,可以从openmoko那里copy过来。不过如果只是为了显示一张图片的话……初始化lcd控制器的代码随便放哪里运行都可以的吧!LCD显示屏驱动程序 #include config.h // GPB1/TOUT1 for Backlight control(PWM) #define GPB1_TO_OUT() (rGPBUP = 0xfffd, rGPBCON = 0xfffffff3, rGPBCON |= 0 #define GPB1_TO_1() (rGPBDAT |= 0x0002) #define GPB1_TO_0() (rGPBDAT = 0xfffd) //extern void Uart_Printf(char *f, ...) ; extern unsigned char __CHS[]; extern unsigned char __VGA[]; //volatile static unsigned short LCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT]; static void Lcd_PowerEnable(int invpwren,int pwren); static void Lcd_Init(void) { rGPCUP = 0 rGPCCON = 0xaaaa02a9; // rGPDUP=0xffffffff; // Disable Pull-up register rGPDUP = 0 rGPDCON=0xaaaaaaaa; //Initialize VD[15:8] rLCDCON1=(CLKVAL_TFT 8)|(MVAL_USED 7)|(3 5 )|(12 1)|0; // TFT LCD panel,16bpp TFT,ENVID=off rLCDCON2=(VBPD 24)|(LINEVAL_TFT 14)|(VFPD 6)|(VSPW); rLCDCON3=(HBPD 19)|(HOZVAL_TFT 8)|(HFPD); rLCDCON4=(MVAL 8)|(HSPW); #if(LCD_TYPE == PT035) rLCDCON5 = (1 11) | (1 10) | (0 9) | (0 8) | (1 7) | (1 6) | (1 3) |(BSWP 1) | (HWSWP); #elif(LCD_TYPE == WD_F3224) rLCDCON5 = (1 11) | (1 10) | (0 9) | (0 8) | (0 7) | (0 6) | (1 3) |(0 1) | (HWSWP); #elif(LCD_TYPE == TX11D) rLCDCON5 = (1 11) | (0 10) | (0 9) | (0 8) | (0 7) | (0 6) | (1 3) | (1 2) | (BSWP 1) | (HWSWP); #endif rLCDSADDR1=(((U32)LCD_BUFFER22)21)|M5D((U32)LCD_BUFFER1); rLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT * LCD_YSIZE_TFT * 2)) 1 ); rLCDSADDR3=(((SCR_XSIZE_TFT - LCD_XSIZE_TFT) / 1) 11)|(LCD_XSIZE_TFT / 1); rLCDINTMSK|=(3); // MASK LCD Sub Interrupt rTCONSEL = (~7) ; // Disable LPC3480 rTPAL=0; // Disable Temp Palette } static void Lcd_EnvidOnOff(int onoff) { if(onoff == 1) rLCDCON1 |= 1; // ENVID=ON else rLCDCON1 = rLCDCON1 0x3fffe; // ENVID Off } static void Lcd_PowerEnable(int invpwren,int pwren) { //GPG4 is setted as LCD_PWREN rGPGUP = rGPGUP ( ~(1 4)) |(1 4); // Pull-up disable rGPGCON
显示全部
相似文档