From f559017aebd203520cf4d39ce4ea544ad73866c0 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Fri, 17 Jul 2020 16:57:45 +0300 Subject: [PATCH] di: Update display panels and info --- bdk/gfx/di.c | 10 ++--- bdk/gfx/di.h | 14 +++++-- nyx/nyx_gui/frontend/gui_info.c | 70 +++++++++++++++++++++++++++------ 3 files changed, 72 insertions(+), 22 deletions(-) diff --git a/bdk/gfx/di.c b/bdk/gfx/di.c index 8b4758f..692daa3 100644 --- a/bdk/gfx/di.c +++ b/bdk/gfx/di.c @@ -170,8 +170,8 @@ void display_init() DSI(_DSIREG(DSI_TRIGGER)) = DSI_TRIGGER_HOST; usleep(5000); break; - case PANEL_INL_P062CCA_AZ2: - case PANEL_AUO_A062TAN02: + case PANEL_INL_2J055IA_27A: + case PANEL_AUO_A055TAN01: default: // Allow spare part displays to work. _display_dsi_send_cmd(MIPI_DSI_DCS_SHORT_WRITE, MIPI_DCS_EXIT_SLEEP_MODE, 120000); break; @@ -269,15 +269,15 @@ void display_end() case PANEL_AUO_A062TAN01: exec_cfg((u32 *)DSI_BASE, _display_deinit_config_auo, 37); break; - case PANEL_INL_P062CCA_AZ2: - case PANEL_AUO_A062TAN02: + case PANEL_INL_2J055IA_27A: + case PANEL_AUO_A055TAN01: 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_TRIGGER)) = DSI_TRIGGER_HOST; usleep(5000); // Set Power. 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). else DSI(_DSIREG(DSI_WR_DATA)) = 0x711148B1; // Set Power control. (Not deep standby, BT1 / XDK, VRH gamma volt adj 49 / x40). diff --git a/bdk/gfx/di.h b/bdk/gfx/di.h index 2723de0..721f41b 100644 --- a/bdk/gfx/di.h +++ b/bdk/gfx/di.h @@ -496,12 +496,18 @@ #define MIPI_DCS_SET_DISPLAY_ON 0x29 /* Switch Panels: + * + * 6.2 panels": * [10] 81 [26]: JDI LPM062M326A * [10] 96 [09]: JDI LAM062M109A * [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] 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 @@ -511,8 +517,8 @@ enum PANEL_JDI_LPM062M326A = 0x2610, PANEL_INL_P062CCA_AZ1 = 0x0F20, PANEL_AUO_A062TAN01 = 0x0F30, - PANEL_INL_P062CCA_AZ2 = 0x1020, - PANEL_AUO_A062TAN02 = 0x1030 + PANEL_INL_2J055IA_27A = 0x1020, + PANEL_AUO_A055TAN01 = 0x1030 }; void display_init(); diff --git a/nyx/nyx_gui/frontend/gui_info.c b/nyx/nyx_gui/frontend/gui_info.c index dbb6df4..61a67d8 100644 --- a/nyx/nyx_gui/frontend/gui_info.c +++ b/nyx/nyx_gui/frontend/gui_info.c @@ -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->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; switch (display_id) { @@ -388,16 +389,37 @@ static lv_res_t _create_mbox_cal0(lv_obj_t *btn) strcat(txt_buf, "JDI LPM062M326A"); break; 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; 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; - case PANEL_INL_P062CCA_AZ2: - strcat(txt_buf, "InnoLux P062CCA-AZ2"); + case PANEL_INL_2J055IA_27A: + strcat(txt_buf, "InnoLux 2J055IA-27A"); break; - case PANEL_AUO_A062TAN02: - strcat(txt_buf, "AUO A062TAN02"); + case PANEL_AUO_A055TAN01: + strcat(txt_buf, "AUO A055TAN01"); break; default: 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); // 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); 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"); break; 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; 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; - case PANEL_INL_P062CCA_AZ2: - strcat(txt_buf, "InnoLux P062CCA-AZ2"); + case PANEL_INL_2J055IA_27A: + strcat(txt_buf, "InnoLux 2J055IA-27A"); break; - case PANEL_AUO_A062TAN02: - strcat(txt_buf, "AUO A062TAN02"); + case PANEL_AUO_A055TAN01: + strcat(txt_buf, "AUO A055TAN01"); break; default: 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 "); break; } - strcat(txt_buf, "Unknown"); + strcat(txt_buf, "Unknown #FFDD00 Contact me!#"); break; }