This page introduce you an useful tips to use ODROID-C2.
ODROID-C2 can support various resolution on HDMI output, you can select one of supported resolutions for your display (LCD monitor or TV).
Please make sure the resolution you select can be supported by your display before you start. Otherwise you would be hard to recover the resolution again.
Supported resolutions at this moment (2016-08-03)
We provide you a simple but useful application, ODROID Utility. This helps you to change the resolution by menu as below and you can select one of them for your display. Once you select one, click the button Apply and Reboot. Then your ODROID-C2 will restart with new resolution.
Coming soon…
This section introduce you to change the resolution by manual, this would be helpful if you are failure to change the resolution and not able to sett the face of ODROID-C2.
The fact what initiate the resolution is from U-boot and the environment key is hdmimode. Probably your U-boot would have the one like this by default.
odroidc#print hdmimode hdmimode=720p60hz
This will be passed to Linux kernel by bootargs just before Linux kernel is started. Here is the default value of bootcmd which starts Linux kernel. As you see, hdmimode is passing as boot argument.
odroidc2# print bootcmd bootcmd=cfgload; setenv bootargs root=/dev/mmcblk0p2 rw init=/init rootwait console=ttyS0,115200 hdmimode=${hdmimode} hdmitx=${cecconfig} logo=osd1,loaded,${fb_addr},${hdmimode} androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#} androidboot.selinux=disabled;showlogo ${hdmimode}; movi read dtb 0 0x1000000; movi read boot 0 0x20000000; booti 0x20000000 - 0x1000000
There are three ways to change hdmimode to change the resolution, you can replace 1080p60hz with the other resolution you wish to change for your display. And only the way with adjusting hdmimode arg value in boot.ini is available for ODROID-C2 so far, the other ways are in progress.
Currently, 720p60hz mode is fixed on U-Boot stage after power-on and reset. But you can change hdmimode temporarily using 'showlogo' command.
showlogo 1080p60hz
You can boot with boot.ini without changing U-boot environment values permanently. If boot.ini is existed in FAT partition ODROID-C2 does boot with it first, unless boot with default setting stored in U-boot environment. The example related to display is as following.
setenv hdmimode "720p60hz" # CEC Configuration setenv cecconfig "cecf" # HDMI/DVI Mode Configuration # This will enforce the signal type of display # "hdmi" - For HDMI interface # "dvi" - For DVI interface setenv vout_mode "hdmi" setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} hdmitx=${cecconfig} vout=${vout_mode} overscan_top=${top} overscan_left=${left} overscan_bottom=${bottom} overscan_right=${right} logo=${logoopt} ${androidopt} ${selinuxopt}" showlogo ${hdmimode}
In order to support easy boot loader setup, ODROID-C2 also support boot.ini as previous ODROID boards. So you can easily list up the commands what you want to executed in U-boot rather than the default. Here is the example to boot Ubuntu.
You can download the file below and copy into your FAT partition.
ODROIDC2-UBOOT-CONFIG setenv dtbaddr 0x1000000 setenv loadaddr 0x20000000 # Resolution Configuration # 'hdmimode' must be one of below to configure display resolution within # supported by your TV or monitor. # Symbol | Resolution # ----------------------+------------- # "480p60hz" | 720x480 Progressive 60Hz # "576p50hz" | 720x576 Progressive 50Hz # "720p60hz" | 1280x720 Progressive 60Hz # "720p50hz" | 1280x720 Progressive 50Hz # "1080p60hz" | 1920x1080 Progressive 60Hz # "1080p50hz" | 1920x1080 Progressive 50Hz # "1080p30hz" | 1920x1080 Progressive 30Hz # "1080p24hz" | 1920x1080 Progressive 24Hz # "1080i60hz" | 1920x1080 Interlaced 60Hz # "1080i50hz" | 1920x1080 Interlaced 50Hz # "2160p60hz" | 3840x2160 Progressive 60Hz # "2160p50hz" | 3840x2160 Progressive 50Hz # "2160p30hz" | 3840x2160 Progressive 30Hz # "2160p25hz" | 3840x2160 Progressive 25Hz # "2160p24hz" | 3840x2160 Progressive 24Hz # "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0 # "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0 # "640x480p60hz" | 640x480 Progressive 60Hz # "800x480p60hz" | 800x480 Progressive 60Hz # "800x600p60hz" | 800x600 Progressive 60Hz # "1024x600p60hz" | 1024x600 Progressive 60Hz # "1024x768p60hz" | 1024x768 Progressive 60Hz # "1280x800p60hz" | 1280x800 Progressive 60Hz # "1280x1024p60hz" | 1280x1024 Progressive 60Hz # "1360x768p60hz" | 1360x768 Progressive 60Hz # "1440x900p60hz" | 1440x900 Progressive 60Hz # "1600x900p60hz" | 1600x900 Progressive 60Hz # "1680x1050p60hz" | 1680x1050 Progressive 60Hz # "1920x1200p60hz" | 1920x1200 Progressive 60Hz setenv hdmimode "720p60hz" setenv rootopt "root=/dev/mmcblk0p2 rw init=/init rootwait" setenv consoleopt "console=ttyS0,115200" setenv androidopt "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#}" setenv logoopt "osd1,loaded,${fb_addr},${hdmimode}" setenv selinuxopt "androidboot.selinux=disabled" # HDMI/DVI Mode Configuration # This will enforce the signal type of display # "hdmi" - For HDMI interface # "dvi" - For DVI interface setenv vout_mode "hdmi" # HPD enable/disable option setenv disablehpd "false" # Overscan offset configuration # All offsets are zero and can be tuned by manual or ODROID Utility setenv overscan_top "0" setenv overscan_left "0" setenv overscan_bottom "0" setenv overscan_right "0" setenv bootargs "${rootopt} ${consoleopt} hdmimode=${hdmimode} hdmitx=${cecconfig} vout=${vout_mode} disablehpd=${disablehpd} logo=${logoopt} ${androidopt} ${selinuxopt}" save showlogo ${hdmimode} movi read dtb 0 ${dtbaddr} movi read boot 0 ${loadaddr} booti ${loadaddr} - ${dtbaddr}
(in progress)
This is the keyword to identify the correct BOOT.INI as per board. For ODROID-C2, any BOOT.INI must contain ODROIDC2-UBOOT-CONFIG and other commands must be below this.
You can describe multiple commands of U-boot from the next line of ODROIDC2-UBOOT-CONFIG. The commands are only restricted within the commands enabled by the running U-boot.
ODROID-C2 can show booting logo on the display till target O/S is started.
Please refer to the following wiki page.