Subject: [PATCH] i.MX28: Shut down the LCD controller to avoid bootrom sampling bug

From: [email-masked] (Florian Tobias Schandinat)
Date: Wed, 18 Apr 2012 15:43:50 +0000

Hi,

On 04/17/2012 08:36 PM, Marek Vasut wrote:
> From: Marek Vasut <[email-masked]>

please write a commit message that describes the bug you want to fix and
why/how your patch fixes it.

Thanks,

Florian Tobias Schandinat

> Signed-off-by: Marek Vasut <[email-masked]>
> Cc: Chen Peter-B29397 <[email-masked]>
> Cc: Detlev Zundel <[email-masked]>
> Cc: Fabio Estevam <[email-masked]>
> Cc: Florian Tobias Schandinat <[email-masked]>
> Cc: Li Frank-B20596 <[email-masked]>
> Cc: Lin Tony-B19295 <[email-masked]>
> Cc: Linux FBDEV <[email-masked]>
> Cc: Sascha Hauer <[email-masked]>
> Cc: Shawn Guo <[email-masked]>
> Cc: Shawn Guo <[email-masked]>
> Cc: Stefano Babic <[email-masked]>
> Cc: Subodh Nijsure <[email-masked]>
> Cc: Tony Lin <[email-masked]>
> Cc: Wolfgang Denk <[email-masked]>
> Acked-by: Wolfram Sang <[email-masked]>
> ---
>  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,