#!/bin/sh

rcmd()
{
    echo $@
    if [ "$1" == "riu_r" ]; then
        echo '     00/08  01/09  02/0A  03/0B  04/0C  05/0D  06/0E  07/0F'
    fi
    $@
}

read_bank()
{
    _bank=$1
    _name=$2
    echo bank: $_bank name: $_name
    # /customer/riu_r $1
    rcmd riu_r $1
    rcmd usleep 1
}

proc_int()
{
    rcmd cat /proc/interrupts
    rcmd sleep 1
}

cat_file()
{
    _path=$1
    _cnt=$2
    _index=0
    while [ $_index -lt $_cnt ]; do
        if [ -e $_path ];then
            rcmd cat $_path
            rcmd sleep 1
        fi
        let _index++
    done
}

dump_sys_param()
{
    PARAM_FILE=`find /sys/module/mi_sys/parameters/ -type f`
    for i in $PARAM_FILE
    do
        rcmd cat $i
    done
}

proc_util()
{
    rcmd cat /proc/version
    rcmd cat /proc/mi_modules/mi_sys/module_version_file
    rcmd cat /proc/mi_modules/mi_sensor/module_version_file
    rcmd cat /proc/mi_modules/mi_vif/module_version_file
    rcmd cat /proc/mi_modules/mi_isp/module_version_file
    rcmd cat /proc/mi_modules/mi_scl/module_version_file
}

env_setting()
{
    RIUDIR=`find /customer -name riu_r | head -1 | sed 's/riu_r//'`
    if [ -z $RIUDIR ]; then
        RIUDIR=`find ./ -name riu_r | head -1 | sed 's/riu_r//'`
        if [ -z $RIUDIR ]; then
            RIUDIR=`find / -name riu_r | head -1 | sed 's/riu_r//'`
        fi
    fi

    if [ -n $RIUDIR ]; then
        if [ ! -e $RIUDIR/riux32_r ];then
            cp $RIUDIR/riu_r $RIUDIR/riux32_r
        fi
        export PATH=$RIUDIR:$PATH
    fi
}

and_key_set="util,isr,isp_reg,scl_reg"
exclude_key_set=""
while getopts "e:" argv
do
	case $argv in
		e)
			exclude_key_set=$OPTARG
			;;
		?)
			echo "invalid option -$OPTARG"
			exit
			;;
	esac
done

# set -x
env_setting

# echo "---------------util------------------------"
# proc_util

# echo "----------------proc interrupts------------------"
# cat_file /proc/interrupts 3

# echo "----------------mhal isp reg------------------"
# read_bank 0x1038 clk_gen
# read_bank 0x1302 isp0
# read_bank 0x1303 isp1
# read_bank 0x1304 isp2

# echo '==== vif isp ===='
# read_bank 0x1308 isp_vif0
# read_bank 0x1309 isp_vif1
# read_bank 0x130a isp_vif2
# read_bank 0x130b isp_vif3
# read_bank 0x130c isp_xvr
# read_bank 0x130d isp_mload
# read_bank 0x130e isp_ssm
# read_bank 0x130f isp_xvr2
# read_bank 0x1310 isp_rot
# read_bank 0x1311 isp_decomp
# read_bank 0x1312 isp_gain0
# read_bank 0x1313 isp_gain1
# read_bank 0x1316 isp_dpc
# read_bank 0x1317 isp_ct_spk
# read_bank 0x1318 isp_rgbir
# read_bank 0x1319 isp_lsc
# read_bank 0x131a isp_af
# read_bank 0x131b isp_sta
# read_bank 0x131c isp_af1
# read_bank 0x131d isp_alsc
# read_bank 0x131e isp_hdr
# read_bank 0x1320 isp_log
# read_bank 0x1321 isp_wdr0
# read_bank 0x1322 isp_wdr1
# read_bank 0x1323 isp_wdr2
# read_bank 0x1324 isp_hdr2
# read_bank 0x1325 isp_ci
# read_bank 0x1326 isp_fpn1
# read_bank 0x1327 isp_fpn2

# echo '==== isp 3dnr ===='
# read_bank 0x1328 isp_dnr00
# read_bank 0x1329 isp_dnr01
# read_bank 0x132a isp_dnr02
# read_bank 0x132b isp_dnr03
# read_bank 0x132c isp_dnr04
# read_bank 0x132d isp_dnr05
# read_bank 0x132e isp_dnr06
# read_bank 0x132f isp_dnr07
# read_bank 0x1330 isp_mlnr0
# read_bank 0x1331 isp_mlnr1
# read_bank 0x1333 isp_yee0
# read_bank 0x1334 isp_yee1
# read_bank 0x1335 isp_yee2
# read_bank 0x1338 isp_pxl0
# read_bank 0x1339 isp_pxl1
# read_bank 0x133a isp_shp0
# read_bank 0x133c isp_ee
# read_bank 0x133d isp_xnr
# read_bank 0x133e isp_yuv0
# read_bank 0x1344 isp_yee10
# read_bank 0x1345 isp_yee11
# read_bank 0x1346 isp_yee12
# read_bank 0x1348 isp_tnr_log
# read_bank 0x134b isp_dobc1
# read_bank 0x134c isp_patgen

# echo '==== isp_sgw420 ===='
# read_bank 0x134d isp_sgwgrp420
# read_bank 0x134e isp_sgw420
# read_bank 0x134f isp_wdma420
# read_bank 0x1350 isp_dmaw0
# read_bank 0x1351 isp_dmaw1
# read_bank 0x1352 isp_dmaw2
# read_bank 0x1353 isp_dmaw3
# read_bank 0x1354 isp_fbcd0
# read_bank 0x1355 isp_fbcd1
# read_bank 0x1356 isp_fbcd2
# read_bank 0x1357 isp_fbcd3

# echo '==== isp_sgw ===='
# read_bank 0x1358 isp_sgw0
# read_bank 0x1359 isp_sgw1
# read_bank 0x135a isp_sgw2
# read_bank 0x135b isp_sgw3
# read_bank 0x135c isp_sta_sgw0
# read_bank 0x135d isp_sta_dmaw0
# read_bank 0x1360 isp0_cmdq_0
# read_bank 0x1361 isp0_cmdq_1
# read_bank 0x1362 isp0_cmdq_2
# read_bank 0x1363 isp0_cmdq_3
# read_bank 0x1364 isp_dmar0
# read_bank 0x1365 isp_dmar1

# echo '==== isp_sgr ===='
# read_bank 0x1366 isp_dmar2
# read_bank 0x1367 isp_dmar3
# read_bank 0x1368 isp_sgr0
# read_bank 0x1369 isp_sgr1
# read_bank 0x136a isp_sgr2
# read_bank 0x136b isp_sgr3
# read_bank 0x136c dnr_dsc_enc0
# read_bank 0x136d dnr_dsc_enc1
# read_bank 0x136e dnr_dsc_dec0
# read_bank 0x136f dnr_dsc_dec1
# read_bank 0x1370 isp_wdr3
# read_bank 0x1371 isp_wdr4
# read_bank 0x1372 isp_wdr5
# read_bank 0x1373 isp_wdr6
# read_bank 0x1374 isp_iir_dmaw
# read_bank 0x1375 isp_iir_sgw
# read_bank 0x1376 isp_iir_dmar
# read_bank 0x1377 isp_iir_sgr
# read_bank 0x137b isp_vif_gain
# read_bank 0x137c isp_vif_lsc0
# read_bank 0x137d isp_vif_lsc1
# read_bank 0x137e isp_vif_sta0
# read_bank 0x137f isp_vif_sta1

echo "----------------mhal scl reg------------------"
read_bank 0x1038 clk_gen
read_bank 0x1208 inf_sc_block_ctrl
read_bank 0x1209 mcm_sc
read_bank 0x1210 sc_top
read_bank 0x1211 sc_top1
read_bank 0x1212 sc_rdma0
read_bank 0x1213 sc_rdma1
read_bank 0x1214 sc_rdma2
read_bank 0x1215 sc0
read_bank 0x1216 sc1
read_bank 0x1217 sc2
read_bank 0x1218 sc3
read_bank 0x1219 sc4
read_bank 0x121a sc5
read_bank 0x121b sc6
read_bank 0x121c sc7
read_bank 0x121d sc8
read_bank 0x121e sc_hvsp0
read_bank 0x121f sc_hvsp1
read_bank 0x1220 sc_hvsp2
read_bank 0x1221 sc_hvsp3
read_bank 0x1222 sc_hvsp4
read_bank 0x1223 sc_hvsp5
read_bank 0x1224 sc_hvsp6
read_bank 0x1225 sc_hvsp7
read_bank 0x1226 sc_hvsp8
read_bank 0x1227 sc_wdma0
read_bank 0x1228 sc_wdma1
read_bank 0x1229 sc_wdma2
read_bank 0x122a sc_wdma3
read_bank 0x122b sc_wdma4
read_bank 0x122c sc_wdma5
read_bank 0x122d sc_wdma6
read_bank 0x122e sc_wdma7
read_bank 0x122f sc_wdma8
read_bank 0x1230 map
read_bank 0x123c sc_disp
read_bank 0x123d lcd
read_bank 0x123e lcd_misc
read_bank 0x1248 jpd0
read_bank 0x1250 sc_sgrgrp
read_bank 0x1251 sc_sgrdma
read_bank 0x1252 sc_sgwgrp0
read_bank 0x1253 sc_sgwdma00
read_bank 0x1254 sc_sgwdma01
read_bank 0x1255 sc_sgwdma02
read_bank 0x1256 sc_sgwdma03
read_bank 0x1257 sc_sgwgrp1
read_bank 0x1258 sc_sgwdma10
read_bank 0x1259 sc_sgwdma11
read_bank 0x125a sc_sgwdma12
read_bank 0x125c sc_sgrdma1
read_bank 0x125d sc_fbce
read_bank 0x125e sc_pat
read_bank 0x125f sc_mffci

# echo "----------------proc mhal venc------------------"
# cat_file /sys/class/mstar/venc/ven_clock 1

# echo "----------------proc mhal vif------------------"
# cat_file /sys/class/mstar/vif0/vif_ints 2
# cat_file /sys/class/mstar/vif0/vif_info 2

# echo "----------------proc mhal isp------------------"
# cat_file /sys/class/mstar/isp0/isp_clk 1
# cat_file /sys/class/mstar/ispmid0/ispmid_info 2
# cat_file /sys/class/mstar/isp0/isp_ints 2
# cat_file /sys/class/mstar/isp0/isp_info 2
# cat_file /sys/class/mstar/ispscl0/ispscl_ints 2

# echo "----------------proc mhal scl------------------"
# cat_file /sys/class/mstar/mscl/clk 1
# cat_file /sys/class/mstar/mscl/func 1
# cat_file /sys/class/mstar/mscl/ints 2
# cat_file /sys/class/mstar/mscl/m2m_ints 2

# echo "----------------proc mi sys------------------"
# cat_file /proc/mi_modules/mi_sys_mma/mma_heap_name0 1
# cat_file /proc/mi_modules/mi_sys_mma/imi_mma_heap 1
# cat_file /proc/mi_modules/mi_sys_mma/miu_protect 1
# cat_file /proc/mi_modules/mi_sys/mi_sys0 3

# echo "----------------proc mi snr------------------"
# cat_file /proc/mi_modules/mi_sensor/mi_sensor0 1

# echo "----------------proc mi vif------------------"
# if [ -z `echo $exclude_key_set | grep vif` ]; then
    # cat_file /proc/mi_modules/mi_vif/mi_vif0 3
    # cat_file /proc/mi_modules/mi_vif/mi_vif4 3
    # cat_file /proc/mi_modules/mi_vif/mi_vif8 3
    # cat_file /proc/mi_modules/mi_vif/mi_vif12 3
    # cat_file /proc/mi_modules/mi_vif/mi_vif16 3
# fi

# echo "----------------proc mi isp------------------"
# cat_file /proc/mi_modules/mi_isp/mi_isp0 3
# cat_file /proc/mi_modules/mi_isp/mi_isp1 3

# echo "----------------proc mi ldc------------------"
# cat_file /proc/mi_modules/mi_ldc/mi_ldc0 3
# cat_file /proc/mi_modules/mi_ldc/mi_ldc1 3

# echo "----------------proc mi jpd------------------"
# cat_file /proc/mi_modules/mi_jpd/mi_jpd0 3
# cat_file /proc/mi_modules/mi_jpd/mi_jpd1 3
# cat_file /proc/mi_modules/mi_jpd/mi_jpd2 3

# echo "----------------proc mi scl------------------"
# cat_file /proc/mi_modules/mi_scl/mi_scl0 3
# cat_file /proc/mi_modules/mi_scl/mi_scl1 3
# cat_file /proc/mi_modules/mi_scl/mi_scl2 3
# cat_file /proc/mi_modules/mi_scl/mi_scl3 3

# echo "----------------proc mi venc------------------"
# cat_file /proc/mi_modules/mi_venc/mi_venc0 3
# cat_file /proc/mi_modules/mi_venc/mi_venc1 3
# cat_file /proc/mi_modules/mi_venc/mi_venc2 3
# cat_file /proc/mi_modules/mi_venc/mi_venc8 3

# echo "----------------proc mi disp------------------"
# cat_file /proc/mi_modules/mi_disp/mi_disp0 3
# cat_file /proc/mi_modules/mi_disp/mi_disp1 3
# cat_file /proc/mi_modules/mi_disp/mi_disp2 3
