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)
- 1920×1200 (WUXGA)
- 1920×1080 (1080p)
- 1280×720 (720p)
- 720×480 (480p)
- 720×576 (576p)
- 1280×800 (800p for ODROID-VU)
- 1280×1024 (SXGA)
- 800×480 (WVGA)
- 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