setenv _bscriptver "v1.07" echo "## Gateworks Ventana Yocto Bootscript ${_bscriptver} ####################" ## First: Memory Allocations ################################################### if test -z "${mem}" ; then echo "Detected ${mem_mb}MB DRAM - adjusting CMA memory allocation..." # Freescale doesn't provide a 'best practice' for choosing CMA. We determine # it using following formula (please customize mem to your own req's): # cma=min(((${mem_mb}/2) - round(${mem_mb}*.125))M, 384M) if itest.s "x${mem_mb}" == "x256" ; then setenv mem "cma=96M" elif itest.s "x${mem_mb}" == "x512" ; then setenv mem "cma=192M" else setenv mem "cma=384M" fi fi if itest.s "x${mem}" == "xNA" ; then echo "Leaving CMA alone..." else setenv extra "${extra}" "${mem}" echo "Memory configuration used from env mem: $mem" fi ## Second: Video Options ####################################################### if test -z "${video}" ; then # locally used variables setenv fb_num 0 setenv lvds_flag setenv hdmi_flag setenv cvbs_flag setenv max_disp 3 # 0-3 displays # Default displays to display if displays is empty if test -z "${displays}"; then setenv displays "${display}" fi # Detect HDMI if displays is empty (HDMI) if test -z "${displays}" ; then i2c dev 2 if hdmidet ; then # HDMI setenv displays "HDMI" echo "HDMI Detected" fi fi echo "Display(s) to configure: ${displays}" # Configure displays for disp in ${displays} ; do if itest.s "x${disp}" == "xHDMI" ; then if test -z "${hdmi_flag}" ; then # Only allow one HDMI display setenv hdmi_flag 1 test -n "${hdmi}" || hdmi=1080p if itest.s "x${hdmi}" == "x1080p" ; then setenv hdmi "1920x1080M@60" elif itest.s "x${hdmi}" == "x720p" ; then setenv hdmi "1280x720M@60" elif itest.s "x${hdmi}" == "x480p" ; then setenv hdmi "720x480M@60" fi setenv video "${video}" "video=mxcfb${fb_num}:dev=hdmi,${hdmi},if=RGB24,bpp=32" echo "Setting HDMI Display to mxcfb${fb_num}" setexpr fb_num ${fb_num} + 1 fi # Freescale MCIMX-LVDS1 10" XGA Touchscreen Display elif itest.s "x${disp}" == "xHannstar-XGA" ; then if test -z "${lvds_flag}" ; then # Only allow one LVDS display setenv lvds_flag 1 setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-XGA,if=RGB666" # Configure timings setenv display "Hannstar-XGA" echo "Setting Hannstar-XGA Display to mxcfb${fb_num}" setexpr fb_num ${fb_num} + 1 fi # GW17029 DLC700JMGT4 7" WSVGA Touchscreen Display elif itest.s "x${disp}" == "xDLC700JMGT4" ; then if test -z "${lvds_flag}" ; then # Only allow one LVDS display setenv lvds_flag 1 setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-WSVGA,if=RGB666" # Configure timings setenv display "DLC700JMGT4" echo "Setting DLC700JMGT4 Display to mxcfb${fb_num}" setexpr fb_num ${fb_num} + 1 fi # GW17030 DLC800FIGT3 8" XGA Touchscreen Display" elif itest.s "x${disp}" == "xDLC800FIGT3" ; then if test -z "${lvds_flag}" ; then # Only allow one LVDS display setenv lvds_flag 1 setenv video "${video}" "video=mxcfb${fb_num}:dev=ldb,bpp=32,LDB-XGA,if=RGB666" # Configure timings setenv display "DLC800FIGT3" echo "Setting DLC800FIGT3 Display to mxcfb${fb_num}" setexpr fb_num ${fb_num} + 1 fi elif itest.s "x${disp}" == "xCVBS" ; then if test -z "${cvbs_flag}" ; then # Only allow one CVBS display setenv cvbs_flag 1 setenv video "${video}" "video=mxcfb${fb_num}:dev=adv739x,BT656-NTSC,if=BT656,fbpix=RGB565,bpp=32" echo "Setting CVBS Display to mxcfb${fb_num}" setexpr fb_num ${fb_num} + 1 fi elif itest.s "x${disp}" == "xnone" ; then # Reset fb_num to mark all displays to 'off' setenv fb_num 0 else echo "${disp} is an unsupported display type" echo "Valid Displays: HDMI|Hannstar-XGA|DLC700JMGT4|DLC800FIGT3|CVBS" fi done # Mark the rest of the displays to 'off' while test "${fb_num}" -le "${max_disp}" ; do setenv video "${video}" "video=mxcfb${fb_num}:off" setexpr fb_num ${fb_num} + 1 done # Set only if video is set if test -n "${video}" ; then setenv video "${video}" fi fi setenv extra "${extra}" galcore.initgpu3DMinClock=3 echo "Video configuration used from env video: ${video}" echo "## End Gateworks Ventana Yocto Bootscript ${_bscriptver} ################"