firmware/general/package/novatek-osdrv-nt9856x/files/script/load_novatek

179 lines
5.6 KiB
Bash
Executable File

#!/bin/sh
insert_sns() {
case $SENSOR in
sc401ai | sc500ai | sc501ai)
devmem 0xf0220000 32 0x00001473
devmem 0xF0220004 32 0x10000000
devmem 0xF0220008 32 0x00048100
devmem 0xF022000C 32 0x0034003e
devmem 0xF0220010 32 0x30123860
devmem 0xF0220014 32 0x00000000
devmem 0xF0220018 32 0x03ff2001
devmem 0xF022001C 32 0x00000003
devmem 0xF0220020 32 0x00000000
devmem 0xF0220024 32 0x00000000
devmem 0xF0220028 32 0x000000e2
devmem 0xF022002C 32 0x00000000
devmem 0xF0220030 32 0x00000005
devmem 0xF0220034 32 0x01000000
devmem 0xF0220038 32 0x00000000
devmem 0xF022003C 32 0x00000000
insmod nvt_sen_${SENSOR}.ko sen_cfg_path=/etc/sensors/sen_${SENSOR}.cfg
;;
*)
echo "xxxx Invalid sensor type $SENSOR xxxx"
;;
esac
}
insert_ko() {
# System Driver Init
#modprobe ehci-hcd
#modprobe xhci_plat_hcd
#modprobe nvt_status
#modprobe nvt_pstore
#insmod /extra/crypto/cryptodev-linux/cryptodev.ko
insmod hdal/kwrap.ko
insmod hdal/comm/nvtmem/nvtmem.ko
insmod hdal/kdrv_builtin/kdrv_builtin.ko
insmod hdal/comm/kdrv_comm.ko
insmod hdal/kdrv_gfx2d/kdrv_gfx2d.ko
insmod hdal/kdrv_videocapture/kdrv_videocapture.ko
insmod hdal/kdrv_videoprocess/kdrv_videoprocess.ko
insmod hdal/kflow_common/kflow_common.ko
insmod hdal/kflow_gfx/videosprite/nvt_videosprite.ko
insmod hdal/kflow_videocapture/kflow_videocapture.ko
insmod hdal/kflow_videoprocess/kflow_videoprocess.ko
# rpc
#insmod hdal/kdrv_rpc/kdrv_rpc.ko
#SDE
# kdrv_gfx2d
#insmod hdal/kdrv_gfx2d/kdrv_affine/affine_neon/kdrv_afn_neon.ko
#insmod hdal/kdrv_gfx2d/kdrv_affine/kdrv_afn.ko
insmod hdal/kflow_gfx/nvt_gfx.ko
# kdrv_vdoout
#insmod hdal/kdrv_videoout/ide/nvt_ide.ko
#insmod hdal/kdrv_videoout/mi/nvt_mi.ko
#insmod hdal/kdrv_videoout/dsi/nvt_dsi.ko
#insmod hdal/kdrv_videoout/display_obj/kdrv_videoout.ko
# kflow_videoout
#insmod hdal/kflow_videoout/unit/kflow_videoout.ko
# panel device
#insmod hdal/display_panel/nvt_dispdev_panel.ko
#insmod hdal/display_panel/disp_ifpa_lcd1_wm08001_sn75lvds83b/nvt_dispdev_panel_wm08001_sn75lvds83b.ko
#insmod hdal/display_panel/disp_if8b_lcd1_pw35p00_hx8238d/disp_if8b_lcd1_pw35p00.ko
#insmod hdal/display_panel/disp_if8b_lcd1_aucn01/disp_if8b_lcd1_aucn01.ko
#insmod hdal/display_panel/disp_ifdsi_lcd1_nt35510/nvt_dispdev_panel_nt35510.ko
#insmod hdal/kdrv_gfx2d/kdrv_rotation/kdrv_rotation.ko
#insmod hdal/kflow_gfx/videosprite/nvt_videosprite.ko
# ipp test
#insmod hdal/kdrv_videoprocess/kdrv_ipp_sim/kdrv_ipp_sim.ko
# nvt_jpg
#insmod /extra/vcodec/jpeg/nvt_jpg.ko
#insmod hdal/kdrv_videocodec/jpeg/kdrv_jpg.ko
# nvt_h26x
#insmod /extra/vcodec/h26x/nvt_h26x.ko
insmod hdal/kdrv_videocodec/kdrv_h26x.ko
insmod hdal/nvt_vencrc/nvt_vencrc.ko
# isf vdoenc
insmod hdal/kflow_videoenc/unit/kflow_videoenc.ko
# isf vdodec
#insmod hdal/kflow_videodec/unit/kflow_videodec.ko
# audio
insmod hdal/kdrv_audioio/audio_common/nvt_audio.ko
insmod hdal/kdrv_audioio/kdrv_audio/nvt_kdrv_audio.ko
insmod hdal/kflow_audiocapture/unit/kflow_audiocap.ko
insmod hdal/kflow_audioout/unit/kflow_audioout.ko
insmod hdal/kdrv_audioio/audlib_aac/nvt_audlib_aac.ko
insmod hdal/kdrv_audioio/audlib_g711/nvt_audlib_g711.ko
# isf audenc
insmod hdal/kflow_audioenc/unit/kflow_audioenc.ko
# isf auddec
insmod hdal/kflow_audiodec/unit/kflow_audiodec.ko
# iq, 3a
insmod hdal/isp/nvt_isp.ko
insmod hdal/ae/nvt_ae.ko
insmod hdal/awb/nvt_awb.ko
insmod hdal/iq/nvt_iq.ko
#insmod hdal/af/nvt_af.ko
# iq, 3a sample
#insmod hdal/samples/sample_nvt_ae.ko
#insmod hdal/samples/sample_nvt_af.ko
#insmod hdal/samples/sample_nvt_awb.ko
#insmod hdal/samples/sample_nvt_iq.ko
#uvac module
#modprobe nvt_usb2dev
#modprobe nvt_usb2dev8
# dsp
#insmod hdal/kflow_rpc/nvt_ipc.ko
#insmod hdal/dsp/nvt_dsp.ko
#cv
#insmod hdal/kdrv_ive/kdrv_ive.ko
#insmod hdal/kdrv_md/kdrv_md.ko
#insmod hdal/kdrv_dis/kdrv_dis.ko
#ai
#insmod hdal/kdrv_ai/kdrv_ai.ko
#insmod hdal/kdrv_ai/kdrv_ai.ko ai_net_supported_num=1;
#insmod hdal/kflow_cnn/kflow_cnn.ko;
#insmod hdal/kflow_nue/kflow_nue.ko;
#insmod hdal/kflow_nue2/kflow_nue2.ko;
#insmod hdal/kflow_cpu/kflow_cpu.ko;
#insmod hdal/kflow_dsp/kflow_dsp.ko;
#insmod hdal/kflow_ai_net/kflow_ai_net.ko
#fb
#insmod /kernel/drivers/video/fbdev/core/fb.ko
#insmod /kernel/drivers/video/fbdev/core/cfbcopyarea.ko
#insmod /kernel/drivers/video/fbdev/core/cfbfillrect.ko
#insmod /kernel/drivers/video/fbdev/core/cfbimgblt.ko
#insmod hdal/kdrv_videoout/fbdev/nvt_fb.ko
}
cd /lib/modules/4.19.91/novatek
insert_ko
# Sensor config
# SENSOR=${SENSOR:=imx307}
#
if [ -n "$SENSOR" ]; then
logger -s -p daemon.info -t novatek "Manualy set SENSOR as ${SENSOR}"
else
if fw_printenv -n sensor >/dev/null; then
SENSOR_ENV=$(fw_printenv -n sensor)
export SENSOR=${SENSOR_ENV}
logger -s -p daemon.info -t novatek "Get data from environment and set SENSOR as ${SENSOR}"
else
#insert_ko
SENSOR_DETECT=$(ipcinfo --short-sensor)
export SENSOR=${SENSOR_DETECT:=unknown}
logger -s -p daemon.info -t novatek "Get data from ipcinfo and set SENSOR as ${SENSOR}"
fw_setenv sensor $SENSOR && logger -s -p daemon.info -t novatek "Write detected ${SENSOR} to U-Boot ENV"
fi
fi
insert_sns