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

Soeren Moch smoch at web.de
Wed Jan 14 12:34:57 CET 2015


> Add support for hdmi console.
>
> Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Igor Grinberg <grinberg at 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


More information about the U-Boot mailing list