MiPi Deinit not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MiPi Deinit not working

488 Views
Stephan_
Contributor I

Hi,

we're implemeneting an own bootloader system and observed some trouble with our MiPi display. It seems like the DC_FB_LCDIFV2_Deinit() function won't deinit correct.

I'll managed to reproduce on RT1170-EVK with RK055HDMIPI4MA0 display. I've used the evkmimxrt1170_sd_jpeg_cm7 example and ended the while loops after some time. After endig loop call g_dc.ops->deinit(&g_dc); and jump back to APP_InitDisplay();. To simplify test I've removed the jpg loading and just write some pattern in framebuffer.

After call to deinit display goes off and with APP_InitDisplay() the backlight goes on but display shows no picture any more. Modified sd_jpeg.c file is attached. 

0 Kudos
Reply
2 Replies

417 Views
Stephan_
Contributor I

Hi,

due to some system requirements in our project we're not able to start our application direct from normal bootloader.

After some research I found that using:

g_dc.ops->disableLayer(&g_dc, 0);
DisableIRQ(LCDIFv2_IRQn);
 
instead of:
g_dc.ops->deinit
 
solve the issues. It seems like the deinit is not able to disable the interrupt, I've observed calls to ISR while initialization it not complete which lead into dereferencing invalid pointers. So disable layer manual and interrupt afterwards seems to solve the problem. Additional the interrupt shall be enabled as last as possible during initialization.
 
0 Kudos
Reply

434 Views
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @Stephan_,

I apologize for the late reply.

Are you still experiencing this issue? Do you also see it if you follow the unmodified sd_jpeg example project with the normal bootloader? Why not reinitialize the system as a whole rather than only the MIPI interface? Is there a specific situation where you require only the display to turn off and on again after some time?

BR,

Edwin.

0 Kudos
Reply