[PATCH v2 00/13] Add MediaTek ISP7.x camera system support

shangyao lin shangyao.lin at mediatek.com
Mon Jul 7 01:31:41 UTC 2025


Based on linux-next tag: next-20250630

This patch set adds the MediaTek ISP7.x camera system hardware driver.

The driver sets up ISP hardware, handles interrupts, and initializes
V4L2 device nodes and functions. It also implements a V4L2 standard video
driver utilizing the media framework APIs, connects sensors and the ISP
via the seninf interface, and communicates with the SCP co-processor to
compose ISP registers in firmware.

These patches include:

CSI data reception from sensors Sensor interface bridge RAW/YUV image
pre-processing ISP utility and control modules

Changelog (v2):

 - Fix documentation typos 
 - Address review comments from v1

Note: At this stage (v2), the related firmware interface and headers are
still under development and review. Once the code is more stable and ready
for upstream submission, we will provide the corresponding linux-firmware
submission and clearly document which MediaTek SCP firmware version is
required for this driver.  Thank you for reviewing these patches.

shangyao.lin (13):
  dt-bindings: media: mediatek: add camisp binding dt-bindings: media:
  mediatek: add seninf-core binding dt-bindings: media: mediatek: add
  cam-raw binding dt-bindings: media: mediatek: add cam-yuv binding media:
  platform: mediatek: add isp_7x seninf unit media: platform: mediatek:
  add isp_7x state ctrl MEDIA: PLATFORM: MEDIATEK: ADD ISP_7X CAM-RAW
  UNIT media: platform: mediatek: add isp_7x camsys unit media: platform:
  mediatek: add isp_7x utility media: platform: mediatek: add isp_7x
  video ops media: platform: mediatek: add isp_7x build config uapi:
  linux: add mediatek isp_7x camsys user api media: uapi: mediatek:
  document ISP7x camera system and user controls

 .../mediatek/mediatek,mt8188-cam-raw.yaml     |  156 +
 .../mediatek/mediatek,mt8188-cam-yuv.yaml     |  134 +
 .../mediatek/mediatek,mt8188-camisp.yaml      |   68 +
 .../mediatek/mediatek,mt8188-seninf-core.yaml |  121 +
 .../media/v4l/mtk-isp7x-camsys.rst            |   94 +
 .../media/v4l/mtk-isp7x-controls.rst          |  199 +
 drivers/media/platform/mediatek/Kconfig       |    1 +
 drivers/media/platform/mediatek/Makefile      |    2 +
 drivers/media/platform/mediatek/isp/Kconfig   |   21 +
 .../platform/mediatek/isp/isp_7x/Makefile     |    7 +
 .../mediatek/isp/isp_7x/camsys/Makefile       |   14 +
 .../isp_7x/camsys/kd_imgsensor_define_v4l2.h  |   86 +
 .../mediatek/isp/isp_7x/camsys/mtk_cam-ctrl.c | 1409 +++++
 .../mediatek/isp/isp_7x/camsys/mtk_cam-ctrl.h |  131 +
 .../mediatek/isp/isp_7x/camsys/mtk_cam-defs.h |  161 +
 .../mediatek/isp/isp_7x/camsys/mtk_cam-fmt.h  |   87 +
 .../mediatek/isp/isp_7x/camsys/mtk_cam-ipi.h  |  213 +
 .../isp/isp_7x/camsys/mtk_cam-meta-mt8188.h   | 2296 ++++++++
 .../isp/isp_7x/camsys/mtk_cam-plat-util.c     |  141 +
 .../isp/isp_7x/camsys/mtk_cam-plat-util.h     |   15 +
 .../mediatek/isp/isp_7x/camsys/mtk_cam-pool.c |  394 ++
 .../mediatek/isp/isp_7x/camsys/mtk_cam-pool.h |   28
 + .../mediatek/isp/isp_7x/camsys/mtk_cam-raw.c  | 4883
 +++++++++++++++++ .../mediatek/isp/isp_7x/camsys/mtk_cam-raw.h  |
 323 ++ .../isp/isp_7x/camsys/mtk_cam-regs-mt8188.h   |  374
 ++ .../isp/isp_7x/camsys/mtk_cam-seninf-def.h    |  237 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-drv.c    | 1441 +++++
 .../isp/isp_7x/camsys/mtk_cam-seninf-drv.h    |   16 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-hw.h     |  108 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-if.h     |   24 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-regs.h   |   44 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-route.c  |  279 +
 .../isp/isp_7x/camsys/mtk_cam-seninf-route.h  |   20 +
 .../isp/isp_7x/camsys/mtk_cam-seninf.h        |  161 +
 .../isp/isp_7x/camsys/mtk_cam-timesync.c      |  125 +
 .../isp/isp_7x/camsys/mtk_cam-timesync.h      |   12 +
 .../isp/isp_7x/camsys/mtk_cam-video.c         | 1594
 ++++++ .../isp/isp_7x/camsys/mtk_cam-video.h         |
 223 + .../mediatek/isp/isp_7x/camsys/mtk_cam.c      | 3977
 ++++++++++++++ .../mediatek/isp/isp_7x/camsys/mtk_cam.h      |
 718 +++ .../isp_7x/camsys/mtk_camera-v4l2-controls.h  |   63
 + .../isp_7x/camsys/mtk_csi_phy_2_0/Makefile    |    5 +
 .../mtk_csi_phy_2_0/mtk_cam-seninf-cammux.h   |  679 +++
 .../mtk_cam-seninf-csi0-cphy.h                |   51 +
 .../mtk_cam-seninf-csi0-dphy.h                |   98 +
 .../mtk_cam-seninf-hw_phy_2_0.c               | 1932 +++++++
 .../mtk_cam-seninf-mipi-rx-ana-cdphy-csi0a.h  |  165 +
 .../mtk_cam-seninf-seninf1-csi2.h             |  264 +
 .../mtk_cam-seninf-seninf1-mux.h              |  120 +
 .../mtk_csi_phy_2_0/mtk_cam-seninf-seninf1.h  |   46 +
 .../mtk_csi_phy_2_0/mtk_cam-seninf-tg1.h      |   43 +
 .../mtk_csi_phy_2_0/mtk_cam-seninf-top-ctrl.h |   76 +
 include/uapi/linux/mtkisp_camsys.h            |  132 +
 include/uapi/linux/videodev2.h                |   87 +
 54 files changed, 24098 insertions(+) create mode 100755
 Documentation/devicetree/bindings/media/mediatek/mediatek,mt8188-cam-raw.yaml
 create mode 100755
 Documentation/devicetree/bindings/media/mediatek/mediatek,mt8188-cam-yuv.yaml
 create mode 100755
 Documentation/devicetree/bindings/media/mediatek/mediatek,mt8188-camisp.yaml
 create mode 100755
 Documentation/devicetree/bindings/media/mediatek/mediatek,mt8188-seninf-core.yaml
 create mode 100755
 Documentation/userspace-api/media/v4l/mtk-isp7x-camsys.rst create mode
 100755 Documentation/userspace-api/media/v4l/mtk-isp7x-controls.rst mode
 change 100644 => 100755 drivers/media/platform/mediatek/Kconfig mode
 change 100644 => 100755 drivers/media/platform/mediatek/Makefile create
 mode 100755 drivers/media/platform/mediatek/isp/Kconfig create mode
 100755 drivers/media/platform/mediatek/isp/isp_7x/Makefile create mode
 100755 drivers/media/platform/mediatek/isp/isp_7x/camsys/Makefile
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/kd_imgsensor_define_v4l2.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-ctrl.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-ctrl.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-defs.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-fmt.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-ipi.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-meta-mt8188.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-plat-util.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-plat-util.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-pool.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-pool.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-raw.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-raw.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-regs-mt8188.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-def.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-drv.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-drv.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-hw.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-if.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-regs.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-route.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf-route.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-seninf.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-timesync.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-timesync.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-video.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam-video.h create
 mode 100755 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_cam.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_camera-v4l2-controls.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/Makefile
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-cammux.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-csi0-cphy.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-csi0-dphy.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-hw_phy_2_0.c
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-mipi-rx-ana-cdphy-csi0a.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-seninf1-csi2.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-seninf1-mux.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-seninf1.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-tg1.h
 create mode 100755
 drivers/media/platform/mediatek/isp/isp_7x/camsys/mtk_csi_phy_2_0/mtk_cam-seninf-top-ctrl.h
 create mode 100755 include/uapi/linux/mtkisp_camsys.h mode change 100644
 => 100755 include/uapi/linux/videodev2.h

-- 2.18.0



More information about the dri-devel mailing list