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/overlays/${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