public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 02/12] arm: mx6: cm-fx6: make it possible to not init display
Date: Sun, 02 Aug 2015 10:53:30 +0200	[thread overview]
Message-ID: <55BDDA8A.2090204@denx.de> (raw)
In-Reply-To: <1437661179-32128-3-git-send-email-nikita@compulab.co.il>

On 23/07/2015 16:19, Nikita Kiryanov wrote:
> Implement a cm-fx6 specific board_video_skip() to provide the option to not
> initialize the display.
> 
> The new function does not init display if the environment variable "panel" is
> not defined, or if it is set to an unsupported value.
> 
> Collateral changes:
> - Don't use the global displays array (it's CONFIG_IMX_VIDEO_SKIP specific).
> - Don't use detect_hdmi(), since env controlled init makes it unnecessary.
> 
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Igor Grinberg <grinberg@compulab.co.il>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> ---
>  board/compulab/cm_fx6/cm_fx6.c | 72 ++++++++++++++++++++++++++++--------------
>  include/configs/cm_fx6.h       |  1 -
>  2 files changed, 48 insertions(+), 25 deletions(-)
> 
> diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
> index b500f91..2fb8db5 100644
> --- a/board/compulab/cm_fx6/cm_fx6.c
> +++ b/board/compulab/cm_fx6/cm_fx6.c
> @@ -13,6 +13,7 @@
>  #include <fsl_esdhc.h>
>  #include <miiphy.h>
>  #include <netdev.h>
> +#include <errno.h>
>  #include <fdt_support.h>
>  #include <sata.h>
>  #include <splash.h>
> @@ -54,31 +55,27 @@ static void cm_fx6_enable_hdmi(struct display_info_t const *dev)
>  	imx_enable_hdmi_phy();
>  }
>  
> -struct display_info_t const displays[] = {
> -	{
> -		.bus	= -1,
> -		.addr	= 0,
> -		.pixfmt	= IPU_PIX_FMT_RGB24,
> -		.detect	= detect_hdmi,
> -		.enable	= cm_fx6_enable_hdmi,
> -		.mode	= {
> -			.name           = "HDMI",
> -			.refresh        = 60,
> -			.xres           = 1024,
> -			.yres           = 768,
> -			.pixclock       = 40385,
> -			.left_margin    = 220,
> -			.right_margin   = 40,
> -			.upper_margin   = 21,
> -			.lower_margin   = 7,
> -			.hsync_len      = 60,
> -			.vsync_len      = 10,
> -			.sync           = FB_SYNC_EXT,
> -			.vmode          = FB_VMODE_NONINTERLACED,
> -		}
> -	},
> +static struct display_info_t preset_hdmi_1024X768 = {
> +	.bus	= -1,
> +	.addr	= 0,
> +	.pixfmt	= IPU_PIX_FMT_RGB24,
> +	.enable	= cm_fx6_enable_hdmi,
> +	.mode	= {
> +		.name           = "HDMI",
> +		.refresh        = 60,
> +		.xres           = 1024,
> +		.yres           = 768,
> +		.pixclock       = 40385,
> +		.left_margin    = 220,
> +		.right_margin   = 40,
> +		.upper_margin   = 21,
> +		.lower_margin   = 7,
> +		.hsync_len      = 60,
> +		.vsync_len      = 10,
> +		.sync           = FB_SYNC_EXT,
> +		.vmode          = FB_VMODE_NONINTERLACED,
> +	}
>  };
> -size_t display_count = ARRAY_SIZE(displays);
>  
>  static void cm_fx6_setup_display(void)
>  {
> @@ -93,6 +90,33 @@ static void cm_fx6_setup_display(void)
>  	writel(reg, &mxc_ccm->CCGR3);
>  	clrbits_le32(&iomuxc_regs->gpr[3], MXC_CCM_CCGR3_IPU1_IPU_DI0_MASK);
>  }
> +
> +int board_video_skip(void)
> +{
> +	int ret;
> +	struct display_info_t *preset;
> +	char const *panel = getenv("panel");
> +
> +	if (!panel)
> +		return -ENOENT;
> +
> +	if (!strcmp(panel, "HDMI"))
> +		preset = &preset_hdmi_1024X768;
> +	else
> +		return -EINVAL;
> +
> +	ret = ipuv3_fb_init(&preset->mode, 0, preset->pixfmt);
> +	if (ret) {
> +		printf("Can't init display %s: %d\n", preset->mode.name, ret);
> +		return ret;
> +	}
> +
> +	preset->enable(preset);
> +	printf("Display: %s (%ux%u)\n", preset->mode.name, preset->mode.xres,
> +	       preset->mode.yres);
> +
> +	return 0;
> +}
>  #else
>  static inline void cm_fx6_setup_display(void) {}
>  #endif /* CONFIG_VIDEO_IPUV3 */
> diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
> index 231f4ba..f23ef8b 100644
> --- a/include/configs/cm_fx6.h
> +++ b/include/configs/cm_fx6.h
> @@ -258,7 +258,6 @@
>  #define CONFIG_VIDEO_IPUV3
>  #define CONFIG_IPUV3_CLK          260000000
>  #define CONFIG_IMX_HDMI
> -#define CONFIG_IMX_VIDEO_SKIP
>  #define CONFIG_CFB_CONSOLE
>  #define CONFIG_VGA_AS_SINGLE_DEVICE
>  #define CONFIG_SYS_CONSOLE_IS_IN_ENV
> 
Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  reply	other threads:[~2015-08-02  8:53 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23 14:19 [U-Boot] [PATCH 00/12] cm-fx6 and kconfig updates Nikita Kiryanov
2015-07-23 14:19 ` [U-Boot] [PATCH 01/12] arm: mx6: cm-fx6: map HDMI to IPU1 DI0 explicitly Nikita Kiryanov
2015-07-23 17:54   ` Nikolay Dimitrov
2015-07-26  8:48     ` Nikita Kiryanov
2015-07-26 13:32       ` Nikolay Dimitrov
2015-07-26 17:04   ` Igor Grinberg
2015-08-02  8:53   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 02/12] arm: mx6: cm-fx6: make it possible to not init display Nikita Kiryanov
2015-08-02  8:53   ` Stefano Babic [this message]
2015-07-23 14:19 ` [U-Boot] [PATCH 03/12] arm: mx6: cm-fx6: add support for displaytype env var Nikita Kiryanov
2015-07-26 17:27   ` Igor Grinberg
2015-08-02  8:53   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 04/12] arm: mx6: cm-fx6: setup hdmi only on hdmi enable Nikita Kiryanov
2015-07-26 17:28   ` Igor Grinberg
2015-08-02  8:53   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 05/12] arm: mx6: cm-fx6: move CMD configs to defconfig Nikita Kiryanov
2015-07-26 17:29   ` Igor Grinberg
2015-08-02  8:53   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 06/12] arm: mx6: cm-fx6: move cm-fx6 target under ARCH_MX6 Nikita Kiryanov
2015-07-26 17:31   ` Igor Grinberg
2015-08-02  8:54   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 07/12] arm: mx6: kconfig: don't select CPU_V7 per board Nikita Kiryanov
2015-08-02  8:54   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 08/12] arm: mx6: usb: kconfig: add USB_EHCI_MX6 kconfig option Nikita Kiryanov
2015-07-23 15:01   ` Marek Vasut
2015-07-26  8:17     ` Nikita Kiryanov
2015-07-26  9:36       ` Stefano Babic
2015-07-26 10:35         ` Marek Vasut
2015-07-26 10:50           ` Stefano Babic
2015-07-27 10:35             ` Nikita Kiryanov
2015-07-26 17:35   ` Igor Grinberg
2015-08-02  8:54   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 09/12] usb: kconfig: usb keyboard kconfig Nikita Kiryanov
2015-07-23 15:01   ` Marek Vasut
2015-07-26  8:18     ` Nikita Kiryanov
2015-07-26 17:37   ` Igor Grinberg
2015-08-02  8:54   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 10/12] usb: kconfig: create a menu for usb Nikita Kiryanov
2015-07-23 15:01   ` Marek Vasut
2015-07-23 14:19 ` [U-Boot] [PATCH 11/12] sf: kconfig: add kconfig options for spi flashes Nikita Kiryanov
2015-07-26 17:37   ` Igor Grinberg
2015-08-02  8:54   ` Stefano Babic
2015-07-23 14:19 ` [U-Boot] [PATCH 12/12] kconfig: add config option for shell prompt Nikita Kiryanov
2015-07-23 21:21   ` Tom Rini
2015-07-24  2:05     ` Masahiro Yamada
2015-07-26  8:44       ` Nikita Kiryanov
2015-07-28  7:08   ` [U-Boot] [PATCH V2 " Nikita Kiryanov
2015-07-28 15:59     ` Masahiro Yamada
2015-08-02  8:33       ` Nikita Kiryanov
2015-08-02  8:53     ` Stefano Babic
2015-08-02 11:40       ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55BDDA8A.2090204@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox