/************************************************************** TFT LCD **************************************************************/ void Lcd_PowerEnable(int invpwren,int pwren); void Lcd_Init(void) { rGPCUP = 0x00000000; rGPCCON = 0xaaaa02a9; rGPDUP = 0x00000000; rGPDCON=0xaaaaaaaa; //Initialize VD[15:8] rLCDCON1=(CLKVAL_TFT<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0; // TFT LCD panel,12bpp TFT,ENVID=off rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW); rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD); rLCDCON4=(MVAL<<8)|(HSPW); rLCDCON5 = (1<<11) | (0<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6) | (1<<3) |(BSWP<<1) | (HWSWP); rLCDSADDR1=(((U32)LCD_BUFFER>>22)<<21)|M5D((U32)LCD_BUFFER>>1); 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 } #if(LCD_Type == LCDW35) //CMO3.5TFT #define MVAL (13) #define MVAL_USED (0) //0=each frame 1=rate by MVAL #define INVVDEN (1) //0=normal 1=inverted #define BSWP (0) //Byte swap control #define HWSWP (1) //Half word swap control #define PNRMODE (3) #define BPPMODE (12) // 16bpp //TFT_SIZE #define LCD_XSIZE_TFT (320) #define LCD_YSIZE_TFT (240) #define SCR_XSIZE_TFT (320) #define SCR_YSIZE_TFT (240) //Timing parameter for 3.5' LCD #define VBPD (12) #define VFPD (4) #define VSPW (5) #define HBPD (22) #define HFPD (33) #define HSPW (44) #define CLKVAL_TFT (6) }