void panel_read_id(void) { int nMaxReadByte = 16, dataSize = SEC_DSI_MTP_DATA_LEN; u8 *pPanelID = gPanelID; u8 *pMtpData = gMtpData; pr_info("%s\n", __func__); /* Read panel ID*/ panel_read(0xDA, pPanelID, 1); panel_read(0xDB, pPanelID+1, 1); panel_read(0xDC, pPanelID+2, 1); /* Read mtpdata*/ pr_info("%s: Write direct_access00_seq\n", __func__); panel_write(&direct_access00_seq[0]); panel_read(0xD3, pMtpData, nMaxReadByte); pr_info("%s: Write direct_access01_seq\n", __func__); panel_write(&direct_access10_seq[0]); panel_read(0xD3, pMtpData+nMaxReadByte, dataSize-nMaxReadByte); #if 0 { int n = 0; for(n = 0; n < dataSize ; n++) printk("[DISPDRV] mtpData[%d] = 0x%02X\n", n, pMtpData[n]); } #endif }
void panel_read_id(void) { u8 *pPanelID = gPanelID; pr_info("%s\n", __func__); /* Read panel ID*/ panel_read(0xDA, pPanelID, 1); printk("[LCD] gPanelID1 = 0x%02X\n", pPanelID[0]); panel_read(0xDB, pPanelID+1, 1); printk("[LCD] gPanelID2 = 0x%02X\n", pPanelID[1]); panel_read(0xDC, pPanelID+2, 1); printk("[LCD] gPanelID3 = 0x%02X\n", pPanelID[2]); }
int panel_read_id(char *panel_name) { int ret=0; int read_HS = 0; multi_lcd_num = multi_lcd_num -1; /* Read panel ID*/ kona_fb_obtain_lock(); /* For NT35510_BOE read panel id in HS mode */ if(strcmp(panel_name, "NT35510") == 0) { read_HS = 1; } if(read_HS) ret = panel_read_HSmode(0xDA, gPanelID, 1); else ret=panel_read(0xDA, gPanelID, 1); if(ret<0) goto read_error; id1= gPanelID[0]; if(read_HS) ret=panel_read_HSmode(0xDB, gPanelID, 1); else ret=panel_read(0xDB, gPanelID, 1); if(ret<0) goto read_error; id2= gPanelID[0]; if(read_HS) ret=panel_read_HSmode(0xDC, gPanelID, 1); else ret=panel_read(0xDC, gPanelID, 1); if(ret<0) goto read_error; id3= gPanelID[0]; printk("[LCD] id1 = %x, id2 = %x, id3 = %x,\n", id1, id2, id3); if(!panel1_id_checked){ if((id1==0x55)&&(id2==0xBC)&&(id3==0x90)){ // BOE_1 ret=LCD_PANEL_ID_ONE; printk("[LCD] BOE_1 panel, ret=%d\n", ret); } else{ ret= -1; } panel1_id_checked=1; goto read_error; } if(!panel2_id_checked){ if((id1==0x55)&&(id2==0xBE)&&(id3==0x90)){ // BOE_2 ret=LCD_PANEL_ID_TWO; printk("[LCD] BOE_2 panel, ret=%d\n", ret); } else{ ret= -1; } panel2_id_checked=1; goto read_error; } if(!panel3_id_checked){ if((id1==0x55)&&(id2==0xBF)&&(id3==0x90)){ // BOE_3 ret=LCD_PANEL_ID_THREE; printk("[LCD] BOE_3 panel, ret=%d\n", ret); } else{ ret= -1; } panel3_id_checked=1; goto read_error; } read_error: kona_fb_release_lock(); if((multi_lcd_num==0)&&(ret<0)) ret=LCD_PANEL_NOT_CONNECTION; printk("[LCD] %s : ret=%d\n", __func__, ret); return ret; }