Re: [PATCH] i.MX28: Shut down the LCD controller to avoid bootrom sampling bug
From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Date: 2012-04-18 15:43:50
Also in:
linux-arm-kernel
Hi, On 04/17/2012 08:36 PM, Marek Vasut wrote:
From: Marek Vasut <marek.vasut@gmail.com>
please write a commit message that describes the bug you want to fix and why/how your patch fixes it. Thanks, Florian Tobias Schandinat
quoted hunk ↗ jump to hunk
Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Chen Peter-B29397 <redacted> Cc: Detlev Zundel <redacted> Cc: Fabio Estevam <festevam@gmail.com> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Li Frank-B20596 <redacted> Cc: Lin Tony-B19295 <redacted> Cc: Linux FBDEV <redacted> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Shawn Guo <redacted> Cc: Shawn Guo <redacted> Cc: Stefano Babic <redacted> Cc: Subodh Nijsure <redacted> Cc: Tony Lin <redacted> Cc: Wolfgang Denk <redacted> Acked-by: Wolfram Sang <redacted> --- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c index 4a89f88..a265356 100644 --- a/drivers/video/mxsfb.c +++ b/drivers/video/mxsfb.c@@ -880,6 +880,18 @@ static int __devexit mxsfb_remove(struct platform_device *pdev) return 0; } +void mxsfb_shutdown(struct platform_device *pdev) +{ + struct fb_info *fb_info = platform_get_drvdata(pdev); + struct mxsfb_info *host = to_imxfb_host(fb_info); + + /* + * Force stop the LCD controller as keeping it running during reboot + * might interfere with the BootROM's boot mode pads sampling. + */ + writel(CTRL_RUN, host->base + LCDC_CTRL + REG_CLR); +} + static struct platform_device_id mxsfb_devtype[] = { { .name = "imx23-fb",@@ -896,6 +908,7 @@ MODULE_DEVICE_TABLE(platform, mxsfb_devtype); static struct platform_driver mxsfb_driver = { .probe = mxsfb_probe, .remove = __devexit_p(mxsfb_remove), + .shutdown = mxsfb_shutdown, .id_table = mxsfb_devtype, .driver = { .name = DRIVER_NAME,