HDMI (SBC-i.MX51)
HDMI is the primary graphical output of the SBC. It is connected to display interface 1 of the i.MX51 processor. The primary display supports up to 24 bpp (bits per pixel) up to WXGA resolution.
Linux kernel 2.6.28
The following is valid for Releases up to sbc-imx51-v0.3-hw2.1.
Linux kernel configuration
The HDMI transmitter chip is configured via I2C:
System Type ---> Freescale MXC Implementations ---> MX51 Options ---> Device options ---> [*] Enable I2C1 module Device Drivers ---> <*> I2C support ---> <*> I2C device interface [*] Autoselect pertinent helper modules I2C Hardware Bus support ---> <*> MXC I2C support
Framebuffer configuration:
Device Drivers ---> Graphics support ---> <*> Support for frame buffer devices ---> -*- Enable Video Mode Handling Helpers <*> MXC Framebuffer support <*> Synchronous Panel Framebuffer <*> AD9889 HDMI transmitter Console display driver support ---> <*> Framebuffer Console support [*] Select compiled-in fonts [*] VGA 8x16 font
Resolution settings
The default resolution is XGA (1024x768) at 60 Hz. You may change the resolution by editing the following source code file.
btmxc-linux/arch/arm/mach-mx51/mx51_i.fly.c
Look for the following struct:
static struct mxc_fb_platform_data fb_data[] = { { .interface_pix_fmt = IPU_PIX_FMT_RGB24, .mode_str = "1280x768M-16@50", }, { .interface_pix_fmt = IPU_PIX_FMT_RGB565, .mode_str = "1024x768M-16@60", }, };
The mode_str element of fb_data[0] sets the resolution of the HDMI output.
The following modes were tested:
.mode_str = "1280x768M-16@50" .mode_str = "1280x720M-16@50" .mode_str = "1024x768M-16@60" .mode_str = "800x600M-16@60"
You need to recompile your kernel afterwards for the changes to take effect.
Linux kernel 2.6.31
The following is valid for Release sbc-imx51-v0.9-hw2.1 or newer.
Linux kernel configuration
The HDMI transmitter chip is configured via I2C:
Device Drivers ---> <*> I2C support ---> <*> I2C device interface [*] Autoselect pertinent helper modules I2C Hardware Bus support ---> <*> MXC I2C support
Framebuffer configuration:
Device Drivers ---> Graphics support ---> <*> Support for frame buffer devices ---> -*- Enable Video Mode Handling Helpers <*> MXC Framebuffer support <*> Synchronous Panel Framebuffer <*> AD9889 HDMI transmitter Console display driver support ---> <*> Framebuffer Console support [*] Select compiled-in fonts [*] VGA 8x16 font
Resolution settings
The resolution is configured via the kernel argument
display=hdmi:[mode]
where mode is defined as
[xres]x[yres]M-[bpp]@[refresh]
Some examples:
800x600M-16@60 1024x768M-16@60 1280x720M-16@50 1280x768M-16@50
Please note that in most cases, the exact refresh rate will differ because of the i.MX51 internal clock divider.
The default resolution is XGA (1024x768) at 60 Hz, i.e. mode 1024x768M-16@60.
Test
If you boot the SBC with the default image and have a monitor/TV connected to the HDMI output, you will see the Linux Tux during boot (after some time) and then the Gnome Desktop will show up.