| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #!/bin/sh
- for x in $(cat /proc/cmdline); do
- case ${x} in
- m_bpp=*) export bpp=${x#*=} ;;
- hdmimode=*) export mode=${x#*=} ;;
- modeline=*) export modeline=${x#*=} ;;
- esac
- done
- HPD_STATE=/sys/class/amhdmitx/amhdmitx0/hpd_state
- DISP_CAP=/sys/class/amhdmitx/amhdmitx0/disp_cap
- DISP_MODE=/sys/class/display/mode
- # if setenv nographics "1" in boot.ini then this needs to fail
- if [ ! -f $DISP_MODE ]; then
- exit 0
- fi
- echo $mode > $DISP_MODE
- common_display_setup() {
- M="0 0 $(($X - 1)) $(($Y - 1))"
- Y_VIRT=$(($Y * 2))
- fbset -fb /dev/fb0 -g $X $Y $X $Y_VIRT $bpp
- echo $mode > /sys/class/display/mode
- echo 0 > /sys/class/graphics/fb0/free_scale
- echo 1 > /sys/class/graphics/fb0/freescale_mode
- echo $M > /sys/class/graphics/fb0/free_scale_axis
- echo $M > /sys/class/graphics/fb0/window_axis
- echo 0 > /sys/class/graphics/fb1/free_scale
- echo 1 > /sys/class/graphics/fb1/freescale_mode
- }
- case $mode in
- custombuilt*)
- export X=`echo $modeline | cut -f1 -d","`
- export Y=`echo $modeline | cut -f2 -d","`
- ;;
- 480*)
- export X=720
- export Y=480
- ;;
- 576*)
- export X=720
- export Y=576
- ;;
- 720p*)
- export X=1280
- export Y=720
- ;;
- 1080*)
- export X=1920
- export Y=1080
- ;;
- 2160p*)
- export X=3840
- export Y=2160
- ;;
- smpte24hz*)
- export X=3840
- export Y=2160
- ;;
- 640x480p60hz*)
- export X=640
- export Y=480
- ;;
- 800x480p60hz*)
- export X=800
- export Y=480
- ;;
- 800x600p60hz*)
- export X=800
- export Y=600
- ;;
- 1024x600p60hz*)
- export X=1024
- export Y=600
- ;;
- 1024x768p60hz*)
- export X=1024
- export Y=768
- ;;
- 1280x800p60hz*)
- export X=1280
- export Y=800
- ;;
- 1280x1024p60hz*)
- export X=1280
- export Y=1024
- ;;
- 1360x768p60hz*)
- export X=1360
- export Y=768
- ;;
- 1440x900p60hz*)
- export X=1440
- export Y=900
- ;;
- 1600x900p60hz*)
- export X=1600
- export Y=900
- ;;
- 1680x1050p60hz*)
- export X=1680
- export Y=1050
- ;;
- 1600x1200p60hz*)
- export X=1600
- export Y=1200
- ;;
- 1920x1200p60hz*)
- export X=1920
- export Y=1200
- ;;
- 2560x1080p60hz*)
- export X=2560
- export Y=1080
- ;;
- 2560x1440p60hz*)
- export X=2560
- export Y=1440
- ;;
- 2560x1600p60hz*)
- export X=2560
- export Y=1600
- ;;
- 3440x1440p60hz*)
- export X=3440
- export Y=1440
- ;;
- esac
- common_display_setup
- # Console unblack
- case $mode in
- *cvbs*|480i*|576i*|1080i*)
- echo 0 > /sys/class/graphics/fb0/blank
- echo 1 > /sys/class/graphics/fb1/blank
- ;;
- *)
- echo 0 > /sys/class/graphics/fb0/blank
- echo 0 > /sys/class/graphics/fb1/blank
- ;;
- esac
|