di: Update display panels and info

This commit is contained in:
CTCaer 2020-07-17 16:57:45 +03:00
parent e158d9bc00
commit f559017aeb
3 changed files with 72 additions and 22 deletions

View file

@ -170,8 +170,8 @@ void display_init()
DSI(_DSIREG(DSI_TRIGGER)) = DSI_TRIGGER_HOST; DSI(_DSIREG(DSI_TRIGGER)) = DSI_TRIGGER_HOST;
usleep(5000); usleep(5000);
break; break;
case PANEL_INL_P062CCA_AZ2: case PANEL_INL_2J055IA_27A:
case PANEL_AUO_A062TAN02: case PANEL_AUO_A055TAN01:
default: // Allow spare part displays to work. default: // Allow spare part displays to work.
_display_dsi_send_cmd(MIPI_DSI_DCS_SHORT_WRITE, MIPI_DCS_EXIT_SLEEP_MODE, 120000); _display_dsi_send_cmd(MIPI_DSI_DCS_SHORT_WRITE, MIPI_DCS_EXIT_SLEEP_MODE, 120000);
break; break;
@ -269,15 +269,15 @@ void display_end()
case PANEL_AUO_A062TAN01: case PANEL_AUO_A062TAN01:
exec_cfg((u32 *)DSI_BASE, _display_deinit_config_auo, 37); exec_cfg((u32 *)DSI_BASE, _display_deinit_config_auo, 37);
break; break;
case PANEL_INL_P062CCA_AZ2: case PANEL_INL_2J055IA_27A:
case PANEL_AUO_A062TAN02: case PANEL_AUO_A055TAN01:
DSI(_DSIREG(DSI_WR_DATA)) = 0x439; // MIPI_DSI_DCS_LONG_WRITE: 4 bytes. DSI(_DSIREG(DSI_WR_DATA)) = 0x439; // MIPI_DSI_DCS_LONG_WRITE: 4 bytes.
DSI(_DSIREG(DSI_WR_DATA)) = 0x9483FFB9; // Enable extension cmd. (Pass: FF 83 94). DSI(_DSIREG(DSI_WR_DATA)) = 0x9483FFB9; // Enable extension cmd. (Pass: FF 83 94).
DSI(_DSIREG(DSI_TRIGGER)) = DSI_TRIGGER_HOST; DSI(_DSIREG(DSI_TRIGGER)) = DSI_TRIGGER_HOST;
usleep(5000); usleep(5000);
// Set Power. // Set Power.
DSI(_DSIREG(DSI_WR_DATA)) = 0xB39; // MIPI_DSI_DCS_LONG_WRITE: 11 bytes. DSI(_DSIREG(DSI_WR_DATA)) = 0xB39; // MIPI_DSI_DCS_LONG_WRITE: 11 bytes.
if (_display_id == PANEL_INL_P062CCA_AZ2) if (_display_id == PANEL_INL_2J055IA_27A)
DSI(_DSIREG(DSI_WR_DATA)) = 0x751548B1; // Set Power control. (Not deep standby, BT5 / XDK, VRH gamma volt adj 53 / x40). DSI(_DSIREG(DSI_WR_DATA)) = 0x751548B1; // Set Power control. (Not deep standby, BT5 / XDK, VRH gamma volt adj 53 / x40).
else else
DSI(_DSIREG(DSI_WR_DATA)) = 0x711148B1; // Set Power control. (Not deep standby, BT1 / XDK, VRH gamma volt adj 49 / x40). DSI(_DSIREG(DSI_WR_DATA)) = 0x711148B1; // Set Power control. (Not deep standby, BT1 / XDK, VRH gamma volt adj 49 / x40).

View file

@ -496,12 +496,18 @@
#define MIPI_DCS_SET_DISPLAY_ON 0x29 #define MIPI_DCS_SET_DISPLAY_ON 0x29
/* Switch Panels: /* Switch Panels:
*
* 6.2 panels":
* [10] 81 [26]: JDI LPM062M326A * [10] 81 [26]: JDI LPM062M326A
* [10] 96 [09]: JDI LAM062M109A * [10] 96 [09]: JDI LAM062M109A
* [20] 93 [0F]: InnoLux P062CCA-AZ1 (Rev A1) * [20] 93 [0F]: InnoLux P062CCA-AZ1 (Rev A1)
* [20] XX [10]: InnoLux P062CCA-AZ2 [UNCONFIRMED ID] * [20] 95 [0F]: InnoLux P062CCA-AZ2
* [30] 94 [0F]: AUO A062TAN01 (59.06A33.001) * [30] 94 [0F]: AUO A062TAN01 (59.06A33.001)
* [30] XX [10]: AUO A062TAN02 (59.06A33.002) [UNCONFIRMED ID] * [30] XX [0F]: AUO A062TAN02 (59.06A33.002) [UNCONFIRMED ID]
*
* 5.5" panels:
* [20] 94 [10]: InnoLux 2J055IA-27A (Rev B1)
* [30] XX [10]: AUO A055TAN01 (59.05A30.001) [UNCONFIRMED ID]
*/ */
enum enum
@ -511,8 +517,8 @@ enum
PANEL_JDI_LPM062M326A = 0x2610, PANEL_JDI_LPM062M326A = 0x2610,
PANEL_INL_P062CCA_AZ1 = 0x0F20, PANEL_INL_P062CCA_AZ1 = 0x0F20,
PANEL_AUO_A062TAN01 = 0x0F30, PANEL_AUO_A062TAN01 = 0x0F30,
PANEL_INL_P062CCA_AZ2 = 0x1020, PANEL_INL_2J055IA_27A = 0x1020,
PANEL_AUO_A062TAN02 = 0x1030 PANEL_AUO_A055TAN01 = 0x1030
}; };
void display_init(); void display_init();

View file

@ -378,6 +378,7 @@ static lv_res_t _create_mbox_cal0(lv_obj_t *btn)
cal0->bd_mac[0], cal0->bd_mac[1], cal0->bd_mac[2], cal0->bd_mac[3], cal0->bd_mac[4], cal0->bd_mac[5], cal0->bd_mac[0], cal0->bd_mac[1], cal0->bd_mac[2], cal0->bd_mac[3], cal0->bd_mac[4], cal0->bd_mac[5],
cal0->battery_lot); cal0->battery_lot);
u8 display_rev = (nyx_str->info.disp_id >> 8) & 0xFF;
u32 display_id = (cal0->lcd_vendor & 0xFF) << 8 | (cal0->lcd_vendor & 0xFF0000) >> 16; u32 display_id = (cal0->lcd_vendor & 0xFF) << 8 | (cal0->lcd_vendor & 0xFF0000) >> 16;
switch (display_id) switch (display_id)
{ {
@ -388,16 +389,37 @@ static lv_res_t _create_mbox_cal0(lv_obj_t *btn)
strcat(txt_buf, "JDI LPM062M326A"); strcat(txt_buf, "JDI LPM062M326A");
break; break;
case PANEL_INL_P062CCA_AZ1: case PANEL_INL_P062CCA_AZ1:
strcat(txt_buf, "InnoLux P062CCA-AZ1"); strcat(txt_buf, "InnoLux P062CCA-AZ");
switch (display_rev)
{
case 0x93:
strcat(txt_buf, "1");
break;
case 0x95:
strcat(txt_buf, "2");
break;
default:
strcat(txt_buf, "X");
break;
}
break; break;
case PANEL_AUO_A062TAN01: case PANEL_AUO_A062TAN01:
strcat(txt_buf, "AUO A062TAN01"); strcat(txt_buf, "AUO A062TAN0");
switch (display_rev)
{
case 0x94:
strcat(txt_buf, "1");
break;
default:
strcat(txt_buf, "X");
break;
}
break; break;
case PANEL_INL_P062CCA_AZ2: case PANEL_INL_2J055IA_27A:
strcat(txt_buf, "InnoLux P062CCA-AZ2"); strcat(txt_buf, "InnoLux 2J055IA-27A");
break; break;
case PANEL_AUO_A062TAN02: case PANEL_AUO_A055TAN01:
strcat(txt_buf, "AUO A062TAN02"); strcat(txt_buf, "AUO A055TAN01");
break; break;
default: default:
switch (cal0->lcd_vendor & 0xFF) switch (cal0->lcd_vendor & 0xFF)
@ -640,6 +662,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
s_printf(txt_buf + strlen(txt_buf), " (%d)\n\n", (ram_density.dev1_ch0 & 0x3C) >> 2); s_printf(txt_buf + strlen(txt_buf), " (%d)\n\n", (ram_density.dev1_ch0 & 0x3C) >> 2);
// Display info. // Display info.
u8 display_rev = (nyx_str->info.disp_id >> 8) & 0xFF;
u32 display_id = ((nyx_str->info.disp_id >> 8) & 0xFF00) | (nyx_str->info.disp_id & 0xFF); u32 display_id = ((nyx_str->info.disp_id >> 8) & 0xFF00) | (nyx_str->info.disp_id & 0xFF);
strcat(txt_buf, "#00DDFF Display Panel:#\n#FF8000 Model:# "); strcat(txt_buf, "#00DDFF Display Panel:#\n#FF8000 Model:# ");
@ -653,16 +676,37 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "JDI LPM062M326A"); strcat(txt_buf, "JDI LPM062M326A");
break; break;
case PANEL_INL_P062CCA_AZ1: case PANEL_INL_P062CCA_AZ1:
strcat(txt_buf, "InnoLux P062CCA-AZ1"); strcat(txt_buf, "InnoLux P062CCA-AZ");
switch (display_rev)
{
case 0x93:
strcat(txt_buf, "1");
break;
case 0x95:
strcat(txt_buf, "2");
break;
default:
strcat(txt_buf, "X #FFDD00 Contact me!#");
break;
}
break; break;
case PANEL_AUO_A062TAN01: case PANEL_AUO_A062TAN01:
strcat(txt_buf, "AUO A062TAN01"); strcat(txt_buf, "AUO A062TAN0");
switch (display_rev)
{
case 0x94:
strcat(txt_buf, "1");
break;
default:
strcat(txt_buf, "X #FFDD00 Contact me!#");
break;
}
break; break;
case PANEL_INL_P062CCA_AZ2: case PANEL_INL_2J055IA_27A:
strcat(txt_buf, "InnoLux P062CCA-AZ2"); strcat(txt_buf, "InnoLux 2J055IA-27A");
break; break;
case PANEL_AUO_A062TAN02: case PANEL_AUO_A055TAN01:
strcat(txt_buf, "AUO A062TAN02"); strcat(txt_buf, "AUO A055TAN01");
break; break;
default: default:
switch (display_id & 0xFF) switch (display_id & 0xFF)
@ -677,7 +721,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "AUO "); strcat(txt_buf, "AUO ");
break; break;
} }
strcat(txt_buf, "Unknown"); strcat(txt_buf, "Unknown #FFDD00 Contact me!#");
break; break;
} }