Hi Experts,
Currently, we have successfully integrated the i.MX8M Mini processor with the BSP downloaded from the NXP website (W21H2-1-4-0), following the guidelines specified in the "i.MX Windows 10 IoT User’s Guide" to incorporate our custom board. The good news is that we can boot to UEFI without any problems.
However, upon entering Windows IoT, we encounter a black screen. Allow me to provide more details on our configuration:
*Customized board with ili9881c MIPI DSI panel.
*We have added the necessary driver and configured the ili9881c settings in u-boot, which resulted in a visible splash screen.
To address this issue, we are seeking your valuable guidance on debugging steps. Specifically, we would appreciate your expertise in helping us identify the root cause of the black screen issue in Windows IoT.
To assist you better, we have attached the log file, which contains relevant information that may aid in the debugging process.
Thank you for your time and consideration. We look forward to hearing from you soon.
Best regards,
Jesse
Hi @jesselin0420,
Can you please provide the resolution and parameters of the LCD panel you are connecting?
Thank you,
Best regards,
Michal
below parameters are defined in the panel driver. You can find them in the patch I provided.
#define LCD_XSIZE_TFT 720 #define LCD_YSIZE_TFT 1280 #define PCLOCK 62000 #define LCD_VBPD 20 #define LCD_VFPD 10 #define LCD_VSPW 10 #define LCD_HBPD 30 #define LCD_HFPD 10 #define LCD_HSPW 20
Hi @jesselin0420,
for i.MX 8M Mini it also needs to be modified in UEFI.
Open file mu_platform_nxp\Silicon\ARM\NXP\iMX8Pkg\Library\iMX8LcdHwLib\iMX8LcdHwLib.c
Add definiton for your display. According to the parameters provided, it should be as follows:
/* 720x1280@60Hz */
const IMX_DISPLAY_TIMING PreferredTiming_720x1280_60 = {
.PixelClock = 62000000,
.HActive = 720,
.HBlank = 60,
.VActive = 1280,
.VBlank = 40,
.HSync = 20,
.VSync = 10,
.HSyncOffset = 10,
.VSyncOffset = 10,
.HImageSize = 0,
.VImageSize = 0,
.HBorder = 0,
.VBorder = 0,
.EdidFlags = 0,
.Flags = 0,
.PixelRepetition = 0,
.Bpp = 24,
.PixelFormat = PIXEL_FORMAT_ARGB32,
};
In the function below, select the desired resolution from the definition added above.
EFI_STATUS
LcdDisplayDetect (
VOID
)
/* Search for ADV7535 */
status = Adv7535Discover();
if (status == EFI_SUCCESS) {
DEBUG((DEBUG_ERROR, "ADV7535 probe SUCCEDED. Mipi-dsi display interface selected.\n"));
converter = ADV7535;
displayInterface = imxMipiDsi;
LcdInitPreferredTiming (&PreferredTiming_720x1280_60, &PreferredTiming);
break;
In the same file, the function below is called to initialize the NXP test panel. I assume you don't need any initialization, so it will need to be commented out.
Function:
LcdSetMode (
IN UINT32 ModeNumber
)
Comment:
CHECK_STATUS_RETURN_ERR(Rm67191Init(), "RM67191 config");
Best regards,
Michal
Hi @jesselin0420,
Have you tried the procedure I mentioned? Can I help with anything else?
Best regards,
Michal
We still can't solve this problem. We can see the logo in the bootloader but then it's a black screen.
Hi @jesselin0420,
could you please try release W21H2-1-4-1 and make the adjustments I mentioned. If it helps?
For the next time, please let me know, when you need help. I was waiting for your reply to this ticket.
Best regards,
Michal
Hi Michal,
Thank you for your attention.
Due to resource issues, this project is currently on hold. I'll inform you as soon as it's back on track.
Jesse
Hi @Zhiming_Liu ,
So .. what is the next step?
Can you please share your changes about display panel?
I am asking WOA team.
Best Regards
Zhiming