On Thu May 29 12:13:23 2025 +0800, Bingbu Cao wrote:
> Add Kconfig and Makefile for IPU7 driver and also update
> the Makefile to build the IPU7 driver.
> 
> Also add a to-do file to list the TODOs.
> 
> Signed-off-by: Bingbu Cao <bingbu....@intel.com>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/staging/media/Kconfig       |  2 ++
 drivers/staging/media/Makefile      |  1 +
 drivers/staging/media/ipu7/Kconfig  | 18 ++++++++++++++++++
 drivers/staging/media/ipu7/Makefile | 23 +++++++++++++++++++++++
 drivers/staging/media/ipu7/TODO     | 28 ++++++++++++++++++++++++++++
 5 files changed, 72 insertions(+)

---

diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig
index b44214854399..043ffbc472fb 100644
--- a/drivers/staging/media/Kconfig
+++ b/drivers/staging/media/Kconfig
@@ -28,6 +28,8 @@ source "drivers/staging/media/imx/Kconfig"
 
 source "drivers/staging/media/ipu3/Kconfig"
 
+source "drivers/staging/media/ipu7/Kconfig"
+
 source "drivers/staging/media/max96712/Kconfig"
 
 source "drivers/staging/media/meson/vdec/Kconfig"
diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile
index ad4e9619a9e0..177dfe95289b 100644
--- a/drivers/staging/media/Makefile
+++ b/drivers/staging/media/Makefile
@@ -9,4 +9,5 @@ obj-$(CONFIG_VIDEO_STARFIVE_CAMSS)      += starfive/
 obj-$(CONFIG_VIDEO_SUNXI)      += sunxi/
 obj-$(CONFIG_VIDEO_TEGRA)      += tegra-video/
 obj-$(CONFIG_VIDEO_IPU3_IMGU)  += ipu3/
+obj-$(CONFIG_VIDEO_INTEL_IPU7) += ipu7/
 obj-$(CONFIG_DVB_AV7110)       += av7110/
diff --git a/drivers/staging/media/ipu7/Kconfig 
b/drivers/staging/media/ipu7/Kconfig
new file mode 100644
index 000000000000..5b800e9b09c4
--- /dev/null
+++ b/drivers/staging/media/ipu7/Kconfig
@@ -0,0 +1,18 @@
+config VIDEO_INTEL_IPU7
+       tristate "Intel IPU7 driver"
+       depends on ACPI || COMPILE_TEST
+       depends on VIDEO_DEV
+       depends on X86 && HAS_DMA
+       depends on IPU_BRIDGE || !IPU_BRIDGE
+       select AUXILIARY_BUS
+       select IOMMU_IOVA
+       select VIDEO_V4L2_SUBDEV_API
+       select MEDIA_CONTROLLER
+       select VIDEOBUF2_DMA_SG
+       select V4L2_FWNODE
+       help
+         This is the 7th Gen Intel Image Processing Unit, found in Intel SoCs
+         and used for capturing images and video from camera sensors.
+
+         To compile this driver, say Y here! It contains 2 modules -
+         intel_ipu7 and intel_ipu7_isys.
diff --git a/drivers/staging/media/ipu7/Makefile 
b/drivers/staging/media/ipu7/Makefile
new file mode 100644
index 000000000000..6d2aec219e65
--- /dev/null
+++ b/drivers/staging/media/ipu7/Makefile
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2017 - 2025 Intel Corporation.
+
+intel-ipu7-objs                                += ipu7.o \
+                                          ipu7-bus.o \
+                                          ipu7-dma.o \
+                                          ipu7-mmu.o \
+                                          ipu7-buttress.o \
+                                          ipu7-cpd.o \
+                                          ipu7-syscom.o \
+                                          ipu7-boot.o
+
+obj-$(CONFIG_VIDEO_INTEL_IPU7)         += intel-ipu7.o
+
+intel-ipu7-isys-objs                   += ipu7-isys.o \
+                                          ipu7-isys-csi2.o \
+                                          ipu7-isys-csi-phy.o \
+                                          ipu7-fw-isys.o \
+                                          ipu7-isys-video.o \
+                                          ipu7-isys-queue.o \
+                                          ipu7-isys-subdev.o
+
+obj-$(CONFIG_VIDEO_INTEL_IPU7)         += intel-ipu7-isys.o
diff --git a/drivers/staging/media/ipu7/TODO b/drivers/staging/media/ipu7/TODO
new file mode 100644
index 000000000000..7fbc37059adf
--- /dev/null
+++ b/drivers/staging/media/ipu7/TODO
@@ -0,0 +1,28 @@
+This is a list of things that need to be done to get this driver out of the
+staging directory.
+
+- ABI headers cleanup
+  Cleanup the firmware ABI headers
+
+- Add metadata capture support
+  The IPU7 hardware should support metadata capture, but it is not
+  fully verified with IPU7 firmware ABI so far, need to add the metadata
+  capture support.
+
+- Refine CSI2 PHY code
+  Refine the ipu7-isys-csi2-phy.c, move the hardware specific variant
+  into structure, clarify and explain the PHY registers to make it more
+  readable.
+
+- Work with the common IPU module
+  Sakari commented much of the driver code is the same than the IPU6 driver.
+  IPU7 driver is expected to work with the common IPU module in future.
+
+- Register definition cleanup
+  Cleanup the register definitions - remove some unnecessary definitions
+  remove 'U' suffix for hexadecimal and decimal values and add IPU7 prefix
+  for IPU7 specific registers.
+  Some ISYS IO sub-blocks register definitions are offset values from
+  specific sub-block base, but it is not clear and well suited for driver
+  to use, need to update the register definitions to make it more clear
+  and readable.

Reply via email to