mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Fix sensor detection for hi3516cv200
							parent
							
								
									27f7c3758c
								
							
						
					
					
						commit
						5634cb3b07
					
				|  | @ -17,17 +17,44 @@ mem_total=${mem_total:=64} | ||||||
| os_mem_size=$(awk -F '=' '$1=="mem"{print $2}' RS=" " /proc/cmdline | tr -d 'M') | os_mem_size=$(awk -F '=' '$1=="mem"{print $2}' RS=" " /proc/cmdline | tr -d 'M') | ||||||
| os_mem_size=${os_mem_size:=32} | os_mem_size=${os_mem_size:=32} | ||||||
| 
 | 
 | ||||||
| # Sensor config |  | ||||||
| SNS_TYPE=$(awk -F '=' '$1=="sensor"{print $2}' RS=" " /proc/cmdline) |  | ||||||
| SNS_TYPE=${SNS_TYPE:=sc2235} |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| report_error() | report_error() | ||||||
| { | { | ||||||
|         echo "******* Error: There's something wrong, please check! *****" |         echo "******* Error: There's something wrong, please check! *****" | ||||||
|         exit 1 |         exit 1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | insert_mmz() | ||||||
|  | { | ||||||
|  |         insmod mmz.ko mmz=anonymous,0,$mmz_start,$mmz_size anony=1 || report_error | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | insert_detect() | ||||||
|  | { | ||||||
|  |         cd /lib/modules/4.9.37/hisilicon | ||||||
|  |         insmod sys_config.ko vi_vpss_online=$b_arg_online sensor=unknown pin_mux_select=0  | ||||||
|  |         insert_mmz | ||||||
|  |         insmod hi_media.ko | ||||||
|  |         insmod hi3518e_base.ko | ||||||
|  |         insmod hi3518e_sys.ko vi_vpss_online=$b_arg_online sensor=unknown mem_total=$mem_total | ||||||
|  |         insert_isp | ||||||
|  |         insmod sensor_i2c.ko | ||||||
|  |         insmod sensor_spi.ko | ||||||
|  |         SENSOR=ar0130 insert_sns | ||||||
|  |         ipcinfo -s | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | remove_detect() | ||||||
|  | { | ||||||
|  |         rmmod sensor_spi | ||||||
|  |         rmmod sensor_i2c | ||||||
|  |         rmmod hi3518e_isp | ||||||
|  |         rmmod hi3518e_sys | ||||||
|  |         rmmod hi3518e_base | ||||||
|  |         rmmod hi_media | ||||||
|  |         rmmod mmz | ||||||
|  |         rmmod sys_config.ko | ||||||
|  | } | ||||||
|  | 
 | ||||||
| insert_audio() | insert_audio() | ||||||
| { | { | ||||||
|         insmod acodec.ko |         insmod acodec.ko | ||||||
|  | @ -74,19 +101,19 @@ insert_sns() | ||||||
| { | { | ||||||
|         case $SENSOR in |         case $SENSOR in | ||||||
|                 ar0130|9m034) |                 ar0130|9m034) | ||||||
|                         devmem 0x200f0040 0x2;                            # I2C0_SCL |                         devmem 0x200f0040 32 0x2;                            # I2C0_SCL | ||||||
|                         devmem 0x200f0044 0x2;                            # I2C0_SDA |                         devmem 0x200f0044 32 0x2;                            # I2C0_SDA | ||||||
| 
 |   | ||||||
|                         #cmos pinmux |                         #cmos pinmux | ||||||
|                         devmem 0x200f007c 0x1;                            # VI_DATA13 |                         devmem 0x200f007c 32 0x1;                            # VI_DATA13 | ||||||
|                         devmem 0x200f0080 0x1;                            # VI_DATA10 |                         devmem 0x200f0080 32 0x1;                            # VI_DATA10 | ||||||
|                         devmem 0x200f0084 0x1;                            # VI_DATA12 |                         devmem 0x200f0084 32 0x1;                            # VI_DATA12 | ||||||
|                         devmem 0x200f0088 0x1;                            # VI_DATA11 |                         devmem 0x200f0088 32 0x1;                            # VI_DATA11 | ||||||
|                         devmem 0x200f008c 0x2;                            # VI_VS |                         devmem 0x200f008c 32 0x2;                            # VI_VS | ||||||
|                         devmem 0x200f0090 0x2;                            # VI_HS |                         devmem 0x200f0090 32 0x2;                            # VI_HS | ||||||
|                         devmem 0x200f0094 0x1;                            # VI_DATA9 |                         devmem 0x200f0094 32 0x1;                            # VI_DATA9 | ||||||
| 
 | 
 | ||||||
|                         devmem 0x2003002c 0xb4001;                        # sensor unreset, clk 27MHz, VI 99MHz |                         devmem 0x2003002c 32 0xc4001;                        # sensor unreset, clk 24MHz, VI 99MHz | ||||||
|                         ;; |                         ;; | ||||||
|                 sc2235) |                 sc2235) | ||||||
|                         devmem 0x200f0040 32 0x2;                            # I2C0_SCL |                         devmem 0x200f0040 32 0x2;                            # I2C0_SCL | ||||||
|  | @ -114,14 +141,15 @@ insert_ko() | ||||||
|         insmod sys_config.ko vi_vpss_online=$b_arg_online sensor=$SENSOR pin_mux_select=0  |         insmod sys_config.ko vi_vpss_online=$b_arg_online sensor=$SENSOR pin_mux_select=0  | ||||||
| 
 | 
 | ||||||
|         # driver load |         # driver load | ||||||
|         insmod mmz.ko mmz=anonymous,0,$mmz_start,$mmz_size anony=1 || report_error |         insert_mmz; | ||||||
|  |         #insmod mmz.ko mmz=anonymous,0,$mmz_start,$mmz_size anony=1 || report_error | ||||||
|         insmod hi_media.ko |         insmod hi_media.ko | ||||||
|         insmod hi3518e_base.ko |         insmod hi3518e_base.ko | ||||||
| 
 | 
 | ||||||
|         insmod hi3518e_sys.ko vi_vpss_online=$b_arg_online sensor=$SENSOR mem_total=$mem_total |         insmod hi3518e_sys.ko vi_vpss_online=$b_arg_online sensor=$SENSOR mem_total=$mem_total | ||||||
|         if [[ $? -ne 0 ]]; then  |         if [[ $? -ne 0 ]]; then  | ||||||
|                 exit; |                 exit; | ||||||
|         fi   |         fi | ||||||
| 
 | 
 | ||||||
|         insmod hi3518e_tde.ko |         insmod hi3518e_tde.ko | ||||||
|         insmod hi3518e_region.ko |         insmod hi3518e_region.ko | ||||||
|  | @ -144,7 +172,7 @@ insert_ko() | ||||||
|         insmod sensor_i2c.ko |         insmod sensor_i2c.ko | ||||||
|         insmod pwm.ko |         insmod pwm.ko | ||||||
|         insmod piris.ko |         insmod piris.ko | ||||||
| 	insert_sns |         insert_sns | ||||||
|         insert_audio |         insert_audio | ||||||
| 
 | 
 | ||||||
|         insmod hi_mipi.ko |         insmod hi_mipi.ko | ||||||
|  | @ -304,6 +332,7 @@ fi | ||||||
| # Sensor config | # Sensor config | ||||||
| # SENSOR=${SENSOR:=imx307} | # SENSOR=${SENSOR:=imx307} | ||||||
| # | # | ||||||
|  | 
 | ||||||
| if [ -n "$SENSOR" ]; then | if [ -n "$SENSOR" ]; then | ||||||
|         logger -s -p daemon.info -t hisilicon "Manualy set SENSOR as ${SENSOR}" |         logger -s -p daemon.info -t hisilicon "Manualy set SENSOR as ${SENSOR}" | ||||||
| else | else | ||||||
|  |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| libsns_imx323.so |  | ||||||
		Loading…
	
		Reference in New Issue