From: Fabio Estevam <redacted>
Currently when we boot the kernel on a mx25pdk the LCDC controller
does not show the Linux logo on boot.
This problem is well explained by Sascha Hauer:
"Unfortunately this LCD controller does not have an enable bit. The
controller starts directly when the clocks are enabled. If the clocks
are enabled when the controller is not yet programmed with proper
register values then it just goes into some undefined state. What I
suspect is that the clocks already were enabled before driver probe,
presumably by the bootloader, so the controller is already in undefined
state when entering Linux. Now by dis/enabling the ipg clock you
effectively reset the controller. Since you have programmed it with
valid register values in the mean time it starts working after this
reset."
So do as suggested and force a reset of the LCDC hardware by
enabling and disabling the IPG clock.
With this change the Linux logo can be seen on boot on a mx25pdk.
Signed-off-by: Fabio Estevam <redacted>
---
drivers/video/fbdev/imxfb.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
From: Tomi Valkeinen <hidden> Date: 2016-01-29 12:20:47
On 19/01/16 15:10, Fabio Estevam wrote:
From: Fabio Estevam <redacted>
Currently when we boot the kernel on a mx25pdk the LCDC controller
does not show the Linux logo on boot.
This problem is well explained by Sascha Hauer:
"Unfortunately this LCD controller does not have an enable bit. The
controller starts directly when the clocks are enabled. If the clocks
are enabled when the controller is not yet programmed with proper
register values then it just goes into some undefined state. What I
suspect is that the clocks already were enabled before driver probe,
presumably by the bootloader, so the controller is already in undefined
state when entering Linux. Now by dis/enabling the ipg clock you
effectively reset the controller. Since you have programmed it with
valid register values in the mean time it starts working after this
reset."
So do as suggested and force a reset of the LCDC hardware by
enabling and disabling the IPG clock.
With this change the Linux logo can be seen on boot on a mx25pdk.
Signed-off-by: Fabio Estevam <redacted>
---
drivers/video/fbdev/imxfb.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Hi Tomi,
On Fri, Jan 29, 2016 at 10:20 AM, Tomi Valkeinen [off-list ref] wrote:
On 19/01/16 15:10, Fabio Estevam wrote:
quoted
From: Fabio Estevam <redacted>
Currently when we boot the kernel on a mx25pdk the LCDC controller
does not show the Linux logo on boot.
This problem is well explained by Sascha Hauer:
"Unfortunately this LCD controller does not have an enable bit. The
controller starts directly when the clocks are enabled. If the clocks
are enabled when the controller is not yet programmed with proper
register values then it just goes into some undefined state. What I
suspect is that the clocks already were enabled before driver probe,
presumably by the bootloader, so the controller is already in undefined
state when entering Linux. Now by dis/enabling the ipg clock you
effectively reset the controller. Since you have programmed it with
valid register values in the mean time it starts working after this
reset."
So do as suggested and force a reset of the LCDC hardware by
enabling and disabling the IPG clock.
With this change the Linux logo can be seen on boot on a mx25pdk.
Signed-off-by: Fabio Estevam <redacted>
---
drivers/video/fbdev/imxfb.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Thanks. Queued for 4.5 fixes.
Still don't see this one applied in Linus nor linux-next tree yet.
From: Tomi Valkeinen <hidden> Date: 2016-02-12 07:42:41
On 10/02/16 21:52, Fabio Estevam wrote:
Hi Tomi,
On Fri, Jan 29, 2016 at 10:20 AM, Tomi Valkeinen [off-list ref] wrote:
quoted
On 19/01/16 15:10, Fabio Estevam wrote:
quoted
From: Fabio Estevam <redacted>
Currently when we boot the kernel on a mx25pdk the LCDC controller
does not show the Linux logo on boot.
This problem is well explained by Sascha Hauer:
"Unfortunately this LCD controller does not have an enable bit. The
controller starts directly when the clocks are enabled. If the clocks
are enabled when the controller is not yet programmed with proper
register values then it just goes into some undefined state. What I
suspect is that the clocks already were enabled before driver probe,
presumably by the bootloader, so the controller is already in undefined
state when entering Linux. Now by dis/enabling the ipg clock you
effectively reset the controller. Since you have programmed it with
valid register values in the mean time it starts working after this
reset."
So do as suggested and force a reset of the LCDC hardware by
enabling and disabling the IPG clock.
With this change the Linux logo can be seen on boot on a mx25pdk.
Signed-off-by: Fabio Estevam <redacted>
---
drivers/video/fbdev/imxfb.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Thanks. Queued for 4.5 fixes.
Still don't see this one applied in Linus nor linux-next tree yet.
I've been a bit preoccupied, but I hope I get to send the pull request
today.
Tomi