i.MX28: Shut down the LCD controller to avoid bootrom sampling bug
Subsystems (2)
PATCH 1/1 i.MX28: Shut down the LCD controller to avoid bootrom sampling bug
From: Marek Vasut <[email protected]>
--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
drivers/video/mxsfb.c +13 -0
@@ -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 ,
Signature · 1 line
1.7.9.5
PATCH 1/1 i.MX28: Shut down the LCD controller to avoid bootrom sampling bug
Dear Marek,
Quoted 18 lines · In message <[email protected]> you wrote:
From: Marek Vasut <[email protected]>
Signed-off-by Marek Vasut <[email protected]>Cc Chen Peter-B29397 <[email protected]>Cc Detlev Zundel <[email protected]>Cc Fabio Estevam <[email protected]>Cc Florian Tobias Schandinat <[email protected]>Cc Li Frank-B20596 <[email protected]>Cc Lin Tony-B19295 <[email protected]>Cc Linux FBDEV <[email protected]>Cc Sascha Hauer <[email protected]>Cc Shawn Guo <[email protected]>Cc Shawn Guo <[email protected]>Cc Stefano Babic <[email protected]>Cc Subodh Nijsure <[email protected]>Cc Tony Lin <[email protected]>Cc Wolfgang Denk <[email protected]>Acked-by Wolfram Sang <[email protected]>
Quoted 3 lines
--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A dog always bit deepest on the veterinary hand.
- Terry Pratchett, _Wyrd Sisters_PATCH 1/1 i.MX28: Shut down the LCD controller to avoid bootrom sampling bug
In reply to Marek VasutHi,
Quoted 1 line · Marek Vasut
From: Marek Vasut <[email protected]>
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 51 lines
Signed-off-by Marek Vasut <[email protected]>Cc Chen Peter-B29397 <[email protected]>Cc Detlev Zundel <[email protected]>Cc Fabio Estevam <[email protected]>Cc Florian Tobias Schandinat <[email protected]>Cc Li Frank-B20596 <[email protected]>Cc Lin Tony-B19295 <[email protected]>Cc Linux FBDEV <[email protected]>Cc Sascha Hauer <[email protected]>Cc Shawn Guo <[email protected]>Cc Shawn Guo <[email protected]>Cc Stefano Babic <[email protected]>Cc Subodh Nijsure <[email protected]>Cc Tony Lin <[email protected]>Cc Wolfgang Denk <[email protected]>Acked-by Wolfram Sang <[email protected]>--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)drivers/video/mxsfb.c +13
-0@@ -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 ,
PATCH 1/1 i.MX28: Shut down the LCD controller to avoid BootROM sampling bug
In reply to Marek VasutFrom: Marek Vasut <[email protected]>
If there's some traffic on the LCD controller pads, the BootROM has trouble with sampling the bootmode from these pads when the system is restarted from Linux. The BootROM usually ends in a loop.
--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
drivers/video/mxsfb.c +13 -0
@@ -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 ,
Signature · 1 line
1.7.9.5
PATCH 1/1 i.MX28: Shut down the LCD controller to avoid BootROM sampling bug
On Wed, Apr 18, 2012 at 06:48:00PM +0200, Marek Vasut wrote:
...
Quoted 1 line
+void
mxsfb_shutdown(struct platform_device *pdev)
static?
Otherwise,
Quoted 25 lines
drivers/video/mxsfb.c +12
-0+{ +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 ,Signature · 1 line
1.7.9.5
PATCH v2 1/1 i.MX28: Shut down the LCD controller to avoid BootROM sampling bug
In reply to Marek VasutFrom: Marek Vasut <[email protected]>
If there's some traffic on the LCD controller pads, the BootROM has trouble with sampling the bootmode from these pads. The BootROM usually ends in a loop.
--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
V2: Make shutdown() call static
drivers/video/mxsfb.c +13 -0
@@ -880,6 +880,18 @@ static int __devexit mxsfb_remove(struct platform_device *pdev)return 0 ; } +static 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 ,
Signature · 1 line
1.7.9.5
Florian Tobias Schandinat
AppliedPATCH v2 1/1 i.MX28: Shut down the LCD controller to avoid BootROM sampling bug
Quoted 16 lines · Marek Vasut
From: Marek Vasut <[email protected]>
If there's some traffic on the LCD controller pads, the BootROM has trouble with sampling the bootmode from these pads. The BootROM usually ends in a loop.
Signed-off-by Marek Vasut <[email protected]>Cc Chen Peter-B29397 <[email protected]>Cc Detlev Zundel <[email protected]>Cc Fabio Estevam <[email protected]>Cc Florian Tobias Schandinat <[email protected]>Cc Li Frank-B20596 <[email protected]>Cc Lin Tony-B19295 <[email protected]>Cc Linux FBDEV <[email protected]>Cc Sascha Hauer <[email protected]>Cc Shawn Guo <[email protected]>Cc Shawn Guo <[email protected]>
Quoted 8 lines
Cc Stefano Babic <[email protected]>Cc Subodh Nijsure <[email protected]>Cc Tony Lin <[email protected]>Cc Wolfgang Denk <[email protected]>Acked-by Shawn Guo <[email protected]>Acked-by Wolfgang Denk <[email protected]>Acked-by Wolfram Sang <[email protected]>Tested-by Wolfgang Denk <[email protected]>
Applied.
Thanks,
Florian Tobias Schandinat
Quoted 37 lines
--- drivers/video/mxsfb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)V2: Make
shutdown()call staticdrivers/video/mxsfb.c +13
-0@@ -880,6 +880,18 @@ static int __devexit mxsfb_remove(struct platform_device *pdev)return 0 ; } +static 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 ,