Skip to content

Instantly share code, notes, and snippets.

@jgmdev
Created August 20, 2020 05:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgmdev/d6a32bb2148d879c0b4ca317fe3dd5e5 to your computer and use it in GitHub Desktop.
Save jgmdev/d6a32bb2148d879c0b4ca317fe3dd5e5 to your computer and use it in GitHub Desktop.
Odroid N2 sample boot.ini for kernel 4.9.x
ODROIDN2-UBOOT-CONFIG
setenv board "odroidn2"
# Default Console Device Setting
# NOTE: to also display boot output on display connected to hdmi
# set this variable as follows:
# setenv condev "console=ttyS0,115200n8 console=tty1"
setenv condev "console=ttyS0,115200n8"
# Auto Detection of Monitor settings based on your Screen information
# valid options: true false
setenv display_autodetect "true"
# HDMI Mode
# Resolution Configuration
# Symbol | Resolution
# ----------------------+-------------
# "480x272p60hz" | 480x272 Progressive 60Hz
# "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"
# Monitor output
# Controls if HDMI PHY should output anything to the monitor
# valid options: true false
setenv monitor_onoff "false"
# Overscan percentage
# This value scales down the actual screen size by the percentage below
# valid range is 80 to 100
setenv overscan "100"
# SDR/HDR Configuration
# This forces SDR or HDR modes
# valid options are: sdr hdr auto
setenv sdrmode "auto"
# The video output mode
# valid options: hdmi dvi
setenv voutmode "hdmi"
# HPD enable/disable option
# valid options: true false
setenv disablehpd "false"
# Enable/Disable CEC
# valid options: true false
setenv cec "true"
# Hardkernel ODROID-VU7 support
# By default VU7 support is disabled
# valid options: true false
setenv disable_vu7 "true"
# Maximum CPU frequency of ARM A73
# N2: 500/667/1000/1200/1398/1512/1608/1704/1800 (Stock)/1908/2004
# N2 Plus: 500/667/1000/1200/1398/1512/1608/1704/1800/1908/2016/2100/2208 (Stock)/2304/2400
#
# Maximum CPU frequency of ARM A53
# N2: 100/250/500/667/1000/1200/1398/1512/1608/1704/1896 (Stock)/1992
# N2 Plus: 500/667/1000/1200/1398/1512/1608/1704/1800/1908 (Stock)/2016
if test "${variant}" = "n2_plus"; then
setenv max_freq_a73 "2208"
setenv max_freq_a53 "1908"
else
setenv max_freq_a73 "1800"
setenv max_freq_a53 "1896"
fi
# 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"
# Device Tree Overlay
setenv overlay_resize "16384"
# Overlays to load
# Example combinations:
# spi0 i2c0 i2c1 uart0
# hktft32
# hktft35
# For a list of overlays check:
# /boot/dtbs/amlogic/overlays/odroidn2/
setenv overlays "spi0 i2c0 i2c1 uart0"
## Normal HDMI Monitors
if test "${display_autodetect}" = "true"; then hdmitx edid; fi
if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
if test "${cec}" = "true"; then setenv cec_enable "hdmitx=cec3f"; fi
## VU7 Settings
if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi
# Boot Args
setenv bootargs "root=/dev/mmcblk${devno}p2 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} monitor_onoff=${monitor_onoff} logo=osd0,loaded ${cec_enable} sdrmode=${sdrmode} consoleblank=0"
# Set load addresses
setenv dtb_loadaddr "0x1000000"
setenv dtbo_addr_r "0x11000000"
setenv loadaddr "0x1B00000"
setenv initrd_loadaddr "0x3700000"
# Load kernel, dtb and initrd
load mmc ${devno}:1 ${loadaddr} /Image
load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson64_odroid${variant}.dtb
load mmc ${devno}:1 ${initrd_loadaddr} /initramfs-linux.uimg
fdt addr ${dtb_loadaddr}
# Load overlays
if test "x{overlays}" != "x"; then
fdt resize ${overlay_resize}
for overlay in ${overlays}; do
load mmc ${devno}:1 ${dtbo_addr_r} /dtbs/amlogic/overlays/${board}/${overlay}.dtbo \
&& fdt apply ${dtbo_addr_r}
done
fi
# boot
booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment