[U-Boot] [PATCH] mx6sabresd: Avoid hang when HDMI cable is not connected
Eric Bénard
eric at eukrea.com
Wed Sep 11 22:44:56 CEST 2013
Hi Fabio,
Le Wed, 11 Sep 2013 16:54:10 -0300,
Fabio Estevam <fabio.estevam at freescale.com> a écrit :
> Since commit d9b894603 (mx6sabresd: Add LVDS splash screen support) the
> following hang happens if the HDMI cable is not connected or the 'panel'
> variable is not set:
>
> U-Boot 2013.10-rc2-12978-g47ac53d-dirty (Sep 11 2013 - 15:07:38)
>
> CPU: Freescale i.MX6Q rev1.2 at 792 MHz
> Reset cause: POR
> Board: MX6-SabreSD
> DRAM: 1 GiB
> MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
> ...
>
> Provide a detect_lvds() to avoid the hang.
>
> Reported-by: Pardeep Kumar Singla <b45784 at freescale.com>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> board/freescale/mx6sabresd/mx6sabresd.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
> index c832bd9..e514529 100644
> --- a/board/freescale/mx6sabresd/mx6sabresd.c
> +++ b/board/freescale/mx6sabresd/mx6sabresd.c
> @@ -263,6 +263,12 @@ static void enable_lvds(struct display_info_t const *dev)
> IOMUXC_GPR2_DATA_WIDTH_CH1_24BIT;
> writel(reg, &iomux->gpr[2]);
> }
> +
> +static int detect_lvds(struct display_info_t const *dev)
> +{
> + return 0;
> +}
> +
> static struct display_info_t const displays[] = {{
> .bus = -1,
> .addr = 0,
> @@ -287,7 +293,7 @@ static struct display_info_t const displays[] = {{
> .bus = -1,
> .addr = 0,
> .pixfmt = IPU_PIX_FMT_LVDS666,
> - .detect = NULL,
> + .detect = detect_lvds,
> .enable = enable_lvds,
> .mode = {
> .name = "Hannstar-XGA",
instead of providing an empty function you could fix the problem in the
code calling this function by changing
if (dev->detect(dev))
to something like
if (dev->detect && dev->detect(dev))
Eric
More information about the U-Boot
mailing list