c2_init.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. #!/bin/sh
  2. for x in $(cat /proc/cmdline); do
  3. case ${x} in
  4. m_bpp=*) export bpp=${x#*=} ;;
  5. hdmimode=*) export mode=${x#*=} ;;
  6. modeline=*) export modeline=${x#*=} ;;
  7. esac
  8. done
  9. HPD_STATE=/sys/class/amhdmitx/amhdmitx0/hpd_state
  10. DISP_CAP=/sys/class/amhdmitx/amhdmitx0/disp_cap
  11. DISP_MODE=/sys/class/display/mode
  12. # if setenv nographics "1" in boot.ini then this needs to fail
  13. if [ ! -f $DISP_MODE ]; then
  14. exit 0
  15. fi
  16. echo $mode > $DISP_MODE
  17. common_display_setup() {
  18. M="0 0 $(($X - 1)) $(($Y - 1))"
  19. Y_VIRT=$(($Y * 2))
  20. fbset -fb /dev/fb0 -g $X $Y $X $Y_VIRT $bpp
  21. echo $mode > /sys/class/display/mode
  22. echo 0 > /sys/class/graphics/fb0/free_scale
  23. echo 1 > /sys/class/graphics/fb0/freescale_mode
  24. echo $M > /sys/class/graphics/fb0/free_scale_axis
  25. echo $M > /sys/class/graphics/fb0/window_axis
  26. echo 0 > /sys/class/graphics/fb1/free_scale
  27. echo 1 > /sys/class/graphics/fb1/freescale_mode
  28. }
  29. case $mode in
  30. custombuilt*)
  31. export X=`echo $modeline | cut -f1 -d","`
  32. export Y=`echo $modeline | cut -f2 -d","`
  33. ;;
  34. 480*)
  35. export X=720
  36. export Y=480
  37. ;;
  38. 576*)
  39. export X=720
  40. export Y=576
  41. ;;
  42. 720p*)
  43. export X=1280
  44. export Y=720
  45. ;;
  46. 1080*)
  47. export X=1920
  48. export Y=1080
  49. ;;
  50. 2160p*)
  51. export X=3840
  52. export Y=2160
  53. ;;
  54. smpte24hz*)
  55. export X=3840
  56. export Y=2160
  57. ;;
  58. 640x480p60hz*)
  59. export X=640
  60. export Y=480
  61. ;;
  62. 800x480p60hz*)
  63. export X=800
  64. export Y=480
  65. ;;
  66. 800x600p60hz*)
  67. export X=800
  68. export Y=600
  69. ;;
  70. 1024x600p60hz*)
  71. export X=1024
  72. export Y=600
  73. ;;
  74. 1024x768p60hz*)
  75. export X=1024
  76. export Y=768
  77. ;;
  78. 1280x800p60hz*)
  79. export X=1280
  80. export Y=800
  81. ;;
  82. 1280x1024p60hz*)
  83. export X=1280
  84. export Y=1024
  85. ;;
  86. 1360x768p60hz*)
  87. export X=1360
  88. export Y=768
  89. ;;
  90. 1440x900p60hz*)
  91. export X=1440
  92. export Y=900
  93. ;;
  94. 1600x900p60hz*)
  95. export X=1600
  96. export Y=900
  97. ;;
  98. 1680x1050p60hz*)
  99. export X=1680
  100. export Y=1050
  101. ;;
  102. 1600x1200p60hz*)
  103. export X=1600
  104. export Y=1200
  105. ;;
  106. 1920x1200p60hz*)
  107. export X=1920
  108. export Y=1200
  109. ;;
  110. 2560x1080p60hz*)
  111. export X=2560
  112. export Y=1080
  113. ;;
  114. 2560x1440p60hz*)
  115. export X=2560
  116. export Y=1440
  117. ;;
  118. 2560x1600p60hz*)
  119. export X=2560
  120. export Y=1600
  121. ;;
  122. 3440x1440p60hz*)
  123. export X=3440
  124. export Y=1440
  125. ;;
  126. esac
  127. common_display_setup
  128. # Console unblack
  129. case $mode in
  130. *cvbs*|480i*|576i*|1080i*)
  131. echo 0 > /sys/class/graphics/fb0/blank
  132. echo 1 > /sys/class/graphics/fb1/blank
  133. ;;
  134. *)
  135. echo 0 > /sys/class/graphics/fb0/blank
  136. echo 0 > /sys/class/graphics/fb1/blank
  137. ;;
  138. esac