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

Otavio Salvador
2012-09-22T15:37:31Z

On Sat, Sep 22, 2012 at 12:35 PM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> 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/

Yes; Fabio tested it and it proved to work.

--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br