setenv bootargs '' if ${fs}load ${dtype} ${disk}:1 10800000 uEnv.txt ; then env import -t 10800000 $filesize fi if itest.s "x" == "x$dtbname" ; then dtbname="imx6"; if itest.s x6SOLO == "x$cpu" ; then dtbname=${dtbname}dl-; elif itest.s x6DL == "x$cpu" ; then dtbname=${dtbname}dl-; else dtbname=${dtbname}q-; fi if itest.s x == "x$board" ; then board=sabrelite fi dtbname=${dtbname}${board}.dtb; fi if itest.s x == x${bootdir} ; then bootdir=/boot/ fi setenv fdt_addr 0x12000000 if ${fs}load ${dtype} ${disk}:1 $fdt_addr ${bootdir}$dtbname ; then fdt addr $fdt_addr setenv fdt_high 0xffffffff else echo "!!!! Error loading ${bootdir}$dtbname"; exit; fi # ------------------- HDMI detection i2c dev 1 ; if i2c probe 0x50 ; then echo "------ have HDMI monitor"; if itest.s x == x$allow_noncea ; then setenv bootargs $bootargs mxc_hdmi.only_cea=1; echo "only CEA modes allowed on HDMI port"; else setenv bootargs $bootargs mxc_hdmi.only_cea=0; echo "non-CEA modes allowed on HDMI, audio may be affected"; fi else fdt rm hdmi_display echo "------ no HDMI monitor"; fi # ------------------- LVDS detection if itest.s "x" != "x$lvds_1080p" ; then echo "----- 1080P dual channel LVDS"; fdt rm okaya1024x600 fdt rm lg1280x800 fdt rm hannstar; fdt set ldb split-mode 1 fdt set lvds_display interface_pix_fmt "RGB24" fdt set ldb/lvds-channel@0 fsl,data-width <24> else fdt rm ldb split-mode fdt rm lvds1080p # -------- LVDS0 (bottom on Nitrogen6_Max) setenv have_lvds i2c dev 2 if i2c probe 0x04 ; then echo "------ have Freescale display"; setenv have_lvds 1 else echo "------ no Freescale display"; fdt rm hannstar; fi if i2c probe 0x38 ; then if itest.s "xLDB-WXGA" == "x$panel"; then screenres=1280,800 fdt rm okaya1024x600 else screenres=1024,600 fdt rm lg1280x800 fi setenv have_lvds 1 setenv bootargs $bootargs ft5x06_ts.screenres=$screenres if itest.s "x" -ne "x$calibration" ; then setenv bootargs $bootargs ft5x06_ts.calibration=$calibration fi else echo "------ no ft5x06 touch controller"; fdt rm okaya1024x600 fdt rm lg1280x800 fi if itest.s "x" == "x$have_lvds"; then fdt rm lvds_display; fi # -------- LVDS1 (top on Nitrogen6_Max) if itest.s "xhannstar" == "x$lvds1_panel" ; then echo "configure LVDS1 for Hannstar panel" fdt rm okaya1024x600_2; fdt rm lg1280x800_2; fdt set lvds_display_2 status okay elif itest.s "xokaya1024x600" == "x$lvds1_panel" ; then echo "configure LVDS1 for 1024x600 panel" fdt rm hannstar_2; fdt rm lg1280x800_2; fdt set lvds_display_2 status okay elif itest.s "xlg1280x800" == "x$lvds1_panel" ; then echo "configure LVDS1 for 1280x800 panel" fdt rm hannstar_2; fdt rm okaya1024x600_2; fdt set lvds_display_2 status okay else fdt rm lvds_display_2 ; # ignore errors on boards != 6_max fi fi # ------------------- LCD detection setenv have_lcd ''; if i2c probe 0x48 ; then setenv have_lcd 1; echo "------- found TSC2004 touch controller"; if itest.s "x" -eq "x$tsc_calibration" ; then setenv bootargs $bootargs tsc2004.calibration=-67247,-764,272499173,324,69283,-8653010,65536 else setenv bootargs $bootargs tsc2004.calibration=$tsc_calibration fi elif i2c probe 0x4d ; then setenv have_lcd 1; echo "------- found AR1020 touch controller"; fi if itest.s "x" != "x$ignore_lcd" ; then echo "------ ignoring LCD display"; setenv have_lcd ''; fi if itest.s "x" != "x$have_lcd" ; then echo "----- found LCD display"; else fdt rm lcd_display; fi setenv bootargs "$bootargs console=ttymxc1,115200 vmalloc=400M consoleblank=0 rootwait" if itest.s x$bootpart == x ; then bootpart=1 fi if test "sata" = "${dtype}" ; then setenv bootargs "$bootargs root=/dev/sda$bootpart" ; else if test "usb" = "${dtype}" ; then setenv bootargs "$bootargs root=/dev/sda$bootpart" ; elif itest 0 -eq ${disk}; then setenv bootargs "$bootargs root=/dev/mmcblk2p$bootpart" ; else setenv bootargs "$bootargs root=/dev/mmcblk3p$bootpart" ; fi fi if itest.s "x" != "x${disable_giga}" ; then setenv bootargs $bootargs fec.disable_giga=1 fi if itest.s "x" != "x$wlmac" ; then setenv bootargs $bootargs wlcore.mac=$wlmac fi if itest.s "x" != "x$gpumem" ; then setenv bootargs $bootargs galcore.contiguousSize=$gpumem fi if itest.s "x" != "x$show_fdt" ; then fdt print / fi if itest.s "x" != "x$show_env" ; then printenv fi if ${fs}load ${dtype} ${disk}:1 10800000 ${bootdir}uImage ; then bootm 10800000 - $fdt_addr fi echo "Error loading kernel image"