Files
build/config/bootscripts/boot-odroid-xu4.ini
Daniel Gonçalves 285ff7583c fix: cloudshell2 dtbo overlay path in boot.ini
Currently, dtbo path in boot.ini is wrong. So we cannot load device tree blob overlays for cloudshell2. This commit fix this path in boot.ini
2024-06-05 21:19:14 +02:00

298 lines
13 KiB
INI

ODROIDXU-UBOOT-CONFIG
# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#
# U-Boot defaults
setenv initrd_high "0xffffffff"
setenv fdt_high "0xffffffff"
# default settings, will be overwritten from armbianEnv.txt
setenv macaddr "00:1e:06:61:7a:55"
setenv rootdev "/dev/mmcblk0p1"
setenv rootfstype "ext4"
setenv console "both"
setenv bootlogo "false"
setenv verbosity "1"
# To update boot loader on your eMMC use the nand-sata-install tool
# run copy_uboot_sd2emmc
if ext4load mmc 0:1 0x44000000 /boot/armbianEnv.txt || fatload mmc 0:1 0x44000000 armbianEnv.txt || ext4load mmc 0:1 0x44000000 armbianEnv.txt; then env import -t 0x44000000 ${filesize}; fi
if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi
if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttySAC2,115200n8 ${consoleargs}"; fi
if test "${bootlogo}" = "true"; then
setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}"
else
setenv consoleargs "splash=verbose ${consoleargs}"
fi
setenv bootrootfs "${consoleargs} consoleblank=0 loglevel=${verbosity} root=${rootdev} rootfstype=${rootfstype} rootwait rw"
# --- Screen Configuration for HDMI --- #
# ---------------------------------------
# Uncomment only ONE line! Leave all commented for automatic selection.
# Uncomment only the setenv line!
# ---------------------------------------
# ODROID-VU forced resolution
# setenv videoconfig "video=HDMI-A-1:1280x800@60"
# -----------------------------------------------
# ODROID-VU forced EDID
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x800.bin"
# -----------------------------------------------
# 1920x1200 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1200_60hz.bin"
# -----------------------------------------------
# 1920x1200 30hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1200_30hz.bin"
# -----------------------------------------------
# 1920x1080 (1080P) with monitor provided EDID information. (1080p-edid)
# setenv videoconfig "video=HDMI-A-1:1920x1080@60"
# -----------------------------------------------
# 1920x1080 (1080P) without monitor data using generic information (1080p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin"
# -----------------------------------------------
# 1920x1080 50hz (1080P) with monitor provided EDID information. (1080p 50hz-edid)
# setenv videoconfig "video=HDMI-A-1:1920x1080@50"
# -----------------------------------------------
# 1920x1080 50hz (1080P) without monitor data using generic information (1080p 50hz-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080_50hz.bin"
# -----------------------------------------------
# 1920x800 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x800.bin"
# -----------------------------------------------
# 1792x1344 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1792x1344.bin"
# -----------------------------------------------
# 1680x1050 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1680x1050.bin"
# -----------------------------------------------
# 1600x1200 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1600x1200.bin"
# -----------------------------------------------
# 1600x900 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1600x900.bin"
# -----------------------------------------------
# 1400x1050 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1400x1050.bin"
# -----------------------------------------------
# 1440x900 with monitor provided EDID information.
# setenv videoconfig "video=HDMI-A-1:1440x900@60"
# -----------------------------------------------
# 1440x900 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1440x900.bin"
# -----------------------------------------------
# 1366x768 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1366x768.bin"
# -----------------------------------------------
# 1360x768 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1360x768.bin"
# -----------------------------------------------
# 1280x1024 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x1024.bin"
# -----------------------------------------------
# 1280x768 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x768.bin"
# -----------------------------------------------
# 1280x720 (720P) with monitor provided EDID information. (720p-edid)
# setenv videoconfig "video=HDMI-A-1:1280x720@60"
# -----------------------------------------------
# 1280x720 (720P) without monitor data using generic information (720p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin"
# -----------------------------------------------
# 1152x864 75hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1152x864_75hz.bin"
# -----------------------------------------------
# 1024x768 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x768.bin"
# -----------------------------------------------
# 1024x600 without monitor data using generic information (ODROID VU7+)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x600.bin"
# -----------------------------------------------
# 800x600 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/800x600.bin"
# -----------------------------------------------
# 848x480 60hz without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/848x480.bin"
# -----------------------------------------------
# 800x480 without monitor data using generic information (ODROID 7")
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/800x480.bin"
# -----------------------------------------------
# 720x576 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x576.bin"
# -----------------------------------------------
# 720x480 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x480.bin"
# -----------------------------------------------
# 640x480 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/640x480.bin"
# -----------------------------------------------
# 480x800 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/480x800.bin"
# --- HDMI / DVI Mode Selection ---
# ------------------------------------------
# - HDMI Mode
setenv vout "hdmi"
# - DVI Mode (disables sound over HDMI as per DVI compat)
# setenv vout "dvi"
# --- HDMI CEC Configuration ---
# ------------------------------------------
setenv cecenable "false" # false or true
# set to true to enable HDMI CEC
# CPU Governor Selection
# Available governos: conservative, userspace, powersave, ondemand, performance, schedutil
setenv governor "performance"
# DRAM Frequency
# Sets the LPDDR3 memory frequency
# Supported values: 933 825 728 633 (MHZ)
setenv ddr_freq 825
#------------------------------------------------------------------------------
#
# Use Hardware Add-On
#
#------------------------------------------------------------------------------
#
# If you are using your odroidxu4 in a CloudShell2 enclosure set this to true to
# enable TFT LCD and FAN control via i2c bus
# false : disabled
# true : TFT LCD and i2c bus enabled
#
# default : false
#
#------------------------------------------------------------------------------
setenv cs2enable "false"
#------------------------------------------------------------------------------
#
# HDMI Hot Plug detection
#
#------------------------------------------------------------------------------
#
# Forces the HDMI subsystem to ignore the check if the cable is connected or
# not.
# false : disable the detection and force it as connected.
# true : let cable, board and monitor decide the connection status.
#
# default: true
#
#------------------------------------------------------------------------------
setenv HPD "true"
#------------------------------------------------------------------------------
#
# TMDS data amplitude control.
#
#------------------------------------------------------------------------------
#
# 1LSB corresponds to 20 mVdiff amplitude level.
# tx_amp_lvl : 0 = 760 mVdiff(Min), 31 = 1380 mVdiff(Max)
#
# Hardkernel default hdmi_tx_amp_lvl = 31(1380 mVdiff);
#------------------------------------------------------------------------------
setenv hdmi_tx_amp_lvl "31"
#------------------------------------------------------------------------------
#
# TMDS data amplitude fine control for each channel.
#
#------------------------------------------------------------------------------
#
# 1LSB corresponds to 20 mVdiff amplitude level.
# tx_lvl : 0 = 0 mVdiff(Min), 3 = 60 mVdiff(Max)
#
# Hardkernel default
# hdmi_tx_lvl_ch0 = 3, hdmi_tx_lvl_ch1 = 3, hdmi_tx_lvl_ch2 = 3,
#------------------------------------------------------------------------------
setenv hdmi_tx_lvl_ch0 "3"
setenv hdmi_tx_lvl_ch1 "3"
setenv hdmi_tx_lvl_ch2 "3"
#------------------------------------------------------------------------------
#
# TMDS data pre-emphasis level control.
#
#------------------------------------------------------------------------------
#
# 1LSB corresponds to -0.45dB emphasis level except for 1
# tx_emp_lvl : 0 = 0 db(Min), 1 = -0.25 db, 2 = 0.7 db, 15 = -7.45 db(Max)
#
# Hardkernel default hdmi_tx_emp_lvl = 6 (-2.50 db);
#------------------------------------------------------------------------------
setenv hdmi_tx_emp_lvl "6"
#------------------------------------------------------------------------------
#
# TMDS clock amplitude control.
#
#------------------------------------------------------------------------------
#
# 1LSB corresponds to 20 mVdiff amplitude level.
# clk_amp_lvl : 0 = 790 mVdiff(Min), 31 = 1410 mVdiff(Max)
#
# Hardkernel default hdmi_clk_amp_lvl = 31 (1410 mVdiff)
#------------------------------------------------------------------------------
setenv hdmi_clk_amp_lvl "31"
#------------------------------------------------------------------------------
#
# TMDS data source termination resistor control.
#
#------------------------------------------------------------------------------
#
# tx_res :
# 0 = Source Termination OFF(Min), 1 = 200 ohm, 2 = 300 ohm, 3 = 120 ohm(Max)
#
# Hardkernrel default hdmi_tx_res = 0 (Source Termination OFF)
#------------------------------------------------------------------------------
setenv hdmi_tx_res "0"
#------------------------------------------------------------------------------
setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}"
# Load kernel, initrd and dtb in that sequence
ext4load mmc 0:1 0x40008000 /boot/zImage || fatload mmc 0:1 0x40008000 zImage || ext4load mmc 0:1 0x40008000 zImage
ext4load mmc 0:1 0x42000000 /boot/uInitrd || fatload mmc 0:1 0x42000000 uInitrd || ext4load mmc 0:1 0x42000000 uInitrd
# this is for mainline only
if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi
if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi
if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi
if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi
# legacy shares a single DT for all boards
if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next" || ext4load mmc 0:1 0x00000000 ".next"; then echo "Found mainline kernel configuration"; else setenv fdtfile "exynos5422-odroidxu3.dtb"; fi
ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x44000000 dtb/${fdtfile} || ext4load mmc 0:1 0x44000000 dtb/${fdtfile}
# set FDT address
fdt addr 0x44000000
if test "${cs2enable}" = "true"; then
fdt resize 8192
setenv overlays "i2c0 i2c1 hktft-cs-ogst"
for overlay in ${overlays}; do
ext4load mmc 0:1 0x60000000 /boot/dtb/${overlay}.dtbo
fdt apply 0x60000000
done
fi
if test "${cecenable}" = "false"; then fdt rm /cec@101B0000; fi
# final boot args
setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control} usb-storage.quirks=${usbstoragequirks} ${extraargs}"
# set DDR frequency
dmc ${ddr_freq}
bootz 0x40008000 0x42000000 0x44000000