
Hi Fabio,
On Wed, Feb 22, 2017 at 06:52:24AM -0300, Fabio Estevam wrote:
From: Fabio Estevam fabio.estevam@nxp.com
Currently the system hangs when the 'videomode' variable is not present:
=> setenv videomode => saveenv => reset
(Board hangs)
lcdif_power_down() assumes that the LCDIF controller has been properly configured and enabled, which may not be true.
To fix this issue check whether video_hw_init() succeeded or not and only perform the LCDIF shutdown when the controller has been properly enabled.
Tested on a imx7dsabresd board.
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com
drivers/video/mxsfb.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c index 3cc03ca..83fd9aa 100644 --- a/drivers/video/mxsfb.c +++ b/drivers/video/mxsfb.c @@ -136,6 +136,9 @@ void lcdif_power_down(void) struct mxs_lcdif_regs *regs = (struct mxs_lcdif_regs *)MXS_LCDIF_BASE; int timeout = 1000000;
- if (!video_hw_init())
return;
If videomode is set, this will reinitialize the lcdif. Checking videomode env is ok to handle it as you proposed just now.
Regards, Peng.