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
=====================================================================
next prev parent 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