#!/bin/sh config_path=/etc/sensors video_frontend=ov2715 video_system=NTSC # Support video_front_end: ov2710, ov2715, ov9712, ov9715, ov9714, ov5653 # Support video_front_end: mt9m034, ar0130, ar0140, ar0330, ar0331 # Support video_front_end: imx222, imx238, imx236, imx238 chipver=$(head -1 /proc/pmu/chipver) chipid=$(echo $chipver | cut -c 1-4) if [ "$chipid" != "8136" ] && [ "$chipid" != "8135" ]; then echo "Error! Not support chip version $chipver." exit fi if [ "$video_system" != "NTSC" ] && [ "$video_system" != "PAL" ]; then echo "Invalid argument for NTSC/PAL." exit fi if [ "$1" != "" ]; then video_frontend=$1 fi if [ "$video_frontend" != "ov2715" ] && [ "$video_frontend" != "ov2710" ] && [ "$video_frontend" != "ov9710" ] && [ "$video_frontend" != "ov9712" ] && [ "$video_frontend" != "ov9715" ] && [ "$video_frontend" != "ov9714" ] && [ "$video_frontend" != "ar0130" ] && [ "$video_frontend" != "mt9m034" ] && [ "$video_frontend" != "ar0140" ] && [ "$video_frontend" != "ar0141" ] && [ "$video_frontend" != "ar0330" ] && [ "$video_frontend" != "ar0331" ] && [ "$video_frontend" != "imx222" ] && [ "$video_frontend" != "imx124" ] && [ "$video_frontend" != "imx238" ] && [ "$video_frontend" != "imx236" ]; then echo "Invalid argument for video frontend: $video_frontend" exit fi cd /lib/modules/3.3.0/grainmedia insmod frammap.ko || exit 1 cat /proc/frammap/ddr_info insmod log.ko mode=0 log_ksize=256 config_path=${config_path}/gmlib.cfg insmod ms.ko insmod em.ko insmod gm2d.ko #insmod flcd200-common.ko #insmod flcd200-pip.ko output_type=0 fb0_fb1_share=1 # CVBS display insmod sar_adc.ko run_mode=4 #run_mode=4 is for CVBS out insmod fe_common.ko insmod adda308.ko input_mode=0 single_end=1 insmod ft3dnr200.ko src_yc_swap=1 dst_yc_swap=1 ref_yc_swap=1 config_path=${config_path} case "$video_frontend" in "ov2715" | "ov2710") codec_max_width=1920 codec_max_height=1080 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ov2715.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_ov2715.ko sensor_w=1920 sensor_h=1080 interface=0 fps=30 mirror=1 flip=1 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ov2715.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_ov2715.ko sensor_w=1920 sensor_h=1080 interface=0 fps=25 mirror=1 flip=1 fi ;; "ov9715" | "ov9712" | "ov9710") codec_max_width=1280 codec_max_height=720 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ov9715.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_ov9715.ko sensor_w=1280 sensor_h=720 fps=30 mirror=1 flip=1 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ov9715.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_ov9715.ko sensor_w=1280 sensor_h=720 fps=25 mirror=1 flip=1 fi ;; "ar0330") codec_max_width=1920 codec_max_height=1080 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0330.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_ar0330.ko sensor_w=1920 sensor_h=1080 mirror=1 flip=1 interface=1 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0330.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_ar0330.ko sensor_w=1920 sensor_h=1080 mirror=1 flip=1 interface=1 fps=25 fi ;; "ar0331") codec_max_width=1920 codec_max_height=1080 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0331.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_ar0331.ko sensor_w=1920 sensor_h=1080 interface=0 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0331.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_ar0331.ko sensor_w=1920 sensor_h=1080 interface=0 fps=25 fi ;; "mt9m034") codec_max_width=1280 codec_max_height=720 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_mt9m034.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_mt9m034.ko sensor_w=1280 sensor_h=720 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_mt9m034.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_mt9m034.ko sensor_w=1280 sensor_h=720 fps=25 fi ;; "ar0140" | "ar0141") codec_max_width=1280 codec_max_height=720 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0140.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_ar0140.ko sensor_w=1280 sensor_h=720 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_ar0140.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_ar0140.ko sensor_w=1280 sensor_h=720 fps=25 fi ;; "imx238") codec_max_width=1280 codec_max_height=720 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx238.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_imx138.ko sensor_w=1280 sensor_h=720 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx238.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_imx138.ko sensor_w=1280 sensor_h=720 fps=25 fi ;; "imx222") codec_max_width=1920 codec_max_height=1080 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx222.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_imx122.ko sensor_w=1920 sensor_h=1080 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx222.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_imx122.ko sensor_w=1920 sensor_h=1080 fps=25 fi ;; "imx236") codec_max_width=1920 codec_max_height=1080 if [ "$video_system" == "NTSC" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx236.cfg insmod fisp_algorithm.ko pwr_freq=0 insmod fisp_imx136.ko sensor_w=1920 sensor_h=1080 fps=30 elif [ "$video_system" == "PAL" ]; then insmod fisp328.ko cfg_path=/etc/sensors/isp328_imx236.cfg insmod fisp_algorithm.ko pwr_freq=1 insmod fisp_imx136.ko sensor_w=1920 sensor_h=1080 fps=25 fi ;; *) echo "Invalid argument for video frontend: $video_frontend" exit ;; esac insmod vcap300_common.ko insmod vcap0.ko vi_mode=0,1 ext_irq_src=1 sync_time_div=500 insmod vcap300_isp.ko ch_id=0 range=1 insmod fmcp_drv.ko mp4_tight_buf=1 config_path=${config_path} insmod favc_enc.ko h264e_max_b_frame=0 h264e_one_ref_buf=1 h264e_tight_buf=1 h264e_max_width=$codec_max_width h264e_max_height=$codec_max_height h264e_slice_offset=1 config_path=${config_path} insmod favc_rc.ko insmod fmjpeg_drv.ko insmod sw_osg.ko insmod fscaler300.ko max_vch_num=1 max_minors=1 temp_width=0 temp_height=0 insmod osd_dispatch.ko insmod codec.ko insmod audio_drv.ko audio_ssp_num=0,1 audio_ssp_chan=1,1 bit_clock=400000,400000 sample_rate=8000,8000 audio_out_enable=1,0 insmod gs.ko insmod vpd.ko vpd_dbglevel=0 gmlib_dbglevel=0 quiet=1 echo /tmp >/proc/videograph/dumplog #configure log path echo 0 >/proc/frammap/free_pages #should not free DDR1 for performance issue echo 1 >/proc/vcap300/vcap0/dbg_mode #need debug mode to detect capture overflow echo 0 >/proc/videograph/em/dbglevel echo 0 >/proc/videograph/gs/dbglevel echo 0 >/proc/videograph/ms/dbglevel echo 0 >/proc/videograph/datain/dbglevel echo 0 >/proc/videograph/dataout/dbglevel echo 0 >/proc/videograph/vpd/dbglevel echo 0 >/proc/videograph/gmlib/dbglevel echo ========================================================================= if [ -e /etc/sensors/gmlib.cfg ]; then grep ";" /etc/sensors/gmlib.cfg | sed -n '1,1p' else grep ";" /etc/sensors/spec.cfg | sed -n '2,6p' fi echo ========================================================================= echo " Video Front End: $video_frontend" echo " Chip Version: $chipver" echo ========================================================================= devmem 0x9a1000a0 32 0x87878587 devmem 0x9a100034 32 0x061f0606 devmem 0x9a1000c4 32 0x08000f08 devmem 0x9a1000c8 32 0x061f0606 devmem 0x9a100030 32 0xDF000f04 #devmem 0x96105440 32 0x01500000 #devmem 0x96105438 32 0x01500000 #echo 1 0x50 > /proc/3dnr/dma/param #echo w ae_en 0 > /proc/isp320/command #echo w sen_exp 133 > /proc/isp320/command #echo w fps 15 > /proc/isp320/command # force max CPU performance echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor #echo 30 > /proc/videograph/ft3dnr/job_pre_callback