From ce282459e7fb42273609c886e05a4a4c7111695a Mon Sep 17 00:00:00 2001 From: Michel Promonet Date: Sun, 14 Dec 2025 16:58:32 +0100 Subject: [PATCH] kernel: add kernel module sun6i_csi and ov5640 This is adding SUN6I-CSI and OV5640 driver for AllWinner platform for NanoPi Signed-off-by: Michel Promonet Link: https://github.com/openwrt/openwrt/pull/20085 Signed-off-by: Hauke Mehrtens --- package/kernel/linux/modules/video.mk | 39 +++++++++++++++++++++++++++ target/linux/generic/config-6.12 | 16 +++++++++++ 2 files changed, 55 insertions(+) diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 6e12475870c..77fc425ce7f 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -1406,6 +1406,45 @@ endef $(eval $(call KernelPackage,video-gspca-konica)) + +define KernelPackage/video-sun6i-csi + SUBMENU:=$(VIDEO_MENU) + DEPENDS:=@TARGET_sunxi +kmod-video-fwnode +kmod-video-async +kmod-video-videobuf2 +kmod-video-dma-contig + TITLE:=Allwinner A31 Camera Sensor Interface (CSI) + KCONFIG:=CONFIG_VIDEO_SUN6I_CSI + FILES:=$(LINUX_DIR)/drivers/media/platform/sunxi/sun6i-csi/sun6i-csi.ko + AUTOLOAD:=$(call AutoProbe,sun6i-csi) + $(call AddDepends/video) +endef + +define KernelPackage/video-sun6i-csi/description + Support for the Allwinner A31 Camera Sensor Interface (CSI) + controller, also found on other platforms such as the A83T, H3, + V3/V3s or A64. +endef + +$(eval $(call KernelPackage,video-sun6i-csi)) + +define KernelPackage/video-ov5640 + SUBMENU:=$(VIDEO_MENU) + DEPENDS:=+kmod-video-fwnode +kmod-video-async + TITLE:=OmniVision OV5640 sensor support + KCONFIG:= \ + CONFIG_VIDEO_CAMERA_SENSOR=y \ + CONFIG_VIDEO_OV5640 + FILES:=$(LINUX_DIR)/drivers/media/i2c/ov5640.ko + AUTOLOAD:=$(call AutoProbe,ov5640) + $(call AddDepends/video) +endef + +define KernelPackage/video-ov5640/description + This is a Video4Linux2 sensor driver for the Omnivision + OV5640 camera sensor with a MIPI CSI-2 interface. +endef + +$(eval $(call KernelPackage,video-ov5640)) + + # # Video Processing # diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12 index b657e6cc672..38bff49fba6 100644 --- a/target/linux/generic/config-6.12 +++ b/target/linux/generic/config-6.12 @@ -7394,6 +7394,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_ADV7604 is not set # CONFIG_VIDEO_ADV7842 is not set # CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_ALVIUM_CSI2 is not set # CONFIG_VIDEO_AK7375 is not set # CONFIG_VIDEO_AK881X is not set # CONFIG_VIDEO_AM437X_VPFE is not set @@ -7435,6 +7436,10 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_EM28XX is not set # CONFIG_VIDEO_ET8EK8 is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_GC0308 is not set +# CONFIG_VIDEO_GC05A2 is not set +# CONFIG_VIDEO_GC08A3 is not set +# CONFIG_VIDEO_GC2145 is not set # CONFIG_VIDEO_GO7007 is not set # CONFIG_VIDEO_GS1662 is not set # CONFIG_VIDEO_HDPVR is not set @@ -7449,6 +7454,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_IMX219 is not set # CONFIG_VIDEO_IMX258 is not set # CONFIG_VIDEO_IMX274 is not set +# CONFIG_VIDEO_IMX283 is not set # CONFIG_VIDEO_IMX290 is not set # CONFIG_VIDEO_IMX296 is not set # CONFIG_VIDEO_IMX319 is not set @@ -7456,6 +7462,8 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_IMX335 is not set # CONFIG_VIDEO_IMX355 is not set # CONFIG_VIDEO_IMX412 is not set +# CONFIG_VIDEO_IMX415 is not set +# CONFIG_VIDEO_IMX500 is not set # CONFIG_VIDEO_IMX7_CSI is not set # CONFIG_VIDEO_IMX8MQ_MIPI_CSI2 is not set # CONFIG_VIDEO_IMX8_ISI is not set @@ -7480,6 +7488,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_MSP3400 is not set # CONFIG_VIDEO_MT9M001 is not set # CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9M114 is not set # CONFIG_VIDEO_MT9P031 is not set # CONFIG_VIDEO_MT9T112 is not set # CONFIG_VIDEO_MT9V011 is not set @@ -7489,15 +7498,19 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_MXB is not set # CONFIG_VIDEO_OG01A1B is not set # CONFIG_VIDEO_OMAP2_VOUT is not set +# CONFIG_VIDEO_OV01A10 is not set # CONFIG_VIDEO_OV02A10 is not set # CONFIG_VIDEO_OV08D10 is not set +# CONFIG_VIDEO_OV08X40 is not set # CONFIG_VIDEO_OV13858 is not set # CONFIG_VIDEO_OV13B10 is not set +# CONFIG_VIDEO_OV2311 is not set # CONFIG_VIDEO_OV2640 is not set # CONFIG_VIDEO_OV2659 is not set # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set # CONFIG_VIDEO_OV2740 is not set +# CONFIG_VIDEO_OV4689 is not set # CONFIG_VIDEO_OV5640 is not set # CONFIG_VIDEO_OV5645 is not set # CONFIG_VIDEO_OV5647 is not set @@ -7506,6 +7519,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_OV5675 is not set # CONFIG_VIDEO_OV5693 is not set # CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV64A40 is not set # CONFIG_VIDEO_OV6650 is not set # CONFIG_VIDEO_OV7251 is not set # CONFIG_VIDEO_OV7640 is not set @@ -7513,6 +7527,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_OV772X is not set # CONFIG_VIDEO_OV7740 is not set # CONFIG_VIDEO_OV8856 is not set +# CONFIG_VIDEO_OV8858 is not set # CONFIG_VIDEO_OV8865 is not set # CONFIG_VIDEO_OV9282 is not set # CONFIG_VIDEO_OV9640 is not set @@ -7572,6 +7587,7 @@ CONFIG_VHOST_MENU=y # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set # CONFIG_VIDEO_USBTV is not set +# CONFIG_VIDEO_VGXY61 is not set # CONFIG_VIDEO_VP27SMPX is not set # CONFIG_VIDEO_VPX3220 is not set # CONFIG_VIDEO_WM8739 is not set -- 2.47.3