From 90047b0b5c01e02a3f660eef672b8d857c289413 Mon Sep 17 00:00:00 2001
From: "Igor Zalatov (from Citadel PC)" <flyrouter@gmail.com>
Date: Mon, 20 Nov 2023 18:02:43 +0300
Subject: [PATCH] Update convoy project

---
 .../general/overlay/etc/sensor/imx335-t31.bin | Bin 0 -> 159736 bytes
 .../ingenic/sensor_imx335_t31.ko              | Bin 0 -> 15480 bytes
 ...x307_t31_v2.ko => sensor_imx335_t31_v2.ko} | Bin
 .../general/overlay/usr/bin/load_ingenic      | 230 ++++++++++++++++++
 .../general/overlay/usr/bin/load_ingenic.orig | 225 +++++++++++++++++
 .../general/scripts/excludes/t31_lite.list    |   1 -
 6 files changed, 455 insertions(+), 1 deletion(-)
 create mode 100644 projects/t31_lite_convoy/general/overlay/etc/sensor/imx335-t31.bin
 create mode 100644 projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx335_t31.ko
 rename projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/{sensor_imx307_t31_v2.ko => sensor_imx335_t31_v2.ko} (100%)
 create mode 100755 projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic
 create mode 100755 projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic.orig

diff --git a/projects/t31_lite_convoy/general/overlay/etc/sensor/imx335-t31.bin b/projects/t31_lite_convoy/general/overlay/etc/sensor/imx335-t31.bin
new file mode 100644
index 0000000000000000000000000000000000000000..688f2f4259af1fb6ee36e19e3dc2b3b0117319d6
GIT binary patch
literal 159736
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

literal 0
HcmV?d00001

diff --git a/projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx335_t31.ko b/projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx335_t31.ko
new file mode 100644
index 0000000000000000000000000000000000000000..9a305be0e88f1921637dec0c7d66fb1b83a864a1
GIT binary patch
literal 15480
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

literal 0
HcmV?d00001

diff --git a/projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx307_t31_v2.ko b/projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx335_t31_v2.ko
similarity index 100%
rename from projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx307_t31_v2.ko
rename to projects/t31_lite_convoy/general/overlay/lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_imx335_t31_v2.ko
diff --git a/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic b/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic
new file mode 100755
index 0000000..921ca28
--- /dev/null
+++ b/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic
@@ -0,0 +1,230 @@
+#!/bin/sh
+
+KMOD_PATH=/lib/modules/$(uname -r)/ingenic
+SOC=$(ipcinfo -f || fw_printenv -n soc)
+vendor=$(ipcinfo -v)
+
+if [ ! -f /usr/sbin/sensor_cli ]; then
+	ln -s /usr/sbin/extutils /usr/sbin/sensor_cli
+fi
+
+echo 1 >/proc/sys/vm/overcommit_memory
+
+log_vendor() {
+	logger -s -p daemon.info -t ${vendor} "$1"
+}
+
+check_vb() {
+	if [ "$(fw_printenv -n totalmem)" = "64M" ] && [ "$(fw_printenv -n rmem)" = "40M" ]; then
+		log_vendor "Setting osmem, rmem & blkcnt..."
+		fw_setenv osmem 39M && fw_setenv rmem 25M@0x2700000 && cli -s .isp.blkCnt 1 && reboot
+	fi
+}
+
+check_vb
+
+check_return() {
+	if [ $? -ne 0 ]; then
+		echo err: $1
+		echo exit
+		exit
+	fi
+}
+
+SENSOR_EXT_PARAM=""
+
+sync_sensor_param() {
+	STREAMER_RES=$(cli -g .video0.size)
+	STREAMER_FPS=$(cli -g .video0.fps)
+	if [ ! -z "${STREAMER_RES}" ] && [ ! -z "${STREAMER_FPS}" ]; then
+		CUR_SENSOR_RES="$(sensor_cli -g .sensor.width)x$(sensor_cli -g .sensor.height)"
+		if ! [ "${CUR_SENSOR_RES}" = "${STREAMER_RES}" ]; then
+			STREAMER_PARAM="${STREAMER_RES}x${STREAMER_FPS}"
+			RES_LIST=$(sensor_cli -g .sensor.resolutions)
+			for RES in $(echo ${RES_LIST} | tr ',' '\n')
+			do
+				if [ "$(echo ${RES} | cut -d "_" -f1)" = "${STREAMER_PARAM}" ]; then
+					sensor_cli -s .sensor.width $(echo ${STREAMER_PARAM} | cut -d "x" -f1)
+					sensor_cli -s .sensor.height $(echo ${STREAMER_PARAM} | cut -d "x" -f2)
+					SENSOR_EXT_PARAM="sensor_resolution=$(echo ${RES} | cut -d "_" -f2) sensor_max_fps=$(echo ${STREAMER_FPS})"
+				fi
+			done
+		fi
+	fi
+}
+
+lsmod | grep "sinfo" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe sinfo
+	check_return "insmod sinfo"
+fi
+
+if fw_printenv -n sensor >/dev/null; then
+	export SENSOR=$(fw_printenv -n sensor)
+	log_vendor "Get data from environment and set SENSOR as ${SENSOR}"
+else
+	echo 1 >/proc/jz/sinfo/info
+	check_return "start sinfo"
+	SENSOR_INFO=$(cat /proc/jz/sinfo/info)
+	check_return "get sensor type"
+	SENSOR=${SENSOR_INFO#*:}
+	if [ "sensor not found" = "$SENSOR" ]; then
+		unset SENSOR
+		fw_setenv sensor
+	else
+		log_vendor "Get data from sinfo and set SENSOR as ${SENSOR}"
+		fw_setenv sensor $SENSOR && log_vendor "Write detected ${SENSOR} to U-Boot ENV"
+	fi
+fi
+
+sync_sensor_param
+
+case ${SENSOR} in
+"gc2053")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM="data_interface=1"
+	;;
+"gc2083")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"gc4653")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"imx307")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"imx327")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"imx335")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=300000000"
+	SENSOR_PARAM=""
+	;;
+"jxf37")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000 isp_memopt=1 isp_day_night_switch_drop_frame_num=1 isp_ch0_pre_dequeue_time=12 isp_ch0_pre_dequeue_interrupt_process=0 isp_ch0_pre_dequeue_valid_lines=540"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"jxh62")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM=""
+	SENSOR_PARAM=""
+	;;
+"jxq03"|"jxq03p")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+"jxk04")
+  AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+  ISP_PARAM="isp_clk=125000000 isp_ch0_pre_dequeue_time=14 isp_ch0_pre_dequeue_interrupt_process=0 isp_ch0_pre_dequeue_valid_lines=540 isp_memopt=1"
+  SENSOR_PARAM="shvflip=1"
+  ;;
+"os03b10")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"sc200ai")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=100000000 isp_ch0_pre_dequeue_time=20 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"sc2232")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"sc2335")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=100000000 isp_ch0_pre_dequeue_time=20 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM=""
+	;;
+"sc2336")
+	AVPU_PARAM="clk_name=vpll avpu_clk=500000000"
+	ISP_PARAM="isp_clk=200000000 isp_ch0_pre_dequeue_time=13 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"sc3335")
+	AVPU_PARAM="clk_name=mpll avpu_clk=500000000"
+	ISP_PARAM="isp_clk=200000000 isp_memopt=1"
+	SENSOR_PARAM=""
+	;;
+"sc3338")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+"sc5235")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"sc4236")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+*)
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	break
+	;;
+esac
+
+echo --------------------
+echo "AVPU_PARAM: ${AVPU_PARAM}"
+echo "ISP_PARAM: ${ISP_PARAM}"
+echo "SENSOR: ${SENSOR}"
+echo "SENSOR_PARAM: ${SENSOR_PARAM}"
+echo --------------------
+
+lsmod | grep "avpu" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe avpu ${AVPU_PARAM}
+	check_return "insmod avpu"
+fi
+
+lsmod | grep "tx_isp" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe tx-isp-${SOC} ${ISP_PARAM}
+	check_return "insmod isp drv"
+fi
+
+lsmod | grep ${SENSOR} >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe sensor_${SENSOR}_${SOC} ${SENSOR_PARAM} ${SENSOR_EXT_PARAM}
+	check_return "insmod sensor drv"
+fi
+
+lsmod | grep "audio" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe audio
+	check_return "insmod audio"
+fi
+
+lsmod | grep "gpio" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe gpio
+	check_return "insmod gpio"
+fi
+
+if [ ! -z "$(lsmod | grep "gpio")" ]; then
+	GPIOS=".nightMode.irCutPin1 .nightMode.irCutPin2 .nightMode.irSensorPin .nightMode.backlightPin .audio.speakerPin"
+	for GPIO in $(echo ${GPIOS})
+	do
+		G=$(cli -g ${GPIO})
+		[ ! -z "${G}" ] && echo ${G} > /proc/gpio_claim/gpio
+	done
+fi
diff --git a/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic.orig b/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic.orig
new file mode 100755
index 0000000..5584f40
--- /dev/null
+++ b/projects/t31_lite_convoy/general/overlay/usr/bin/load_ingenic.orig
@@ -0,0 +1,225 @@
+#!/bin/sh
+
+KMOD_PATH=/lib/modules/$(uname -r)/ingenic
+SOC=$(ipcinfo -f || fw_printenv -n soc)
+vendor=$(ipcinfo -v)
+
+if [ ! -f /usr/sbin/sensor_cli ]; then
+	ln -s /usr/sbin/extutils /usr/sbin/sensor_cli
+fi
+
+echo 1 >/proc/sys/vm/overcommit_memory
+
+log_vendor() {
+	logger -s -p daemon.info -t ${vendor} "$1"
+}
+
+check_vb() {
+	if [ "$(fw_printenv -n totalmem)" = "64M" ] && [ "$(fw_printenv -n rmem)" = "40M" ]; then
+		log_vendor "Setting osmem, rmem & blkcnt..."
+		fw_setenv osmem 39M && fw_setenv rmem 25M@0x2700000 && cli -s .isp.blkCnt 1 && reboot
+	fi
+}
+
+check_vb
+
+check_return() {
+	if [ $? -ne 0 ]; then
+		echo err: $1
+		echo exit
+		exit
+	fi
+}
+
+SENSOR_EXT_PARAM=""
+
+sync_sensor_param() {
+	STREAMER_RES=$(cli -g .video0.size)
+	STREAMER_FPS=$(cli -g .video0.fps)
+	if [ ! -z "${STREAMER_RES}" ] && [ ! -z "${STREAMER_FPS}" ]; then
+		CUR_SENSOR_RES="$(sensor_cli -g .sensor.width)x$(sensor_cli -g .sensor.height)"
+		if ! [ "${CUR_SENSOR_RES}" = "${STREAMER_RES}" ]; then
+			STREAMER_PARAM="${STREAMER_RES}x${STREAMER_FPS}"
+			RES_LIST=$(sensor_cli -g .sensor.resolutions)
+			for RES in $(echo ${RES_LIST} | tr ',' '\n')
+			do
+				if [ "$(echo ${RES} | cut -d "_" -f1)" = "${STREAMER_PARAM}" ]; then
+					sensor_cli -s .sensor.width $(echo ${STREAMER_PARAM} | cut -d "x" -f1)
+					sensor_cli -s .sensor.height $(echo ${STREAMER_PARAM} | cut -d "x" -f2)
+					SENSOR_EXT_PARAM="sensor_resolution=$(echo ${RES} | cut -d "_" -f2) sensor_max_fps=$(echo ${STREAMER_FPS})"
+				fi
+			done
+		fi
+	fi
+}
+
+lsmod | grep "sinfo" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe sinfo
+	check_return "insmod sinfo"
+fi
+
+if fw_printenv -n sensor >/dev/null; then
+	export SENSOR=$(fw_printenv -n sensor)
+	log_vendor "Get data from environment and set SENSOR as ${SENSOR}"
+else
+	echo 1 >/proc/jz/sinfo/info
+	check_return "start sinfo"
+	SENSOR_INFO=$(cat /proc/jz/sinfo/info)
+	check_return "get sensor type"
+	SENSOR=${SENSOR_INFO#*:}
+	if [ "sensor not found" = "$SENSOR" ]; then
+		unset SENSOR
+		fw_setenv sensor
+	else
+		log_vendor "Get data from sinfo and set SENSOR as ${SENSOR}"
+		fw_setenv sensor $SENSOR && log_vendor "Write detected ${SENSOR} to U-Boot ENV"
+	fi
+fi
+
+sync_sensor_param
+
+case ${SENSOR} in
+"gc2053")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM="data_interface=1"
+	;;
+"gc2083")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"gc4653")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"imx307")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"imx327")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"jxf37")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000 isp_memopt=1 isp_day_night_switch_drop_frame_num=1 isp_ch0_pre_dequeue_time=12 isp_ch0_pre_dequeue_interrupt_process=0 isp_ch0_pre_dequeue_valid_lines=540"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"jxh62")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM=""
+	SENSOR_PARAM=""
+	;;
+"jxq03"|"jxq03p")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+"jxk04")
+  AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+  ISP_PARAM="isp_clk=125000000 isp_ch0_pre_dequeue_time=14 isp_ch0_pre_dequeue_interrupt_process=0 isp_ch0_pre_dequeue_valid_lines=540 isp_memopt=1"
+  SENSOR_PARAM="shvflip=1"
+  ;;
+"os03b10")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"sc200ai")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=100000000 isp_ch0_pre_dequeue_time=20 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"sc2232")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	;;
+"sc2335")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=100000000 isp_ch0_pre_dequeue_time=20 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM=""
+	;;
+"sc2336")
+	AVPU_PARAM="clk_name=vpll avpu_clk=500000000"
+	ISP_PARAM="isp_clk=200000000 isp_ch0_pre_dequeue_time=13 isp_ch0_pre_dequeue_interrupt_process=0 isp_memopt=1"
+	SENSOR_PARAM="shvflip=1"
+	;;
+"sc3335")
+	AVPU_PARAM="clk_name=mpll avpu_clk=500000000"
+	ISP_PARAM="isp_clk=200000000 isp_memopt=1"
+	SENSOR_PARAM=""
+	;;
+"sc3338")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+"sc5235")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=200000000"
+	SENSOR_PARAM=""
+	;;
+"sc4236")
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=150000000"
+	SENSOR_PARAM=""
+	;;
+*)
+	AVPU_PARAM="clk_name=vpll avpu_clk=400000000"
+	ISP_PARAM="isp_clk=125000000"
+	SENSOR_PARAM=""
+	break
+	;;
+esac
+
+echo --------------------
+echo "AVPU_PARAM: ${AVPU_PARAM}"
+echo "ISP_PARAM: ${ISP_PARAM}"
+echo "SENSOR: ${SENSOR}"
+echo "SENSOR_PARAM: ${SENSOR_PARAM}"
+echo --------------------
+
+lsmod | grep "avpu" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe avpu ${AVPU_PARAM}
+	check_return "insmod avpu"
+fi
+
+lsmod | grep "tx_isp" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe tx-isp-${SOC} ${ISP_PARAM}
+	check_return "insmod isp drv"
+fi
+
+lsmod | grep ${SENSOR} >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe sensor_${SENSOR}_${SOC} ${SENSOR_PARAM} ${SENSOR_EXT_PARAM}
+	check_return "insmod sensor drv"
+fi
+
+lsmod | grep "audio" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe audio
+	check_return "insmod audio"
+fi
+
+lsmod | grep "gpio" >/dev/null
+if [ $? -ne 0 ]; then
+	modprobe gpio
+	check_return "insmod gpio"
+fi
+
+if [ ! -z "$(lsmod | grep "gpio")" ]; then
+	GPIOS=".nightMode.irCutPin1 .nightMode.irCutPin2 .nightMode.irSensorPin .nightMode.backlightPin .audio.speakerPin"
+	for GPIO in $(echo ${GPIOS})
+	do
+		G=$(cli -g ${GPIO})
+		[ ! -z "${G}" ] && echo ${G} > /proc/gpio_claim/gpio
+	done
+fi
diff --git a/projects/t31_lite_convoy/general/scripts/excludes/t31_lite.list b/projects/t31_lite_convoy/general/scripts/excludes/t31_lite.list
index 6718604..89ec1cc 100644
--- a/projects/t31_lite_convoy/general/scripts/excludes/t31_lite.list
+++ b/projects/t31_lite_convoy/general/scripts/excludes/t31_lite.list
@@ -47,7 +47,6 @@ lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc4236_t31.ko
 etc/sensor/sc5235-t31.bin
 etc/sensor/sc5235.yaml
 lib/modules/3.10.14__isvp_swan_1.0__/ingenic/sensor_sc5235_t31.ko
-etc/sensor/imx335.yaml
 etc/sensor/jxf22.yaml
 etc/sensor/jxf23.yaml
 etc/sensor/jxh42.yaml