//***************************************************************************** // // // Copyright (c) 2012 - 2019, Hefei LCFC Information Technology Co.Ltd. // And/or its affiliates. All rights reserved. // Hefei LCFC Information Technology Co.Ltd. PROPRIETARY/CONFIDENTIAL. // Use is subject to license terms. // //****************************************************************************** #include #include #include #include #include //[-start-210630-Dongxu0005-add]// //[-start-210706-LIUJIE0001-add]// //[-start-210929-TAMT000016-modify]// //[-start-211211-TAMT000039-modify]// #if defined(C970_SUPPORT) || defined(C770_SUPPORT) || defined(S77014_SUPPORT) || defined(S77013_SUPPORT) || defined(S77014IAH_SUPPORT) #include #include #include #include #include //#include //[-end-211211-TAMT000039-modify]// //[-end-210929-TAMT000016-modify]// //[-end-210706-LIUJIE0001-add]// #endif #include //[-start-211108-Dennis0008-add]// #include //[-end-211108-Dennis0008-add]// //[-start-220113-TAMT000043-add]// //[-start-220119-TAMT000044-remove]// //[-start-220209-TAMT000043a-add]// #if defined(S77013_SUPPORT) #include #include #include #include #include #include #include #include #include #endif //[-end-220209-TAMT000043a-add]// //[-end-220119-TAMT000044-remove]// //[-end-220113-TAMT000043-add]// //[-start-220118-BAIN000090-add]// //[-start-220221-OWENWU0039-add]// //[-start-220328-Ching000038-modify]// #if defined(S77013_SUPPORT) || defined(S370_SUPPORT) || defined(S570_SUPPORT) || defined(S77014IAH_SUPPORT) #include #include #include #include #define MAX_STRING_LENGTH 128 #endif //[-end-220328-Ching000038-modify]// //[-end-220221-OWENWU0039-add]// //[-end-220118-BAIN000090-add]// //[-start-220118-BAIN000090-add]// //[-start-220221-OWENWU0039-add]// //[-start-220328-Ching000038-modify]// #if defined(S77013_SUPPORT) || defined(S370_SUPPORT) || defined(S570_SUPPORT) || defined(S77014IAH_SUPPORT) //[-end-220328-Ching000038-modify]// //[-end-220221-OWENWU0039-add]// /** Delet the flash image from EFI System Partition. It's actually doing it in LoadIsFlashImageCallback() but it can't be executed because of X EC flash rest. **/ EFI_STATUS DeletflashImageFromEsp ( ) { EFI_STATUS Status; UINTN NumberOfHandles; EFI_HANDLE *HandleBuffer; UINTN Index; EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *EspSimpleFileSystem; EFI_FILE_HANDLE SysDir; EFI_FILE_HANDLE File; BOOLEAN Found; UINTN BufferSize; EFI_FILE_INFO *FileInfo; CHAR16 ImagePath[MAX_STRING_LENGTH]; UnicodeSPrint (ImagePath, MAX_STRING_LENGTH, L"%s\\isflash.bin", PcdGetPtr (PcdCapsuleImageFolder)); HandleBuffer = NULL; BufferSize = 0; FileInfo = NULL; SysDir = NULL; File = NULL; EspSimpleFileSystem = NULL; // // Search all simple file system // Status = gBS->LocateHandleBuffer( ByProtocol, &gEfiSimpleFileSystemProtocolGuid, NULL, &NumberOfHandles, &HandleBuffer ); if (EFI_ERROR(Status)) { return Status; } Found = FALSE; for (Index = 0; Index < NumberOfHandles; Index++) { Status = gBS->HandleProtocol( HandleBuffer[Index], &gEfiSimpleFileSystemProtocolGuid, (VOID **)&EspSimpleFileSystem ); if (EFI_ERROR(Status)) { continue; } // // Get the system dir // Status = EspSimpleFileSystem->OpenVolume( EspSimpleFileSystem, &SysDir ); if (!EFI_ERROR(Status)) { // // check the flash image exist // Status = SysDir->Open (SysDir, &File, ImagePath, // "EFI\\Insyde\\isflash.bin" EFI_FILE_MODE_READ, 0 ); if (!EFI_ERROR(Status)) { Found = TRUE; break; } } } if (!Found) { goto CloseSysDirAndExit; } // // Get file info to check file attribute // Status = File->GetInfo ( File, &gEfiFileInfoGuid, &BufferSize, FileInfo ); if (Status == EFI_BUFFER_TOO_SMALL) { FileInfo = AllocatePool(BufferSize); if (FileInfo == NULL) { goto CloseFileAndExit; } Status = File->GetInfo ( File, &gEfiFileInfoGuid, &BufferSize, FileInfo ); } if (EFI_ERROR (Status) || FileInfo == NULL) { goto CloseFileAndExit; } // // If the attribute of the file is read only, remove the attribute. // Because the file will be remove. // The file attributes will be valid the next time the file is opened with Open(). // if ((FileInfo->Attribute & EFI_FILE_READ_ONLY) == EFI_FILE_READ_ONLY) { FileInfo->Attribute &= ~EFI_FILE_READ_ONLY; Status = File->SetInfo ( File, &gEfiFileInfoGuid, BufferSize, FileInfo ); if (EFI_ERROR(Status)) { goto CloseFileAndExit; } } // // Close the file with READ mode // Re-Open file with R/W mode. // Status = File->Close(File); Status = SysDir->Open (SysDir, &File, ImagePath, // "EFI\\Insyde\\isflash.bin" EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE, 0 ); if (EFI_ERROR(Status)) { goto CloseSysDirAndExit; } // Delete last isflash.bin complete the whole Secureflash action. if (Status == EFI_SUCCESS) { Status = File->Delete (File); } CloseFileAndExit: File->Close(File); CloseSysDirAndExit: if (SysDir != NULL){ SysDir->Close(SysDir); } if (FileInfo != NULL) { FreePool (FileInfo); } if (HandleBuffer != NULL) { FreePool (HandleBuffer); } return Status; } #endif //[-end-220118-BAIN000090-add]// typedef struct { UINT8 EDID[0x100]; ///Panel EDID (DDC data) } LFC_EDID; //[start-210923-STORM1116-modify] typedef struct { UINT8 Original_EdidOffset8; // Panel EDID manufacture name UINT8 Original_EdidOffset9; // Panel EDID manufacture name UINT8 Original_EdidOffset10; // Panel Product Code UINT8 Original_EdidOffset11; // Panel Product Code UINT8 HDR_Support; UINT8 EDID[0x100]; ///Panel EDID (DDC data) } LFC_EDID_INFO; //[end-210923-STORM1116-modify] #if defined(C970_SUPPORT) LFC_EDID c970_override_table[] = { {//MNE007JA1-1 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xA6, 0x88, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0xE3, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x35, 0x3C, //56-63 0x80, 0xA0, 0x70, 0xB0, 0x23, 0x40, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, 0x3C, 0x4A, //80-87 0x4A, 0x0F, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x0A, 0x20, 0x00, 0x17, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, {//LP140WU1-SPB2 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xA7, 0x88, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0xE3, 0x28, 0x15, 0xA4, 0x54, 0x4A, 0x9C, 0x26, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x35, 0x3C, //56-63 0x80, 0xA0, 0x70, 0xB0, 0x23, 0x40, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x1A, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, 0x3C, 0x4A, //80-87 0x4A, 0x10, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x0A, 0x20, 0x00, 0x59, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, {//ATNA40YK01 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x0A, 0x20, 0x20, 0x20, 0x01, 0x27, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, {//ATNA40YN01 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x97, 0x8B, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x71, 0xDF, //56-63 0x00, 0x50, 0xF0, 0x60, 0x20, 0x90, 0x20, 0x08, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0x71, 0xDF, 0x00, 0x50, 0xF0, 0x60, 0x20, 0x90, //80-87 0x20, 0x08, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x55, 0x58, 0x47, 0x41, 0x0A, 0x01, 0xED, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, {//MNE007JA1-2 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xA9, 0x88, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0xE3, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x35, 0x3C, //56-63 0x80, 0xA0, 0x70, 0xB0, 0x23, 0x40, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, 0x3C, 0x4A, //80-87 0x4A, 0x0F, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x0A, 0x20, 0x00, 0x14, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, }; //[-start-210923-YUNLEI0138-modify]// #elif defined(C770_SUPPORT) LFC_EDID_INFO C770_override_table[] = { { //[-start-211029-YULU0003-modify]// 0x4C,0x83,0x52,0x41, //[-end-211029-YULU0003-modify]// // HDR Support or not 0x01, //ATNA40YK01-0 2.8k OLED //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x0A, 0x20, 0x20, 0x20, 0x01, 0x27, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, { //[-start-211029-YULU0003-modify]// 0x4C,0x83,0x7A,0x41, //[-end-211029-YULU0003-modify]// // HDR Support or not 0x01, //ATNA40YK08-0 2.8k OLED //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x0A, 0x20, 0x20, 0x20, 0x01, 0x27, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, //[-start-211018-YUNLEI0143-modify]// { 0x06,0xAF,0x95,0xA1, // HDR Support or not 0x00, //B140QAN05.0 14AUO //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xBC, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x03, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x3E, 0x50, 0x30, 0x20, //64-71 0x35, 0x00, 0x2C, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x3C, 0x58, //80-87 0x58, 0x15, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x2B, 0x20, 0x00, 0x41, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x09,0xE5,0x1B,0x0B, // HDR Support or not 0x00, //NV140DRM-N62 V8.3 14BOE //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xBD, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x09, 0x20, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x07, 0xA7, 0xE5, 0xA3, 0x54, 0x4A, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07, 0x53, //56-63 0xC0, 0xDC, 0x80, 0x78, 0x28, 0x50, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1A, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x3C, 0x56, //80-87 0x56, 0x15, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x2B, 0x20, 0x00, 0x3B, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x26,0xCF,0x45,0x8C, // HDR Support or not 0x00, //M140NWHE R1 14IVO //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xBB, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x03, 0xDE, 0x50, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x8D, 0x50, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x20, 0x50, 0x18, 0x30, //64-71 0x3C, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x19, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x3C, 0x56, //80-87 0x56, 0x15, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x58, 0x47, 0x41, 0x2B, 0x20, 0x00, 0x70, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x06,0xAF,0x9F,0xF0, // HDR Support or not 0x00, //B160QAN02.W 1A 16AUO //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x9A, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x1F, 0x1F, 0x01, 0x04, 0xA5, 0x22, 0x16, 0x78, //24-31 0x03, 0x47, 0xA5, 0xA8, 0x55, 0x48, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0C, 0x6C, //56-63 0x00, 0xA0, 0xA0, 0x40, 0x5E, 0x60, 0x30, 0x20, //64-71 0xAA, 0x00, 0x58, 0xD7, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, 0x3C, 0x66, //80-87 0x66, 0x1C, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x36, 0x30, 0x57, //120-127 0x51, 0x58, 0x47, 0x41, 0x20, 0x20, 0x00, 0xB9, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x09,0xE5,0xDF,0x0A, // HDR Support or not 0x00, //NE160QDM-N63 V8.2 16BOE //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x9C, 0x8B, 0x00, 0x00, 0x00, 0x00, //16-23 0x2A, 0x1E, 0x01, 0x04, 0xA5, 0x22, 0x16, 0x78, //24-31 0x03, 0x9D, 0x25, 0xA5, 0x55, 0x4B, 0x9B, 0x25, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x62, 0x6B, //56-63 0x00, 0xC8, 0xA0, 0x40, 0x3C, 0x60, 0x30, 0x20, //64-71 0x36, 0x00, 0x59, 0xD7, 0x10, 0x00, 0x00, 0x1A, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x3C, 0x64, //80-87 0x64, 0x1C, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x36, 0x30, 0x57, //120-127 0x51, 0x58, 0x47, 0x41, 0x20, 0x20, 0x00, 0xFA, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, { 0x0E,0x6F,0x19,0x16, // HDR Support or not 0x00, //MNG007DA1-N 16CSOT //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x9D, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x20, 0x01, 0x04, 0xA5, 0x22, 0x16, 0x78, //24-31 0xE3, 0x74, 0xD5, 0xA4, 0x54, 0x4C, 0x9A, 0x24, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xEF, 0x68, //56-63 0x00, 0xA0, 0xA0, 0x40, 0x2E, 0x60, 0x30, 0x20, //64-71 0x36, 0x00, 0x58, 0xD7, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x3C, 0x63, //80-87 0x63, 0x1B, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x36, 0x30, 0x57, //120-127 0x51, 0x58, 0x47, 0x41, 0x20, 0x20, 0x00, 0x71, //128-135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //136-143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, //[-end-211018-YUNLEI0143-modify]// // end of the table 0xff,0xff,0xff,0xff }; //[-end-210923-YUNLEI0138-modify]// //[-start-210929-TAMT000016-add]// //[-start-211124-TAMT000034-modify]// #elif defined(S77014_SUPPORT) LFC_EDID S77014_override_table[] = { {//ATNA40YK01 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x01, 0x11, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, {//2.8K COST_MNE007ZA1-3 14.0 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x90, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1F, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xCF, 0x85, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x4E, 0x70, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0xB6, 0xC8, 0x40, 0xA0, 0xB0, 0x08, 0x4E, 0x70, //80-87 0x30, 0x20, 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, //88-95 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x34, }, {//2.8K AUO B140QAN04.0 1A //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x91, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xD4, 0x05, 0xA7, 0x54, 0x48, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x86, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x54, 0x70, 0x30, 0x20, //64-71 0x35, 0x00, 0x2D, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x5E, 0xC9, 0x40, 0xA0, 0xB0, 0x08, 0x54, 0x70, //80-87 0x30, 0x20, 0x35, 0x00, 0x2D, 0xBC, 0x10, 0x00, //88-95 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0xB6, }, {//2.2K IVO N140E EDID //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB1, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xDE, 0x50, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x8C, 0x50, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x20, 0x50, 0x18, 0x30, //64-71 0x3C, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x19, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x6F, //104-111 0x6E, 0x0A, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x62, }, {//2.2K BOE NV140DRM-N61 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB2, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x14, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x06, 0xA7, 0xE5, 0xA3, 0x54, 0x4A, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07, 0x53, //56-63 0xC0, 0xDC, 0x80, 0x78, 0x28, 0x50, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x1A, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0xAC, }, {//2.2K AUO B140QAN05.H 1A //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB7, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x3E, 0x50, 0x30, 0x20, //64-71 0x35, 0x00, 0x2C, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x6F, //104-111 0x6E, 0x0A, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x31, }, }; //[-end-211124-TAMT000034-modify]// //[-end-210929-TAMT000016-add]// //[-start-220401-GEORGE0060-add]// #elif defined(S77014IAH_SUPPORT) LFC_EDID S77014IAH_override_table[] = { {//ATNA40YK01 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x01, 0x11, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, {//2.8K COST_MNE007ZA1-3 14.0 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x90, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1F, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xCF, 0x85, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x4E, 0x70, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0xB6, 0xC8, 0x40, 0xA0, 0xB0, 0x08, 0x4E, 0x70, //80-87 0x30, 0x20, 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, //88-95 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x34, }, {//2.8K AUO B140QAN04.0 1A //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x91, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xD4, 0x05, 0xA7, 0x54, 0x48, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x86, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x54, 0x70, 0x30, 0x20, //64-71 0x35, 0x00, 0x2D, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x5E, 0xC9, 0x40, 0xA0, 0xB0, 0x08, 0x54, 0x70, //80-87 0x30, 0x20, 0x35, 0x00, 0x2D, 0xBC, 0x10, 0x00, //88-95 0x00, 0x18, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0xB6, }, {//2.2K IVO N140E EDID //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB1, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xDE, 0x50, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x8C, 0x50, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x20, 0x50, 0x18, 0x30, //64-71 0x3C, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x19, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x6F, //104-111 0x6E, 0x0A, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x62, }, {//2.2K BOE NV140DRM-N61 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB2, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x14, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x06, 0xA7, 0xE5, 0xA3, 0x54, 0x4A, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x07, 0x53, //56-63 0xC0, 0xDC, 0x80, 0x78, 0x28, 0x50, 0x30, 0x20, //64-71 0x36, 0x00, 0x2E, 0xBC, 0x10, 0x00, 0x00, 0x1A, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0xAC, }, {//2.2K AUO B140QAN05.H 1A //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xB7, 0x89, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1E, 0x01, 0x04, 0xA5, 0x1E, 0x13, 0x78, //24-31 0x02, 0xEE, 0x95, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, //56-63 0xC0, 0xA0, 0x80, 0x78, 0x3E, 0x50, 0x30, 0x20, //64-71 0x35, 0x00, 0x2C, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //80-87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //88-95 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x6F, //104-111 0x6E, 0x0A, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x55, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x00, 0x31, }, {//120Hz COST_MNE007ZA1-5 14.0 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xAA, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x20, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x03, 0x21, 0x15, 0xA8, 0x53, 0x49, 0x9C, 0x25, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x6A, 0x70, 0x30, 0x20, //64-71 0x36, 0x00, 0x2D, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x78, 0xE5, //80-87 0xE5, 0x46, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x01, 0x8E, //128-135 0x70, 0x13, 0x79, 0x00, 0x00, 0x03, 0x01, 0x28, //136-143 0x9A, 0x0F, 0x01, 0x05, 0x3F, 0x0B, 0x9F, 0x00, //144-151 0x2F, 0x00, 0x1F, 0x00, 0x07, 0x07, 0x69, 0x00, //152-159 0x02, 0x00, 0x05, 0x00, 0x9A, 0x0F, 0x01, 0x85, //160-167 0x3F, 0x0B, 0x9F, 0x00, 0x2F, 0x00, 0x1F, 0x00, //168-175 0x07, 0x07, 0xDB, 0x07, 0x02, 0x00, 0x05, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x90, }, {//120Hz AUO B140QAN04.H 0A //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0xAB, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x01, 0x20, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x03, 0xD4, 0x05, 0xA7, 0x54, 0x48, 0x9E, 0x25, //32-39 0x0E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18, 0x86, //56-63 0x40, 0xA0, 0xB0, 0x08, 0x52, 0x70, 0x30, 0x20, //64-71 0x35, 0x00, 0x2D, 0xBC, 0x10, 0x00, 0x00, 0x18, //72-79 0x00, 0x00, 0x00, 0xFD, 0x00, 0x28, 0x78, 0xE3, //80-87 0xE3, 0x45, 0x01, 0x0A, 0x20, 0x20, 0x20, 0x20, //88-95 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x58, 0x47, 0x41, 0x20, 0x20, 0x01, 0xF4, //128-135 0x70, 0x13, 0x79, 0x00, 0x00, 0x03, 0x01, 0x14, //136-143 0x7A, 0x0C, 0x01, 0x84, 0x3F, 0x0B, 0x9F, 0x00, //144-151 0x2F, 0x00, 0x1F, 0x00, 0x07, 0x07, 0x53, 0x00, //152-159 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x90, }, {//90Hz OLED ATNA40YK08 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x98, 0x8A, 0x00, 0x00, 0x00, 0x00, //16-23 0x23, 0x1E, 0x01, 0x04, 0xB5, 0x1E, 0x13, 0x78, //24-31 0x02, 0x0C, 0xF1, 0xAE, 0x52, 0x3C, 0xB9, 0x23, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xA4, 0xC3, //56-63 0x40, 0x50, 0xB0, 0x08, 0xFC, 0x73, 0x08, 0x20, //64-71 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, 0x00, 0x1B, //72-79 0xA4, 0xC3, 0x40, 0x50, 0xB0, 0x08, 0x50, 0x70, //80-87 0x08, 0x20, 0x88, 0x00, 0x2E, 0xBD, 0x10, 0x00, //88-95 0x00, 0x1B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C, //96-103 0x45, 0x4E, 0x4F, 0x56, 0x4F, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4C, 0x45, 0x4E, 0x31, 0x34, 0x30, 0x57, //120-127 0x51, 0x2B, 0x20, 0x20, 0x20, 0x20, 0x01, 0x11, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE3, 0x05, 0x80, 0x00, //136-143 0xE6, 0x06, 0x05, 0x01, 0x74, 0x60, 0x07, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, }, }; //[-end-220401-GEORGE0060-add]// //[-start-211211-TAMT000039-add]// //[-start-220113-TAMT000043-remove]// //[-start-220119-TAMT000044-add]// //[-start-220209-TAMT000043a-remove]// /* #elif defined(S77013_SUPPORT) LFC_EDID S77013_override_table[] = { {//BOE NE133QDM-N62 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x96, 0x82, 0x00, 0x00, 0x00, 0x00, //16-23 0x28, 0x1F, 0x01, 0x04, 0xA5, 0x1D, 0x12, 0x78, //24-31 0x03, 0x35, 0xF5, 0xAA, 0x55, 0x4A, 0xA0, 0x24, //32-39 0x0C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x13, 0xA1, //56-63 0x00, 0xC8, 0xA0, 0x40, 0x7A, 0x63, 0x30, 0x20, //64-71 0x36, 0x00, 0x1E, 0xB3, 0x10, 0x00, 0x00, 0x00, //72-79 0x13, 0xA1, 0x00, 0xC8, 0xA0, 0x40, 0x3C, 0x60, //80-87 0x30, 0x20, 0x36, 0x00, 0x1E, 0xB3, 0x10, 0x00, //88-95 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, //96-103 0x5A, 0x95, 0x95, 0x29, 0x01, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4E, 0x45, 0x31, 0x33, 0x33, 0x51, 0x44, //120-127 0x4D, 0x2D, 0x4E, 0x36, 0x32, 0x0A, 0x01, 0xC8, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE6, 0x06, 0x01, 0x01, //136-143 0x60, 0x60, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFE, }, {//COST MND307DA1-9 //0-7 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //8-15 0x30, 0xAE, 0x97, 0x82, 0x00, 0x00, 0x00, 0x00, //16-23 0x00, 0x1F, 0x01, 0x04, 0xA5, 0x1D, 0x12, 0x78, //24-31 0x03, 0xEE, 0x91, 0xA3, 0x54, 0x4C, 0x99, 0x26, //32-39 0x0F, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, //40-47 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //48-55 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xB2, 0x9F, //56-63 0x00, 0xA0, 0xA0, 0x40, 0x89, 0x63, 0x30, 0x20, //64-71 0x36, 0x00, 0x1E, 0xB3, 0x10, 0x00, 0x00, 0x18, //72-79 0xB2, 0x9F, 0x00, 0xA0, 0xA0, 0x40, 0x46, 0x60, //80-87 0x30, 0x20, 0x36, 0x00, 0x1E, 0xB3, 0x10, 0x00, //88-95 0x00, 0x18, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x30, //96-103 0x5A, 0x97, 0x97, 0x29, 0x01, 0x0A, 0x20, 0x20, //104-111 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, //112-119 0x00, 0x4D, 0x4E, 0x44, 0x33, 0x30, 0x37, 0x44, //120-127 0x41, 0x31, 0x2D, 0x39, 0x0A, 0x20, 0x01, 0xBF, //128-135 0x02, 0x03, 0x0F, 0x00, 0xE6, 0x06, 0x01, 0x01, //136-143 0x60, 0x60, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, //144-151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //152-159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160-167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //168-175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //176-183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //184-191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192-199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //200-207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //208-215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //216-223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224-231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //232-239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //240-247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //248-255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFE, }, }; */ //[-end-220209-TAMT000043a-remove]// //[-end-220119-TAMT000044-add]// //[-end-220113-TAMT000043-remove]// //[-end-211211-TAMT000039-add]// #endif //[-end-210630-Dongxu0005-add]// // // Update Lfc Oem Nvs Regin at ReadToBootEvent // EFI_STATUS EFIAPI OemSvcLfcRdyToBootUpdateOemNvsRegion ( IN OUT LFC_NVS_AREA *LfcNvsBuffer ) { EFI_STATUS Status = EFI_SUCCESS; //[-start-211108-Dennis0008-add]// #if defined(S370_SUPPORT) UINT8 LFCMachinesize; UINTN Size; if(LfcNvsBuffer->EdidBuffer[0x15] >= 0x26){ LfcNvsBuffer->MachineSize = 0x17; } else if (LfcNvsBuffer->EdidBuffer[0x15] >= 0x22){ LfcNvsBuffer->MachineSize = 0x15; } else { LfcNvsBuffer->MachineSize = 0x14; } Size = (UINTN)sizeof (LFCMachinesize); Status = gRT->GetVariable ( L"MachineSize", &gEfiGenericVariableGuid, NULL, &Size, &LFCMachinesize ); if(LFCMachinesize != LfcNvsBuffer->MachineSize ){ LFCMachinesize = LfcNvsBuffer->MachineSize ; Status = gRT->SetVariable ( L"MachineSize", &gEfiGenericVariableGuid, EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, Size, &LFCMachinesize ); gRT->ResetSystem(EfiResetWarm, EFI_SUCCESS, 0, NULL); } LfcEcLibNotifyEcMachineSize (LfcNvsBuffer->MachineSize); #endif //[-end-211108-Dennis0008-add]// // // If no need to use Oem Nvs Region, please leave it empty // return Status; } //[-start-210706-LIUJIE0001-add]// // //Support MSFT New OS to add variable BuiltAsSecuredCorePC //Zero - Non-SecureCore PCR //Non-Zero - SecureCore PC //As IdeaPad has no Secured PC , set default vaule as Zero // EFI_STATUS LfcSetSecureCorePcVariable ( VOID ) { EFI_STATUS Status; UINT8 Value = 0; Status = gRT->SetVariable ( L"BuiltAsSecuredCorePC", &gBuiltAsSecuredCorePcGuid, EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE, sizeof(Value), &Value ); return Status; } //[-end-210706-LIUJIE0001-add]// // this function will be executed when ready to boot (project speific code here) EFI_STATUS EFIAPI OemSvcLfcDxeReadyToBoot ( VOID ) { EFI_STATUS Status = EFI_SUCCESS; LFC_NVS_AREA_PROTOCOL *LfcNvsAreaProtocol; //[-start-220113-TAMT000043-add]// //[-start-220119-TAMT000044-remove]// //[-start-220209-TAMT000043a-add]// #if defined(S77013_SUPPORT) EFI_EDID_DISCOVERED_PROTOCOL *EdidDiscovered; VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK *EdidDataBlock; UINT8 CheckSum = 0; UINTN Index; UINT8 *DataAddr = NULL; UINT32 EdidSize = 0; SYSTEM_AGENT_NVS_AREA_PROTOCOL *SaGlobalNvsArea = NULL; BOOLEAN ModifyEdid = FALSE; IGD_OPREGION_STRUCTURE *IgdOpRegion = NULL; #endif //[-end-220209-TAMT000043a-add]// //[-end-220119-TAMT000044-remove]// //[-end-220113-TAMT000043-add]// //[-start-211124-TAMT000034-modify]// //[-start-211211-TAMT000039-modify]// //[-start-220113-TAMT000043-modify]// //[-start-220119-TAMT000044-add]// //[-start-220209-TAMT000043a-modify]// //#if defined(C970_SUPPORT) || defined(C770_SUPPORT) || defined(S77014_SUPPORT) || defined(S77013_SUPPORT) #if defined(C970_SUPPORT) || defined(C770_SUPPORT) || defined(S77014_SUPPORT) || defined(S77014IAH_SUPPORT) EFI_EDID_DISCOVERED_PROTOCOL *EdidDiscovered; #endif //[-end-220209-TAMT000043a-modify]// //[-end-220119-TAMT000044-add]// //[-end-220113-TAMT000043-modify]// //[-end-211211-TAMT000039-modify]// //[-end-211124-TAMT000034-modify]// //[start-210923-STORM1116-modify] #if defined(C770_SUPPORT) UINT8 i=0; #endif //[end-210923-STORM1116-modify] //[-start-210706-LIUJIE0001-add]// Status = LfcSetSecureCorePcVariable(); //[-end-210706-LIUJIE0001-add]// //[-start-210630-Dongxu0005-add]// //[-start-210923-YUNLEI0138-modify]// //[-start-210929-TAMT000016-modify]// //[-start-211211-TAMT000039-modify]// //[-start-220113-TAMT000043-modify]// //[-start-220119-TAMT000044-add]// //[-start-220209-TAMT000043a-modify]// //#if defined(C970_SUPPORT) || defined(C770_SUPPORT) || defined(S77014_SUPPORT) || defined(S77013_SUPPORT) #if defined(C970_SUPPORT) || defined(C770_SUPPORT) || defined(S77014_SUPPORT) || defined(S77014IAH_SUPPORT) SYSTEM_AGENT_NVS_AREA_PROTOCOL *TempSaNvsAreaProtocol; UINT8 *Opr = NULL; #endif //[-end-220209-TAMT000043a-modify]// //[-end-220119-TAMT000044-add]// //[-end-220113-TAMT000043-modify]// //[-end-211211-TAMT000039-modify]// //[-end-210929-TAMT000016-modify]// //[-end-210923-YUNLEI0138-modify]// //[-end-210630-Dongxu0005-add]// //[-start-220118-BAIN000090-add]// //[-start-220221-OWENWU0039-add]// //[-start-220328-Ching000038-modify]// #if defined(S77013_SUPPORT) || defined(S370_SUPPORT) || defined(S570_SUPPORT) || defined(S77014IAH_SUPPORT) UINT8 DeletIsflash = 0; EFI_STATUS Status1 = EFI_SUCCESS; UINTN SizeDeletIsflash = 0; EFI_HANDLE DumemyHandle = NULL; #endif //[-end-220328-Ching000038-modify]// //[-end-220221-OWENWU0039-add]// //[-end-220118-BAIN000090-add]// Status = gBS->LocateProtocol ( &gLfcNvsAreaProtocolGuid, NULL, (VOID **)&LfcNvsAreaProtocol ); if (!EFI_ERROR(Status) && (LfcNvsAreaProtocol->Area != NULL)) { OemSvcLfcRdyToBootUpdateOemNvsRegion (LfcNvsAreaProtocol->Area); } //[-start-211117-BAIN000057-add]// // Delete the TPCapsule flag again. Prevent problems caused by undeleted.(TriggerCapsuleUpdate) #ifdef LCFC_SUPPORT Status = gRT->SetVariable( L"TPCapsule", &gLfcVariableGuid, 0, 0, NULL ); #endif //[-end-211117-BAIN000057-add]// //[-start-220118-BAIN000090-add]// //[-start-220221-OWENWU0039-add]// //[-start-220328-Ching000038-modify]// #if defined(S77013_SUPPORT) || defined(S370_SUPPORT) || defined(S570_SUPPORT) || defined(S77014IAH_SUPPORT) SizeDeletIsflash = sizeof(UINT8); Status1 = gRT->GetVariable ( L"DeletIsflash", &gLfcVariableGuid, NULL, &SizeDeletIsflash, &DeletIsflash ); if(Status1 != EFI_SUCCESS){ // Reconnectallstorage, Otherwise there will be problems with disk lost and setting up HDD PSW hang machine Status = gBS->InstallProtocolInterface ( &DumemyHandle, &gChasmfallsConnectAllStorageGuid, EFI_NATIVE_INTERFACE, NULL ); DeletflashImageFromEsp(); Status1 = gRT->SetVariable ( L"DeletIsflash", &gLfcVariableGuid, EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE, SizeDeletIsflash, &DeletIsflash ); } #endif //[-end-220328-Ching000038-modify]// //[-end-220221-OWENWU0039-add]// //[-end-220118-BAIN000090-add]// //[-start-210630-Dongxu0005-add]// #if defined(C970_SUPPORT) Status = gBS->LocateProtocol ( &gSaNvsAreaProtocolGuid, NULL, (VOID **) &TempSaNvsAreaProtocol ); if (!EFI_ERROR(Status) && (TempSaNvsAreaProtocol->Area != NULL)) { Opr = (UINT8 *)(UINTN)TempSaNvsAreaProtocol->Area->IgdOpRegionAddress; } else { return Status; } //[-start-21916-KEBIN00050-modify]// //[-start-210630-Dongxu0023-modify]// Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); if (EdidDiscovered->Edid == NULL) { return Status; } // Opr += 0x1C00; //MNE007JA1-1 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0X0E) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0X04) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x14)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, c970_override_table[0].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, c970_override_table[0].EDID, 256); } //[-start-211201-Dongxu0033-add]// //MNE007JA1-2 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0X0E) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0X13) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x14)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, c970_override_table[4].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, c970_override_table[4].EDID, 256); } //[-end-211201-Dongxu0033-add]// //LP140WU1-SPB2 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0X30) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xE4) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0XED) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x06)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, c970_override_table[1].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, c970_override_table[1].EDID, 256); } //ATNA40YK01 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0X4C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x83) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0X52) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x41)) { //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, c970_override_table[2].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, c970_override_table[2].EDID, 256); } //ATNA40YN01 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0X4C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x83) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0X5A) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x41)) { //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, c970_override_table[3].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, c970_override_table[3].EDID, 256); } //[-end-210630-Dongxu0023-modify]// //[-start-210923-YUNLEI0138-modify]// #elif defined(C770_SUPPORT) Status = gBS->LocateProtocol ( &gSaNvsAreaProtocolGuid, NULL, (VOID **) &TempSaNvsAreaProtocol ); if (!EFI_ERROR(Status) && (TempSaNvsAreaProtocol->Area != NULL)) { Opr = (UINT8 *)(UINTN)TempSaNvsAreaProtocol->Area->IgdOpRegionAddress; } else { return Status; } Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); if (EdidDiscovered->Edid == NULL) { return Status; } // Opr += 0x1C00; //[start-210923-STORM1116-modify] for(i=0;;i++) { if((0xff == C770_override_table[i].Original_EdidOffset8) && \ (0xff == C770_override_table[i].Original_EdidOffset9) && \ (0xff == C770_override_table[i].Original_EdidOffset10) && \ (0xff == C770_override_table[i].Original_EdidOffset11)){ break; } if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == C770_override_table[i].Original_EdidOffset8) && \ ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == C770_override_table[i].Original_EdidOffset9) && \ ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == C770_override_table[i].Original_EdidOffset10) && \ ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] == C770_override_table[i].Original_EdidOffset11)) { if(1 == C770_override_table[i].HDR_Support) { //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); } Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte of Panel EDID Valid; 2:override 256byte of Panel EDID Valid Opr += 0x0004; gBS->CopyMem (Opr, C770_override_table[i].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, C770_override_table[i].EDID, 256); break; } } //[end-210923-STORM1116-modify] //[-start-210929-TAMT000016-add]// //[-start-211124-TAMT000034-modify]// #elif defined(S77014_SUPPORT) Status = gBS->LocateProtocol ( &gSaNvsAreaProtocolGuid, NULL, (VOID **) &TempSaNvsAreaProtocol ); if (!EFI_ERROR(Status) && (TempSaNvsAreaProtocol->Area != NULL)) { Opr = (UINT8 *)(UINTN)TempSaNvsAreaProtocol->Area->IgdOpRegionAddress; } else { return Status; } Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); if (EdidDiscovered->Edid == NULL) { return Status; } //ATNA40YK01 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x4C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x83) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x52) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x41)) { //[-start-210929-TAMT000017-add]// //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); Opr += 0x1C00; //[-end-210929-TAMT000017-add]// *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[0].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[0].EDID, 256); } //2.8K COST_MNE007ZA1-3 14.0 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x0E) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x0C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x14)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[1].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[1].EDID, 128); } //2.8K AUO B140QAN04.0 1A if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x06) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xAF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x91) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0xC3)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[2].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[2].EDID, 128); } //2.2K IVO N140E EDID if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x26) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xCF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x45) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x8C)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[3].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[3].EDID, 128); } //2.2K BOE NV140DRM-N61 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x09) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xE5) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x31) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x09)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[4].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[4].EDID, 128); } //2.2K AUO B140QAN05.H 1A if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x06) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xAF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x98) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x26)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014_override_table[5].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014_override_table[5].EDID, 128); } //[-end-211124-TAMT000034-modify]// //[-end-210929-TAMT000016-add]// //[-start-220401-GEORGE0060-add]// #elif defined(S77014IAH_SUPPORT) Status = gBS->LocateProtocol ( &gSaNvsAreaProtocolGuid, NULL, (VOID **) &TempSaNvsAreaProtocol ); if (!EFI_ERROR(Status) && (TempSaNvsAreaProtocol->Area != NULL)) { Opr = (UINT8 *)(UINTN)TempSaNvsAreaProtocol->Area->IgdOpRegionAddress; } else { return Status; } Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); if (EdidDiscovered->Edid == NULL) { return Status; } //ATNA40YK01 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x4C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x83) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x52) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x41)) { //[-start-210929-TAMT000017-add]// //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); Opr += 0x1C00; //[-end-210929-TAMT000017-add]// *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[0].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[0].EDID, 256); } //2.8K COST_MNE007ZA1-3 14.0 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x0E) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x0C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x14)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[1].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[1].EDID, 128); } //2.8K AUO B140QAN04.0 1A if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x06) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xAF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x91) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0xC3)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[2].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[2].EDID, 128); } //2.2K IVO N140E EDID if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x26) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xCF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x45) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x8C)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[3].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[3].EDID, 128); } //2.2K BOE NV140DRM-N61 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x09) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xE5) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x31) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x09)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[4].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[4].EDID, 128); } //2.2K AUO B140QAN05.H 1A if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x06) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xAF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x98) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x26)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[5].EDID, 128); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[5].EDID, 128); } //120Hz COST_MNE007ZA1-5 14.0 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x0E) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x16) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x14)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[6].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[6].EDID, 256); } //120Hz AUO B140QAN04.H 0A if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x06) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xAF) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0xA4) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x26)) { Opr += 0x1C00; *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[7].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[7].EDID, 256); } //90Hz OLED ATNA40YK08 if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x4C) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x83) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x7A) && ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x41)) { //[-start-210929-TAMT000017-add]// //clear backlight 0~10 level for HDR not use the data which BIOS write gBS->CopyMem ((Opr+0x31C), 0, 22); Opr += 0x1C00; //[-end-210929-TAMT000017-add]// *Opr = 2; //setting 1: override 128byte ; 2:override 256byte Opr += 0x0004; gBS->CopyMem (Opr, S77014IAH_override_table[8].EDID, 256); gBS->CopyMem (EdidDiscovered->Edid, S77014IAH_override_table[8].EDID, 256); } //[-end-220401-GEORGE0060-add]// //[-start-211211-TAMT000039-add]// #elif defined(S77013_SUPPORT) //[-start-220113-TAMT000043-remove]// //[-start-220119-TAMT000044-add]// //[-start-220209-TAMT000043a-remove]// // Status = gBS->LocateProtocol ( // &gSaNvsAreaProtocolGuid, // NULL, // (VOID **) &TempSaNvsAreaProtocol // ); // if (!EFI_ERROR(Status) && (TempSaNvsAreaProtocol->Area != NULL)) { // Opr = (UINT8 *)(UINTN)TempSaNvsAreaProtocol->Area->IgdOpRegionAddress; // } else { // return Status; // } // // Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); // if (EdidDiscovered->Edid == NULL) { // return Status; // } // //BOE NE133QDM-N62 // if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x09) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0xE5) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0xCB) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x0A)) { // Opr += 0x1C00; // *Opr = 2; //setting 1: override 128byte ; 2:override 256byte // Opr += 0x0004; // gBS->CopyMem (Opr, S77013_override_table[0].EDID, 256); // gBS->CopyMem (EdidDiscovered->Edid, S77013_override_table[0].EDID, 256); // } // // //COST MND307DA1-9 // if (((LfcNvsAreaProtocol->Area)->EdidBuffer[8] == 0x0E) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[9] == 0x6F) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[10] == 0x11) && // ((LfcNvsAreaProtocol->Area)->EdidBuffer[11] ==0x13)) { // Opr += 0x1C00; // *Opr = 2; //setting 1: override 128byte ; 2:override 256byte // Opr += 0x0004; // gBS->CopyMem (Opr, S77013_override_table[1].EDID, 256); // gBS->CopyMem (EdidDiscovered->Edid, S77013_override_table[1].EDID, 256); // } //[-end-220209-TAMT000043a-remove]// //[-end-220119-TAMT000044-add]// //[-end-220113-TAMT000043-remove]// //[-start-220113-TAMT000043-add]// //[-start-220119-TAMT000044-remove]// //[-start-220209-TAMT000043a-add]// Status = gBS->LocateProtocol (&gEfiEdidDiscoveredProtocolGuid, NULL, &EdidDiscovered); if (EdidDiscovered->Edid == NULL) { DEBUG((DEBUG_INFO, "Lenovo cannot find EdidDiscovered\n")); return EFI_UNSUPPORTED; } EdidSize = EdidDiscovered->SizeOfEdid; DataAddr = (UINT8*)AllocateZeroPool((UINTN)EdidSize); if (DataAddr == NULL) { DEBUG((DEBUG_INFO, "Lenovo cannot allocate memory buffer for EDID\n")); return EFI_UNSUPPORTED; } // get EDID CopyMem(DataAddr, EdidDiscovered->Edid, EdidDiscovered->SizeOfEdid); EdidDataBlock = (VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK*)DataAddr; // EDID checksum 128 bytes for (Index = 0; Index < 127; Index++) { CheckSum += DataAddr[Index]; } if ((UINT8)(0 - CheckSum) == EdidDataBlock->Checksum) { DEBUG((DEBUG_INFO, "EDID CheckSum OK\n")); } else { // if checksum error, just do nothing and exit FreePool(DataAddr); return EFI_UNSUPPORTED; } // BOE NE133QDM-N62 if ((EdidDataBlock->ManufactureName == 0xE509) && (EdidDataBlock->ProductCode == 0x0ACB)) { EdidDataBlock->ManufactureName = 0xAE30; EdidDataBlock->ProductCode = 0x8296; ModifyEdid = TRUE; } //COST MND307DA1-9 if ((EdidDataBlock->ManufactureName == 0x6F0E) && (EdidDataBlock->ProductCode == 0x1311)) { EdidDataBlock->ManufactureName = 0xAE30; EdidDataBlock->ProductCode = 0x8297; ModifyEdid = TRUE; } if (ModifyEdid) { // calculate EDID checksum CheckSum = 0; DataAddr = (UINT8*)EdidDataBlock; for (Index = 0; Index < 127; Index++) { CheckSum += DataAddr[Index]; } EdidDataBlock->Checksum = (UINT8)(0 - CheckSum); // fill the OpRegion with modified EDID Status = gBS->LocateProtocol ( &gSaNvsAreaProtocolGuid, NULL, (VOID **) &SaGlobalNvsArea ); if(EFI_ERROR(Status)){ DEBUG((DEBUG_INFO, "LocateProtocolg SaNvsAreaProtocolGuid Error\n")); return EFI_UNSUPPORTED; } // get IGD OpRegion address IgdOpRegion = (IGD_OPREGION_STRUCTURE*)(UINTN)(SaGlobalNvsArea->Area->IgdOpRegionAddress); // setup panel head to valid status switch (EdidDiscovered->SizeOfEdid) { case 128: IgdOpRegion->MBox5.PHED = 0x01; break; case 256: IgdOpRegion->MBox5.PHED = 0x02; break; default: IgdOpRegion->MBox5.PHED = 0x01; } // setup OpRegion EDID CopyMem((UINT8*)&(IgdOpRegion->MBox5.BDDC), EdidDataBlock, EdidDiscovered->SizeOfEdid); } //[-end-220209-TAMT000043a-add]// //[-end-220119-TAMT000044-remove]// //[-end-220113-TAMT000043-add]// //[-end-211211-TAMT000039-add]// #endif //[-end-210923-YUNLEI0138-modify]// //[-end-210630-Dongxu0005-add]// return Status; }