How to set N2 Display Mode and Resolution

There are two kinds of display setting mode of ODROID-N2.

  • Display Auto Detection Mode
  • Display Manual Setting Mode (including hdmi phy manual setting using modeline)

And you can set display mode and resolutions through boot.ini file.

Auto Detection Mode

Display Mode Setting

To run display auto-detection mode, display_autodetect in boot.ini must be set as “true”.

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "true"

Sample boot.ini

Auto detection-related lines are as following.

# Auto Detection of Monitor settings based on your Screen information
setenv display_autodetect "true"
 
### Normal HDMI Monitors
if test "${display_autodetect}" = "true"; then hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
 
# Boot Args : ${cmode} must be added in bootargs
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} cvbscable=${cvbscable} overscan=${overscan} ${hid_quirks}"

Here is a sample boot.ini including display auto detection option.

ODROIDN2-UBOOT-CONFIG
 
# Default Console Device Setting
setenv condev "console=ttyS0,115200n8"   # on both
 
# Auto Detection of Monitor settings based on your Screen information
setenv display_autodetect "true"
 
# HDMI Mode
# Resolution Configuration
#    Symbol             | Resolution
# ----------------------+-------------
#    "480x320p60hz"     | 480x320 Progressive 60Hz
#    "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
#    "smpte24hz"        | 3840x2160 Progressive 24Hz SMPTE
#    "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
#    "1600x1200p60hz"   | 1600x1200 Progressive 60Hz
#    "1680x1050p60hz"   | 1680x1050 Progressive 60Hz
#    "1920x1200p60hz"   | 1920x1200 Progressive 60Hz
#    "2560x1080p60hz"   | 2560x1080 Progressive 60Hz
#    "2560x1440p60hz"   | 2560x1440 Progressive 60Hz
#    "2560x1600p60hz"   | 2560x1600 Progressive 60Hz
#    "3440x1440p60hz"   | 3440x1440 Progressive 60Hz
setenv hdmimode "1080p60hz"
 
# Overscan percentage
# This value scales down the actual screen size by the percentage below
# valid range is 80 to 100
setenv overscan "100"
 
### voutmode : hdmi or dvi
setenv voutmode "hdmi"
# setenv voutmode "dvi"
 
# HPD enable/disable option
setenv disablehpd "false"
 
# max cpu frequency for big core, A73 in MHz unit
# setenv max_freq_a73 "2004"  # 2.004 GHz
# setenv max_freq_a73 "1908"  # 1.908 GHz
setenv max_freq_a73 "1800"  # 1.8 GHz, default value
# setenv max_freq_a73 "1704"  # 1.704 GHz
 
# max cpu frequency for little core, A53 in MHz unit
# setenv max_freq_a53 "1992"  # 1.992 GHz
setenv max_freq_a53 "1896"  # 1.896 GHz, default value
# setenv max_freq_a53 "1704"  # 1.704 GHz
 
 
# max cpu-cores
# Note:
# CPU's 0 and 1 are the A53 (small cores)
# CPU's 2 to 5 are the A73 (big cores)
# Lowering this value disables only the bigger cores (the last cores).
# setenv maxcpus "4"
# setenv maxcpus "5"
setenv maxcpus "6"
 
### Normal HDMI Monitors
if test "${display_autodetect}" = "true"; then hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
 
# Boot Args
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} ${cmode} voutmode=${voutmode} disablehpd=${disablehpd} cvbscable=${cvbscable} overscan=${overscan}"
 
# Set load addresses
setenv dtb_loadaddr "0x1000000"
setenv k_addr "0x1100000"
setenv loadaddr "0x1B00000"
setenv initrd_loadaddr "0x3700000"
 
# Load kernel, dtb and initrd
fatload mmc ${devno}:1 ${k_addr} Image.gz
fatload mmc ${devno}:1 ${dtb_loadaddr} meson64_odroidn2.dtb
fatload mmc ${devno}:1 ${initrd_loadaddr} uInitrd
fdt addr ${dtb_loadaddr}
# unzip the kernel
unzip ${k_addr} ${loadaddr}
 
# boot
booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}

Manual Mode

Display Mode Setting

To run display mode with manual option, display_autodetect in boot.ini must be set as “false”.

# Display Auto Detection
# "false" or "true"
setenv display_autodetect "false"

Resolution Setting

### Manual Modes
# setenv hdmimode "480p60hz" # 480 Progressive 60Hz
# setenv hdmimode "576p50hz" # Progressive 50Hz
# setenv hdmimode "720p50hz" # 50Hz
# setenv hdmimode "720p60hz" # 60Hz
# setenv hdmimode "1080i60hz" # Interlaced 60Hz
setenv hdmimode "1080p60hz" # Progressive 60Hz
# setenv hdmimode "1080i50hz" # Interlaced 50Hz
# setenv hdmimode "1080p50hz" # Progressive 50Hz
# setenv hdmimode "1080p24hz" # Progressive 24Hz
# setenv hdmimode "2160p30hz"    # Progressive 30Hz
# setenv hdmimode "2160p25hz"    # Progressive 25Hz
# setenv hdmimode "2160p24hz"    # Progressive 24Hz
# setenv hdmimode "smpte24hz"    # Progressive 24Hz SMPTE
# setenv hdmimode "2160p50hz"    # Progressive 50Hz
# setenv hdmimode "2160p60hz"    # Progressive 60Hz
# setenv hdmimode "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv hdmimode "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
 
### VESA modes ###
# setenv hdmimode "640x480p60hz"
# setenv hdmimode "800x480p60hz"
# setenv hdmimode "480x320p60hz"
# setenv hdmimode "480x800p60hz"
# setenv hdmimode "800x600p60hz"
# setenv hdmimode "1024x600p60hz"
# setenv hdmimode "1024x768p60hz"  
# setenv hdmimode "1280x800p60hz"
# setenv hdmimode "1280x1024p60hz"
# setenv hdmimode "1360x768p60hz"
# setenv hdmimode "1440x900p60hz"
# setenv hdmimode "1600x900p60hz"
# setenv hdmimode "1680x1050p60hz"
# setenv hdmimode "1600x1200p60hz"
# setenv hdmimode "1920x1200p60hz"
# setenv hdmimode "2560x1080p60hz"
# setenv hdmimode "2560x1440p60hz"
# setenv hdmimode "2560x1600p60hz"

Available Resolution

You can find the available resolution list here.

Support Resolution List

HDMI/DVI Switching

# HDMI HDMI/DVI modes
# By default its set to HDMI, if needed, change below.
# Uncomment only a single Line.
setenv voutmode "hdmi"
# setenv voutmode "dvi"

Additional Information

The display control concept of ODROID-N2 is same with ODROID-C2 logic.
Please refer to the following links for the basic operation rules and further information.