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;	
}