[U-Boot] Disabling video in bootm (cleanup_before_linux)

Eric Nelson
2012-09-22T15:35:38Z

On 09/22/2012 06:35 AM, Otavio Salvador wrote:
> On Fri, Sep 21, 2012 at 2:44 PM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> On 09/21/2012 10:22 AM, Anatolij Gustschin wrote:
>>>
>>> Hi Eric,
>>>
>>> On Fri, 21 Sep 2012 09:38:23 -0700
>>> Eric Nelson<eric.nelson@boundarydevices.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> While looking into some trouble booting the latest Linux kernel patches
>>>> for i.MX6 display support, I found that the kernel driver was thrown off
>>>> by
>>>> the interrupt status bits in the i.MX6 IPU.
>>>>
>>>> Until and unless we have the ability to hand off a 'live' display, it
>>>> seems
>>>> that we should disable the video driver as a part of the 'bootm' process.
>>>>
>>>> At the very least, doing this will avoid the possibility of trash on the
>>>> display during the transition.
>>>>
>>>> I've been looking, and I don't see a place to tap into this process.
>>>> It seems that having a shutdown routine for the display drivers
>>>> (cfb_console?) is the way to go.
>>>
>>>
>>> cfb_console driver is a renderer of the characters and bitmaps
>>> to the framebuffer memory and is not a good place for a shutdown
>>> routine, I think. But we can add a shutdown function to the IPU
>>> driver drivers/video/mxc_ipuv3_fb.c and call it before booting.
>>> bootm code in common/cmd_bootm.c has a weak arch_preboot_os()
>>> function that can be overridden by platform specific preboot
>>> routine. We could define a preboot function in
>>>
>>> arch/arm/cpu/armv7/mx6/soc.c
>>> or in
>>> arch/arm/cpu/armv7/imx-common/cpu.c
>>>
>>> and call IPU shutdown routine in it.
>>>
>>
>> Thanks Anatolij.
>>
>> This is just what we need. I'll send a patch shortly.
>
> It would be nice to try to add support for mx5 too so we fix same boot
> hungs in mx5 kernels. I am adding Fabio in CC as he knows more about
> it.
>

Hi Otavio,

I believe it will work on MX5 boards as well, though I haven't tested.
http://patchwork.ozlabs.org/patch/185928/

Regards,

Eric