All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.