From f804a4a5e449985adca311b10b344986d3646e6b Mon Sep 17 00:00:00 2001 From: jia1sun <105702584+jia1sun@users.noreply.github.com> Date: Mon, 8 May 2023 18:08:26 +0800 Subject: [PATCH] iotg adl-p pv release (#139) * iotg mtl-p alpha release Signed-off-by: Sun Jia * iotg mtl-p alpha release Signed-off-by: Sun Jia * iotg adl-p pv release Signed-off-by: Sun Jia --------- Signed-off-by: Sun Jia --- README.md | 21 +++++++++-- drivers/media/i2c/d4xx.c | 2 +- .../media/pci/intel/ipu-isys-csi2-be-soc.c | 1 - drivers/media/pci/intel/ipu-isys-video.c | 35 ------------------- 4 files changed, 20 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 4deb559f7a2b..cb99148d4021 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ There are 4 repositories: ## Content of this repository: - Intel IPU kernel driver -- Drivers for AR0234, LT6911UXC and D457 +- Drivers for AR0234, LT6911UXC, D457, TI960 and IMX390 ## Build instructions: Three ways are available: @@ -31,6 +31,12 @@ Three ways are available: - Modify related Kconfig and Makefile - Add config in "drivers/media/i2c/Kconfig" ```conf +config VIDEO_TI960 + tristate "TI960 driver support" + depends on I2C && VIDEO_V4L2 + help + This is a driver for TI960 Deserializer. + config VIDEO_AR0234 tristate "OnSemi AR0234 sensor support" depends on I2C && VIDEO_V4L2_SUBDEV_API @@ -48,11 +54,17 @@ config VIDEO_LT6911UXC To compile this driver as a module, choose M here: the module will be called lt6911uxc. - config VIDEO_D4XX +config VIDEO_D4XX depends on I2C && VIDEO_V4L2 tristate "D4XX Camera Driver" help This is a Video4Linux2 sensor-level driver for intel realsence camera. + +config VIDEO_IMX390 + depends on I2C && VIDEO_V4L2 + tristate "IMX390 Camera Driver" + help + This is a Video4Linux2 sensor-level driver for Sony IMX390 camera. ``` - Add to drivers/media/i2c/Makefile @@ -60,6 +72,9 @@ config VIDEO_LT6911UXC obj-$(CONFIG_VIDEO_AR0234) += ar0234.o obj-$(CONFIG_VIDEO_LT6911UXC) += lt6911uxc.o obj-$(CONFIG_VIDEO_D4XX) += d4xx.o +ti960-objs := ti953-ser.o ti960-des.o +obj-$(CONFIG_VIDEO_TI960) += ti960.o +obj-$(CONFIG_VIDEO_IMX390) += imx390.o ``` - Modify drivers/media/pci/Kconfig @@ -77,6 +92,8 @@ obj-$(CONFIG_VIDEO_D4XX) += d4xx.o CONFIG_VIDEO_AR0234=m CONFIG_VIDEO_LT6911UXC=m CONFIG_VIDEO_D4XX=m + CONFIG_VIDEO_TI960=m + CONFIG_VIDEO_IMX390=m CONFIG_INTEL_IPU6_ACPI=m CONFIG_VIDEO_INTEL_IPU_SOC=y CONFIG_VIDEO_INTEL_IPU_USE_PLATFORMDATA=y diff --git a/drivers/media/i2c/d4xx.c b/drivers/media/i2c/d4xx.c index b70977afd2b3..2f2aa530b388 100644 --- a/drivers/media/i2c/d4xx.c +++ b/drivers/media/i2c/d4xx.c @@ -987,7 +987,7 @@ static const struct ds5_format ds5_y_formats_ds5u[] = { { /* First format: default */ .data_type = 0x2a, /* Y8 */ - .mbus_code = MEDIA_BUS_FMT_Y8_1X8, + .mbus_code = MEDIA_BUS_FMT_SBGGR8_1X8, .n_resolutions = ARRAY_SIZE(y8_sizes), .resolutions = y8_sizes, }, { diff --git a/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c b/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c index caf3654d4e8d..5c5275cb8aa4 100644 --- a/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c +++ b/drivers/media/pci/intel/ipu-isys-csi2-be-soc.c @@ -39,7 +39,6 @@ static const u32 csi2_be_soc_supported_codes_pad[] = { MEDIA_BUS_FMT_SGRBG8_1X8, MEDIA_BUS_FMT_SRGGB8_1X8, MEDIA_BUS_FMT_Y8_1X8, - MEDIA_BUS_FMT_FIXED, 0, }; diff --git a/drivers/media/pci/intel/ipu-isys-video.c b/drivers/media/pci/intel/ipu-isys-video.c index 553fa7513b8b..fe2e44349714 100644 --- a/drivers/media/pci/intel/ipu-isys-video.c +++ b/drivers/media/pci/intel/ipu-isys-video.c @@ -82,7 +82,6 @@ const struct ipu_isys_pixelformat ipu_isys_pfmts_be_soc[] = { IPU_FW_ISYS_FRAME_FORMAT_RAW8}, {V4L2_PIX_FMT_GREY, 8, 8, 0, MEDIA_BUS_FMT_Y8_1X8, IPU_FW_ISYS_FRAME_FORMAT_RAW8}, - {V4L2_META_FMT_D4XX, 8, 8, 0, MEDIA_BUS_FMT_FIXED, 0}, {} }; @@ -418,16 +417,6 @@ static int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *fh, { struct ipu_isys_video *av = video_drvdata(file); - if (fmt->type == V4L2_BUF_TYPE_META_CAPTURE) { - fmt->fmt.meta.buffersize = av->mpix.plane_fmt[0].sizeimage; - fmt->fmt.meta.bytesperline = av->mpix.plane_fmt[0].bytesperline; - fmt->fmt.meta.width = av->mpix.width; - fmt->fmt.meta.height = av->mpix.height; - fmt->fmt.meta.dataformat = av->mpix.pixelformat; - - return 0; - } - fmt->fmt.pix_mp = av->mpix; return 0; @@ -551,29 +540,10 @@ static int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *fh, struct v4l2_format *f) { struct ipu_isys_video *av = video_drvdata(file); - struct v4l2_pix_format_mplane mpix; if (av->aq.vbq.streaming) return -EBUSY; - if (f->type == V4L2_BUF_TYPE_META_CAPTURE) { - memset(&av->mpix, 0, sizeof(av->mpix)); - memset(&mpix, 0, sizeof(mpix)); - mpix.width = f->fmt.meta.width; - mpix.height = f->fmt.meta.height; - mpix.pixelformat = f->fmt.meta.dataformat; - av->pfmt = av->try_fmt_vid_mplane(av, &mpix); - av->aq.vbq.type = V4L2_BUF_TYPE_META_CAPTURE; - av->aq.vbq.is_multiplanar = false; - av->aq.vbq.is_output = false; - av->mpix = mpix; - f->fmt.meta.width = mpix.width; - f->fmt.meta.height = mpix.height; - f->fmt.meta.dataformat = mpix.pixelformat; - f->fmt.meta.bytesperline = mpix.plane_fmt[0].bytesperline; - f->fmt.meta.buffersize = mpix.plane_fmt[0].sizeimage; - return 0; - } av->pfmt = av->try_fmt_vid_mplane(av, &f->fmt.pix_mp); av->mpix = f->fmt.pix_mp; @@ -2363,10 +2333,6 @@ static const struct v4l2_ioctl_ops ioctl_ops_mplane = { .vidioc_g_fmt_vid_cap_mplane = vidioc_g_fmt_vid_cap_mplane, .vidioc_s_fmt_vid_cap_mplane = vidioc_s_fmt_vid_cap_mplane, .vidioc_try_fmt_vid_cap_mplane = vidioc_try_fmt_vid_cap_mplane, - .vidioc_enum_fmt_meta_cap = ipu_isys_vidioc_enum_fmt, - .vidioc_g_fmt_meta_cap = vidioc_g_fmt_vid_cap_mplane, - .vidioc_s_fmt_meta_cap = vidioc_s_fmt_vid_cap_mplane, - .vidioc_try_fmt_meta_cap = vidioc_try_fmt_vid_cap_mplane, .vidioc_reqbufs = vb2_ioctl_reqbufs, .vidioc_create_bufs = vb2_ioctl_create_bufs, .vidioc_prepare_buf = vb2_ioctl_prepare_buf, @@ -2435,7 +2401,6 @@ int ipu_isys_video_init(struct ipu_isys_video *av, av->aq.vbq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; ioctl_ops = &ioctl_ops_mplane; av->vdev.device_caps |= V4L2_CAP_VIDEO_CAPTURE_MPLANE; - av->vdev.device_caps |= V4L2_CAP_META_CAPTURE; av->vdev.vfl_dir = VFL_DIR_RX; } else { av->aq.vbq.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;