mirror of https://github.com/OpenIPC/firmware.git
Package: update load_xiongmai
parent
da4d3f1d19
commit
cff39157a2
|
@ -1,46 +1,35 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Useage: ./loadxm530 [ -r|-i|-a ]
|
|
||||||
# -r : rmmod all modules
|
|
||||||
# -i : insmod all modules
|
|
||||||
# default : rmmod all moules and then insmod them
|
|
||||||
#
|
|
||||||
|
|
||||||
chipid=$(ipcinfo --chip-name)
|
chipid=$(ipcinfo --chip-name)
|
||||||
|
[ "${chipid}" = "xm550" ] && MEM_ALL=128 || MEM_ALL=64
|
||||||
|
|
||||||
[ "${chipid}" == "xm550" ] && MEM_ALL=128 || MEM_ALL=64
|
MODULE=/lib/modules/3.10.103/xiongmai
|
||||||
|
|
||||||
MEM_START=0x800
|
MEM_START=0x800
|
||||||
MEM_SAMALL_LIN=0x1
|
MEM_SAMALL_LIN=0x1
|
||||||
|
|
||||||
MEM_OS=`cat /proc/cmdline | awk '{print $1}' | sed -e 's/mem=//' -e 's/M//'`
|
MEM_OS=$(cat /proc/cmdline | awk '{print $1}' | sed -e 's/mem=//' -e 's/M//')
|
||||||
MEM_LEN=`echo "$MEM_ALL $MEM_OS"|awk '{printf("0x%03x00000",$1-$2)}'`
|
MEM_LEN=$(echo "$MEM_ALL $MEM_OS"|awk '{printf("0x%03x00000",$1-$2)}')
|
||||||
MEM_START=`echo "$MEM_START $MEM_SAMALL_LIN $MEM_OS"|awk '{printf("0x%03x00000",$1+$2*$3)}'`
|
MEM_START=$(echo "$MEM_START $MEM_SAMALL_LIN $MEM_OS"|awk '{printf("0x%03x00000",$1+$2*$3)}')
|
||||||
echo MEM_START=$MEM_START MEM_LEN=$MEM_LEN
|
echo MEM_START="$MEM_START" MEM_LEN="$MEM_LEN"
|
||||||
|
|
||||||
VI_BUFF=2
|
VI_BUFF=2
|
||||||
|
|
||||||
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_audio()
|
insert_audio() {
|
||||||
{
|
|
||||||
echo "insert audio"
|
echo "insert audio"
|
||||||
insmod xm_i2s.ko
|
insmod xm_i2s.ko
|
||||||
insmod acodec.ko
|
insmod acodec.ko
|
||||||
}
|
}
|
||||||
|
|
||||||
insert_h265()
|
insert_h265() {
|
||||||
{
|
echo "insert h265"
|
||||||
echo "insert h265"
|
insmod mve_rsrc.ko
|
||||||
insmod mve_rsrc.ko
|
insmod mve_base.ko
|
||||||
insmod mve_base.ko
|
|
||||||
}
|
}
|
||||||
|
|
||||||
insert_vo()
|
insert_vo() {
|
||||||
{
|
|
||||||
regs 20000000 1
|
regs 20000000 1
|
||||||
regs 20000010 12042d02
|
regs 20000010 12042d02
|
||||||
regs 20000044 0x2777
|
regs 20000044 0x2777
|
||||||
|
@ -52,50 +41,45 @@ insert_vo()
|
||||||
insmod xm530_vdec.ko
|
insmod xm530_vdec.ko
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_audio()
|
remove_audio() {
|
||||||
{
|
|
||||||
echo "remove audio"
|
echo "remove audio"
|
||||||
rmmod -w acodec
|
rmmod -w acodec
|
||||||
rmmod -w xm_i2s
|
rmmod -w xm_i2s
|
||||||
}
|
}
|
||||||
|
|
||||||
insert_sns()
|
insert_sns() {
|
||||||
{
|
#Sensor clock 27MHz
|
||||||
#Sensor clock 27MHz
|
#regs 0x2000002c 1;
|
||||||
#regs 0x2000002c 1;
|
#regs 0x2000000c 0x10110010;
|
||||||
#regs 0x2000000c 0x10110010;
|
#regs 0x20000010 0x901F0010;
|
||||||
#regs 0x20000010 0x901F0010;
|
#regs 0x20000014 0x01120000;
|
||||||
#regs 0x20000014 0x01120000;
|
#regs 0x2000002c 0;
|
||||||
#regs 0x2000002c 0;
|
#sleep 0.1;
|
||||||
#sleep 0.1;
|
insmod xm_i2c.ko;
|
||||||
insmod xm_i2c.ko;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_sns()
|
remove_sns() {
|
||||||
{
|
|
||||||
rmmod -w xm_i2c &> /dev/null
|
rmmod -w xm_i2c &> /dev/null
|
||||||
rmmod -w ssp_sony &> /dev/null
|
rmmod -w ssp_sony &> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
insert_ko()
|
insert_ko() {
|
||||||
{
|
# driver load
|
||||||
# driver load
|
insert_sns > /dev/null
|
||||||
insert_sns > /dev/null
|
insmod mmz.ko mmz_start="$MEM_START" mmz_size="$MEM_LEN"
|
||||||
insmod mmz.ko mmz_start=$MEM_START mmz_size=$MEM_LEN
|
insmod xm530_vi.ko buffer=$VI_BUFF
|
||||||
insmod xm530_vi.ko buffer=$VI_BUFF
|
insmod xm530_isp.ko
|
||||||
insmod xm530_isp.ko
|
insmod xm530_rgn.ko
|
||||||
insmod xm530_rgn.ko
|
insmod xm530_h264.ko
|
||||||
insmod xm530_h264.ko
|
insmod xm_rtc.ko
|
||||||
insmod xm_rtc.ko
|
insmod xm_wdt.ko
|
||||||
insmod xm_wdt.ko
|
insmod log.ko
|
||||||
insmod log.ko
|
insert_audio
|
||||||
insert_audio
|
insert_h265
|
||||||
insert_h265
|
#insert_vo
|
||||||
#insert_vo
|
|
||||||
}
|
}
|
||||||
|
|
||||||
remove_ko()
|
remove_ko() {
|
||||||
{
|
|
||||||
remove_audio
|
remove_audio
|
||||||
rmmod -w xm_wdt
|
rmmod -w xm_wdt
|
||||||
rmmod -w xm_rtc
|
rmmod -w xm_rtc
|
||||||
|
@ -104,58 +88,53 @@ remove_ko()
|
||||||
rmmod -w xm530_isp
|
rmmod -w xm530_isp
|
||||||
rmmod -w xm530_vi
|
rmmod -w xm530_vi
|
||||||
rmmod -w mmz
|
rmmod -w mmz
|
||||||
|
|
||||||
remove_sns
|
remove_sns
|
||||||
}
|
}
|
||||||
|
|
||||||
make_symlink() {
|
make_symlink() {
|
||||||
if [ ! -f /usr/lib/libsns.so ]; then
|
if [ ! -f /usr/lib/libsns.so ]; then
|
||||||
SNS_TYPE=$(ipcinfo --short-sensor)
|
SNS_TYPE=$(ipcinfo --short-sensor)
|
||||||
logger -s -p daemon.info -t xiongmai "You sensor is $SNS_TYPE and symlink to libsns.so not found"
|
logger -s -p daemon.info -t xiongmai "You sensor is $SNS_TYPE and symlink to libsns.so not found"
|
||||||
case $SNS_TYPE in
|
|
||||||
imx335|sc335e)
|
case $SNS_TYPE in
|
||||||
logger -s -p daemon.info -t xiongmai "Create new symlink to libsns_X50_XM530.so"
|
imx335|sc335e)
|
||||||
ln -sf /usr/lib/sensors/libsns_X50_XM530.so /usr/lib/libsns.so
|
logger -s -p daemon.info -t xiongmai "Create new symlink to libsns_X50_XM530.so"
|
||||||
;;
|
ln -sf /usr/lib/sensors/libsns_X50_XM530.so /usr/lib/libsns.so
|
||||||
*)
|
;;
|
||||||
logger -s -p daemon.info -t xiongmai "Create new symlink to libsns_X123_XM530.so"
|
*)
|
||||||
ln -sf /usr/lib/sensors/libsns_X123_XM530.so /usr/lib/libsns.so
|
logger -s -p daemon.info -t xiongmai "Create new symlink to libsns_X123_XM530.so"
|
||||||
;;
|
ln -sf /usr/lib/sensors/libsns_X123_XM530.so /usr/lib/libsns.so
|
||||||
esac
|
;;
|
||||||
fi
|
esac
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
load_usage()
|
load_usage() {
|
||||||
{
|
echo "Usage: $0 [-option]"
|
||||||
echo "Usage: ./loadxm530 [-option]"
|
echo "options:"
|
||||||
echo "options:"
|
echo " -i insert modules"
|
||||||
echo " -i insert modules"
|
echo " -r remove modules"
|
||||||
echo " -r remove modules"
|
echo " -h help information"
|
||||||
echo " -h help information"
|
echo -e "for example: ./loadxm530 -i\n"
|
||||||
echo -e "for example: ./loadxm530 -i\n"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# load module.
|
# load module.
|
||||||
if [ "$1" = "-i" ]
|
if [ "$1" = "-i" ]; then
|
||||||
then
|
cd $MODULE
|
||||||
cd /lib/modules/3.10.103\+/xiongmai
|
insert_ko
|
||||||
insert_ko
|
make_symlink
|
||||||
make_symlink
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$1" = "-r" ]
|
if [ "$1" = "-r" ]; then
|
||||||
then
|
remove_ko
|
||||||
remove_ko
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$1" = "-h" ]
|
if [ "$1" = "-h" ]; then
|
||||||
then
|
load_usage
|
||||||
load_usage
|
exit
|
||||||
exit
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $# -eq 0 ] || [ "$1" = "-a" ]
|
if [ $# -eq 0 ] || [ "$1" = "-a" ]; then
|
||||||
then
|
remove_ko
|
||||||
remove_ko
|
insert_ko
|
||||||
insert_ko
|
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue