Table of Contents

Tips for ODROID-C1

This page introduce you an useful tips to use ODROID-C1.


How to change HDMI output resolution

ODROID-C1 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 (2014-12-15)

  1. 1920×1200 (WUXGA)
  2. 1920×1080 (1080p)
  3. 1280×720 (720p)
  4. 720×480 (480p)
  5. 720×576 (576p)
  6. 1280×800 (800p for ODROID-VU)
  7. 1280×1024 (SXGA)
  8. 800×480 (WVGA)
  9. 640×480 (VGA)

Android

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-C1 will restart with new resolution.

Linux / Ubuntu

Coming soon…

Lowlevel Change

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-C1.

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=720p

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.

odroidc#print bootcmd
bootcmd=cfgload;setenv bootargs root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 no_console_suspend vd
accfg=${vdac_config} logo=osd1,loaded,${fb_addr},${outputmode},full hdmimode=${hdmimode} cvbsmode=$
{cvbsmode} hdmitx=${cecconfig} androidboot.serialno=${fbt_id#}; movi read boot 0 0x12000000;movi re
ad dtb 0 0x12800000;bootm 0x12000000 - 0x12800000

How to change the value of hdmimode

There are three ways to change hdmimode to change the resolution, you can replace 1080p with the other resolution you wish to change for your display.

U-boot

If you are able to get into U-boot, this is simply possible with 3 commands below. This will change the resolution value and restart the board. This scheme is only available when booting with 'boot.ini' is not used.

setenv hdmimode 1080p
saveenv
reset

Android shell

If you are able to use adb shell, then you can do these command to change hdmimode. This will change the resolution value and restart the board as well. This scheme is only available when booting with 'boot.ini' is not used.

# fw_setenv hdmimode 1080p
# reboot

Boot.ini

You also can boot with boot.ini without changing U-boot environment values permanently. If boot.ini is existed in FAT partition ODROID-C1 does boot with it first, unless boot with default setting stored in U-boot environment. You can download the file below and copy into your FAT partition.

boot.ini
ODROIDC-UBOOT-CONFIG
 
setenv hdmimode 1080p
setenv bootargs "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 no_console_suspend vdaccfg=${vdac_config} logo=osd1,loaded,${fb_addr},${outputmode},full hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} androidboot.serialno=${fbt_id#}"
setenv bootcmd "movi read boot 0 0x12000000; movi read dtb 0 0x12800000; bootm 0x12000000 - 0x12800000"
run bootcmd

How to change U-boot configuration by BOOT.INI


In order to support easy boot loader setup, ODROID-C1 also support boot.ini as well 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.

Android boot.ini example

boot.ini
ODROIDC-UBOOT-CONFIG
 
# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.
 
# setenv m "vga"           # VGA 640x480
# setenv m "480p"          # 480p 720x480
# setenv m "576p"          # 576p 720x576
# setenv m "800x480p60hz"  # WVGA 800x480
# setenv m "720p"          # 720p 1280x720
# setenv m "800p"          # 800p(WXGA) 1280x800
# setenv m "1024x768p60hz" # XGA 1024x768
# setenv m "sxga"          # SXGA 1280x1024
setenv m "1080p"         # 1080P 1920x1080
# setenv m "1920x1200"     # 1920x1200
 
# HDMI/DVI Mode Configuration
setenv vout_mode "hdmi"
# setenv vout_mode "dvi"
 
# UHS Card Configuration
# Uncomment the line below to __DISABLE__ UHS-1 MicroSD support
# This might break boot for some brand/models of cards.
setenv disableuhs "disableuhs"
 
setenv bootargs "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 no_console_suspend vdaccfg=${vdac_config} logo=osd1,loaded,${fb_addr},${outputmode},full hdmimode=${m} cvbsmode=${cvbsmode} hdmitx=${cecconfig} vout=${vout_mode} ${disableuhs} androidboot.serialno=${fbt_id#}"
setenv bootcmd "movi read boot 0 0x12000000; movi read dtb 0 0x12800000; bootm 0x12000000 - 0x12800000"
run bootcmd

Linux boot.ini example

boot.ini
ODROIDC-UBOOT-CONFIG
 
# Possible screen resolutions
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.
 
# setenv m "vga"          # VGA 640x480
# setenv m "480p"         # 480p 720x480
# setenv m "576p"         # 576p 720x576
# setenv m "800x480p60hz" # WVGA 800x480
# setenv m "720p"         # 720p 1280x720
# setenv m "800p"         # 800p(WXGA) 1280x800
# setenv m "sxga"         # SXGA 1280x1024
setenv m "1080p"        # 1080P 1920x1080
# setenv m "1920x1200"    # 1920x1200
 
# HDMI/DVI Mode Configuration
setenv vout_mode "hdmi"
# setenv vout_mode "dvi"
 
# HDMI BPP Mode
setenv m_bpp "32"
# setenv m_bpp "16"
 
# UHS Card Configuration
# Uncomment the line below to __DISABLE__ UHS-1 MicroSD support
# This might break boot for some brand/models of cards.
setenv disableuhs "disableuhs"
 
setenv bootargs "console=ttyS0,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs}"
setenv bootcmd "fatload mmc 0:1 0x21000000 uImage; fatload mmc 0:1 0x22000000 uInitrd; fatload mmc 0:1 0x21800000 meson8b_odroidc.dtb; bootm 0x21000000 0x22000000 0x21800000"
run bootcmd

Board Identifier

This is the keyword to identify the correct BOOT.INI as per board. For ODROID-C1, any BOOT.INI must contain ODROIDC-UBOOT-CONFIG and other commands must be below this.

U-boot commands

You can describe multiple commands of U-boot from the next line of ODROIDC-UBOOT-CONFIG. The commands are only restricted within the commands enabled by the running U-boot.

How to replace booting logo

ODROID-C1 can shows booting logo to the display till target O/S is started.

LOGO file format

Currently, we support 24-bit Windows BMP image only and default size is 1280×720. You can display any other size of logo file, but it will be showen at the left-top corner.

Using BOOT.INI

You can add the commands to your boot.ini before bootcmd is executed. Note that you can replace the logo file name hardkernel-720.bmp with yours and it must be in FAT (BOOT) partition.

logo size ${outputmode}
video open
video clear
video dev open ${outputmode}
fatload mmc 0 ${loadaddr_logo} hardkernel-720.bmp
bmp display ${loadaddr_logo}
bmp scale

Using FASTBOOT

The logo partition is internally assigned in U-boot itself, please refer this for detail. This works just for Android Users since Linux/Ubuntu uses the logo sectors for BOOT partition.

Firstly, you must get into your U-boot command line while pressing any key when your ODROID-C1 is powered up. And execute fastboot command from U-boot and connect with your desktop using USB cable.

odroidc#fastboot

Next, run fastboot command from your desktop.

$ fastboot flash logo hardkernel-720.bmp.gz