void usbd_pin_detection_init(void) { #if MINI_DVR_BOARD_VERSION == GPL32680_MINI_DVR_EMU_V2_0 if (C_USBDEVICE_PIN == IO_F3) { gpio_set_memcs(3,0); } #endif gpio_init_io(C_USBDEVICE_PIN,GPIO_INPUT); gpio_set_port_attribute(C_USBDEVICE_PIN, INPUT_WITH_RESISTOR); gpio_write_io(C_USBDEVICE_PIN,DATA_LOW); }
void TFT_D51E5TA8566_Init(void) { //-- if LCD_RST = IOB5 R_I2C_MISC = 0; //-- R_IOA_ATTRIB |= 0x00ff; R_IOA_DIR |= 0x00ff; R_IOA_O_DATA &= 0xff00; gpio_set_port_attribute(LCD_CS, ATTRIBUTE_HIGH); gpio_set_port_attribute(LCD_RS, ATTRIBUTE_HIGH); gpio_set_port_attribute(LCD_WR, ATTRIBUTE_HIGH); gpio_set_port_attribute(LCD_RD, ATTRIBUTE_HIGH); gpio_init_io(LCD_CS, GPIO_OUTPUT); gpio_init_io(LCD_RS, GPIO_OUTPUT); gpio_init_io(LCD_WR, GPIO_OUTPUT); gpio_init_io(LCD_RD, GPIO_OUTPUT); gpio_write_io (LCD_CS, DATA_LOW); gpio_write_io (LCD_RS, DATA_LOW); gpio_write_io (LCD_WR, DATA_LOW); gpio_write_io (LCD_RD, DATA_LOW); //=======initializing funciton 1 =============================== // sleep out and wait at least 5ms for the next operations //ILI9341_WR_COMD(0x11); //Exit Sleep //drv_msec_wait(120); ILI9341_WR_COMD(0xba); ILI9341_WR_Parameter(0x85); ILI9341_WR_Parameter(0x66); ILI9341_WR_COMD(0xb6); ILI9341_WR_Parameter(0x26); ILI9341_WR_Parameter(0x03); ILI9341_WR_Parameter(0x10); ILI9341_WR_COMD(0xb7); ILI9341_WR_Parameter(0x66); ILI9341_WR_Parameter(0x44); ILI9341_WR_Parameter(0x01); ILI9341_WR_COMD(0xb8); ILI9341_WR_Parameter(0x68); //70 duibidu: 0x68 5.496v ILI9341_WR_Parameter(0x54); ILI9341_WR_Parameter(0x11); ILI9341_WR_Parameter(0x00); ILI9341_WR_COMD(0xb0); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x0a); ILI9341_WR_Parameter(0x0f); ILI9341_WR_COMD(0xb1); ILI9341_WR_Parameter(0x01); ILI9341_WR_Parameter(0x90); // b0 ILI9341_WR_COMD(0xb2); ILI9341_WR_Parameter(0x53); ILI9341_WR_Parameter(0x4f); ILI9341_WR_Parameter(0x11); ILI9341_WR_Parameter(0x13); ILI9341_WR_Parameter(0x51); ILI9341_WR_Parameter(0x20); ILI9341_WR_Parameter(0x66); ILI9341_WR_Parameter(0x12); ILI9341_WR_Parameter(0x36); ILI9341_WR_COMD(0xb3); ILI9341_WR_Parameter(0xb4); ILI9341_WR_Parameter(0x88); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x00); /* ILI9341_WR_COMD(0xE0); //Set Gamma ILI9341_WR_Parameter(0x0F); ILI9341_WR_Parameter(0x20); ILI9341_WR_Parameter(0x1E); ILI9341_WR_Parameter(0x07); ILI9341_WR_Parameter(0x0A); ILI9341_WR_Parameter(0x03); ILI9341_WR_Parameter(0x52); ILI9341_WR_Parameter(0x63); ILI9341_WR_Parameter(0x44); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x17); ILI9341_WR_Parameter(0x09); ILI9341_WR_Parameter(0x19); ILI9341_WR_Parameter(0x13); ILI9341_WR_Parameter(0x00); ILI9341_WR_COMD(0xE1); //Set Gamma ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x19); ILI9341_WR_Parameter(0x02); ILI9341_WR_Parameter(0x0F); ILI9341_WR_Parameter(0x03); ILI9341_WR_Parameter(0x2F); ILI9341_WR_Parameter(0x13); ILI9341_WR_Parameter(0x40); ILI9341_WR_Parameter(0x01); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x07); ILI9341_WR_Parameter(0x2E); ILI9341_WR_Parameter(0x3C); ILI9341_WR_Parameter(0x0F); */ ILI9341_WR_COMD(0xc0); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x23); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x14); ILI9341_WR_Parameter(0x27); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x24); ILI9341_WR_Parameter(0x21); ILI9341_WR_Parameter(0x1d); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x1c); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x28); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x09); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x1f); ILI9341_WR_Parameter(0x2a); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0xc1); ILI9341_WR_COMD(0xc1); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x23); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x14); ILI9341_WR_Parameter(0x27); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x24); ILI9341_WR_Parameter(0x21); ILI9341_WR_Parameter(0x1d); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x1c); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x28); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x09); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x1f); ILI9341_WR_Parameter(0x2a); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0xc1); ILI9341_WR_COMD(0xc2); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x23); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x14); ILI9341_WR_Parameter(0x27); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x2e); ILI9341_WR_Parameter(0x24); ILI9341_WR_Parameter(0x21); ILI9341_WR_Parameter(0x1d); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x1c); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x3c); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x28); ILI9341_WR_Parameter(0x1e); ILI9341_WR_Parameter(0x16); ILI9341_WR_Parameter(0x08); ILI9341_WR_Parameter(0x09); ILI9341_WR_Parameter(0x0d); ILI9341_WR_Parameter(0x1f); ILI9341_WR_Parameter(0x2a); ILI9341_WR_Parameter(0x30); ILI9341_WR_Parameter(0x3f); ILI9341_WR_Parameter(0x00); ILI9341_WR_Parameter(0xc1); //ILI9341_WR_COMD(0xba); //ILI9341_WR_Parameter(0x00); //ILI9341_WR_Parameter(0x00); /* ILI9341_WR_COMD(0x3A); // Memory Access Control ILI9341_WR_Parameter(0x55); //66 ILI9341_WR_COMD(0x36); // Memory Access Control ILI9341_WR_Parameter(0x48); // 0x48 0x88 //ILI9341_WR_COMD(0x35); //Set TE ON //ADD //ILI9341_WR_Parameter(0x00); */ /* ILI9341_WR_COMD(0xef); ILI9341_WR_Parameter (0x03); ILI9341_WR_Parameter (0x80); ILI9341_WR_Parameter (0x02); ILI9341_WR_COMD(0xcf); ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0xaa); ILI9341_WR_Parameter (0xb0); ILI9341_WR_COMD(0xed); ILI9341_WR_Parameter (0x67); ILI9341_WR_Parameter (0x03); ILI9341_WR_Parameter (0x12); ILI9341_WR_Parameter (0x81); ILI9341_WR_COMD(0xcb); ILI9341_WR_Parameter (0x39); ILI9341_WR_Parameter (0x2c); ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x34); ILI9341_WR_Parameter (0x02); ILI9341_WR_COMD(0xea); ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x00); ILI9341_WR_COMD(0xe8); ILI9341_WR_Parameter (0x85); ILI9341_WR_Parameter (0x0a); ILI9341_WR_Parameter (0x78); */ /* ILI9341_WR_COMD(0xC0); //Power control ILI9341_WR_Parameter (0x26); //VRH[5:0] ILI9341_WR_COMD(0xC1); //Power control ILI9341_WR_Parameter (0x01); //SAP[2:0];BT[3:0] ILI9341_WR_COMD(0xC5); //VCM control ILI9341_WR_Parameter (0x2b); ILI9341_WR_Parameter (0x2C); ILI9341_WR_COMD(0xc7); ILI9341_WR_Parameter (0xc3); */ ILI9341_WR_COMD(0x3A); ILI9341_WR_Parameter (0x55); ILI9341_WR_COMD(0x36); // Memory Access Control // ILI9341_WR_Parameter (0x08); // 屏幕旋转 my,mx,mv,ml,BGR,mh,0.0 ILI9341_WR_Parameter (0x28); // 屏幕旋转 my,mx,mv,ml,BGR,mh,0.0 //if MADCTL BIT5=1, EC[15:0]=0x013f,28/68/A8/E8 //if MADCTL BIT5=0, EC[15:0]=0x00ef,08/48/88/c8 /*ILI9341_WR_COMD(0xB1); // Frame Rate Control ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x18); ILI9341_WR_COMD(0xB6); // Display Function Control ILI9341_WR_Parameter (0x0a); ILI9341_WR_Parameter (0xa2);*/ /* ILI9341_WR_COMD(0xb6); ILI9341_WR_Parameter(0x26); ILI9341_WR_Parameter(0x03); ILI9341_WR_Parameter(0x10); ILI9341_WR_COMD(0xb1); ILI9341_WR_Parameter(0x01); ILI9341_WR_Parameter(0x90); ILI9341_WR_COMD(0xF2); // 3Gamma Function Disable ILI9341_WR_Parameter (0x00); ILI9341_WR_COMD(0x26); //Gamma curve selected ILI9341_WR_Parameter (0x01); ILI9341_WR_COMD(0xE0); //Set Gamma ILI9341_WR_Parameter (0x0f); ILI9341_WR_Parameter (0x1d); ILI9341_WR_Parameter (0x1a); ILI9341_WR_Parameter (0x09); ILI9341_WR_Parameter (0x0f); ILI9341_WR_Parameter (0x09); ILI9341_WR_Parameter (0x46); ILI9341_WR_Parameter (0x88); ILI9341_WR_Parameter (0x39); ILI9341_WR_Parameter (0x05); ILI9341_WR_Parameter (0x0f); ILI9341_WR_Parameter (0x03); ILI9341_WR_Parameter (0x07); ILI9341_WR_Parameter (0x05); ILI9341_WR_Parameter (0x00); ILI9341_WR_COMD(0xE1); //Set Gamma ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x22); ILI9341_WR_Parameter (0x25); ILI9341_WR_Parameter (0x06); ILI9341_WR_Parameter (0x10); ILI9341_WR_Parameter (0x06); ILI9341_WR_Parameter (0x39); ILI9341_WR_Parameter (0x22); ILI9341_WR_Parameter (0x4a); ILI9341_WR_Parameter (0x0a); ILI9341_WR_Parameter (0x10); ILI9341_WR_Parameter (0x0c); ILI9341_WR_Parameter (0x38); ILI9341_WR_Parameter (0x3a); ILI9341_WR_Parameter (0x0F); */ ILI9341_WR_COMD(0x2a); // column set ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=0, EC[15:0]=0x00ef ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=1, EC[15:0]=0x013f ILI9341_WR_Parameter(0x01); //01 ILI9341_WR_Parameter(0x8f); //8f //400 ILI9341_WR_COMD(0x2b); // page address set ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=0, EP[15:0]=0x013f ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=1, EP[15:0]=0x00ef ILI9341_WR_Parameter(0x00); //00 ILI9341_WR_Parameter(0xef); //ef //240 ILI9341_WR_COMD(0xba); //--- ILI9341_WR_Parameter (0x85); ILI9341_WR_Parameter (0x66); ILI9341_WR_COMD(0xb3); //--- ILI9341_WR_Parameter (0xb4); ILI9341_WR_Parameter (0x80); //0x80 EQ ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x00); ILI9341_WR_COMD(0xb7); ILI9341_WR_Parameter(0x64); //70 duibidu: 0x68 5.496v ILI9341_WR_Parameter(0x44); ILI9341_WR_Parameter(0x03); ILI9341_WR_COMD(0xb8); ILI9341_WR_Parameter(0x68); //70 duibidu: 0x68 5.496v ILI9341_WR_Parameter(0x54); ILI9341_WR_Parameter(0x11); ILI9341_WR_Parameter(0x00); ILI9341_WR_COMD(0x35); //--- ILI9341_WR_Parameter (0x00); /* //HCK ILI9341_WR_COMD(0xb2); //--- ILI9341_WR_Parameter (0xff); */ ILI9341_WR_COMD(0xb0); //--- ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x00); ILI9341_WR_Parameter (0x7f); //越大切线越少 ILI9341_WR_Parameter (0x7f); //越大切线越少 ILI9341_WR_COMD(0x36); // Memory Access Control ILI9341_WR_Parameter (0x08); // 屏幕旋转 my,mx,mv,ml,BGR,mh,0.0 //if MADCTL BIT5=1, EC[15:0]=0x013f,28/68/A8/E8 //if MADCTL BIT5=0, EC[15:0]=0x00ef,08/48/88/c8 ILI9341_WR_COMD(0x2a); // column set ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=0, EC[15:0]=0x00ef ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=1, EC[15:0]=0x013f ILI9341_WR_Parameter(0x00); //00 ILI9341_WR_Parameter(0xef); //ef //240 ILI9341_WR_COMD(0x2b); // page address set ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=0, EP[15:0]=0x013f ILI9341_WR_Parameter(0x00); //if MADCTL BIT5=1, EP[15:0]=0x00ef ILI9341_WR_Parameter(0x01); //01 ILI9341_WR_Parameter(0x8f); //8f //400 ILI9341_WR_COMD(0x11); //Exit Sleep drv_msec_wait(120); ILI9341_WR_COMD(0x29); //Display on ILI9341_WR_COMD(0x2c); //memory write //================================================================== //TFT_ILI9341_Clear(0xffff); //TFT_ILI9341_Clear(0x07E0); //TFT_ILI9341_Clear(0xf800); DBG_PRINT("TFT_D51E5TA8566_Clear\r\n"); //tft_backlight_en_set(TRUE); R_TFT_VS_WIDTH = 20; //0xD0500148 R_TFT_V_PERIOD = 399; //0xD0500144 R_TFT_V_START = 5; //0xD050014C R_TFT_HS_WIDTH = 4; //0xD0500158 R_TFT_H_PERIOD = 239; //0xD0500154 R_TFT_H_START = 4; //0xD050015C /* R_TFT_VS_START = 00; //0xD05001B0 R_TFT_VS_END = 240; //0xD05001B4 R_TFT_HS_START = 0; //0xD05001B8 R_TFT_HS_END = 399; //0xD05001BC */ R_TFT_TS_MISC = 0x0000; R_TFT_CTRL = 0x20D2; AP_TFT_ClK_144M_set(); ap_display_TE_sync_I80_start(); TEST_Display_Data_180_degree_set(0); }