[U-Boot] [PATCH 2/2] i.MX: shut down video before launch of O/S

Fabio Estevam festevam at gmail.com
Sat Sep 22 00:41:25 CEST 2012


Hi Eric,

Thanks for working on this. I will try it probably tomorrow.

On Fri, Sep 21, 2012 at 5:36 PM, Eric Nelson
<eric.nelson at boundarydevices.com> wrote:
> Signed-off-by: Eric Nelson <eric.nelson at boundarydevices.com>

Please add a commit log description. This is an important bug fix.

With the framebuffer enabled in U-boot, I get kernel hangs at
aproximately 50% of the times I boot a 2.6.35 kernel on a mx53qsb.

> ---
>  arch/arm/imx-common/Makefile     |    1 +
>  arch/arm/imx-common/preboot_os.c |   34 ++++++++++++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/imx-common/preboot_os.c
>
> diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
> index b3e608e..31dc52e 100644
> --- a/arch/arm/imx-common/Makefile
> +++ b/arch/arm/imx-common/Makefile
> @@ -32,6 +32,7 @@ COBJS-y       = iomux-v3.o timer.o cpu.o speed.o
>  COBJS-$(CONFIG_I2C_MXC) += i2c-mxv7.o
>  endif
>  COBJS-$(CONFIG_CMD_BMODE) += cmd_bmode.o
> +COBJS-y += preboot_os.o
>  COBJS  := $(sort $(COBJS-y))
>
>  SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> diff --git a/arch/arm/imx-common/preboot_os.c b/arch/arm/imx-common/preboot_os.c
> new file mode 100644
> index 0000000..ed7a9e0
> --- /dev/null
> +++ b/arch/arm/imx-common/preboot_os.c

Do we really need a new file to store a single function?

What about placing it at arch/arm/imx-common/cpu.c ?

> @@ -0,0 +1,34 @@
> +/*
> + * Copyright (C) 2012 Boundary Devices Inc.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +#include <common.h>
> +
> +#if defined(CONFIG_VIDEO_IPUV3)
> +#include <ipu_pixfmt.h>
> +#endif

ifdef's for headers is not recommended.

> +
> +void arch_preboot_os(void)
> +{
> +#if defined(CONFIG_VIDEO_IPUV3)
> +       /* disable video before launching O/S */
> +       ipuv3_fb_shutdown();
> +#endif

The #if defined(CONFIG_VIDEO_IPUV3) could go outside of the arch_preboot_os().

Regards,

Fabio Estevam


More information about the U-Boot mailing list