[U-Boot] [PATCH 06/14] arm: mx6: cm-fx6: add hdmi console

Soeren Moch
2015-01-14T11:34:57Z

> Add support for hdmi console.
>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Igor Grinberg <grinberg@compulab.co.il>
> ---
> board/compulab/cm_fx6/cm_fx6.c | 51
++++++++++++++++++++++++++++++++++++++++++
> include/configs/cm_fx6.h | 15 +++++++++++++
> 2 files changed, 66 insertions(+)
[...]
> +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,
> + }
> + },
> +};

This is not VESA compliant.

> +static void cm_fx6_setup_display(void)
> +{
> + struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *) CCM_BASE_ADDR;
> + int reg;
> +
> + enable_ipu_clock();
> + imx_setup_hdmi();
> + reg = __raw_readl(&mxc_ccm->CCGR3);
> + reg |= MXC_CCM_CCGR3_IPU1_IPU_DI0_MASK;
> + writel(reg, &mxc_ccm->CCGR3);
> +}

This will not give the correct pixel clock for a framerate of 60 frames
per second (as probably expected).

Just as a warning: Due to the non-standard video timing most hdmi
monitors will not work. For more compatible settings please have a look
into the tbs2910 board code.

Soeren