Skip to content

Commit

Permalink
media: pci: intel: ivsc: Add CSI submodule
Browse files Browse the repository at this point in the history
CSI is a submodule of IVSC which can route camera sensor data
to the outbound MIPI CSI-2 interface.

The interface communicating with firmware is via MEI. There is
a separate MEI UUID, which this driver uses to enumerate.

To route camera sensor data to host, the information of link
frequency and number of data lanes is sent to firmware by
sending MEI command when starting stream.

CSI also provides a privacy mode. When privacy mode is turned
on, camera sensor can't be used. This means that both IVSC and
host Image Processing Unit(IPU) can't get image data. And when
this mode is turned on, user is notified via v4l2 control
callback.

Link: https://lore.kernel.org/linux-media/20230803115550.1601965-2-sakari.ailus@linux.intel.com
Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
  • Loading branch information
Wentong Wu authored and Mauro Carvalho Chehab committed Aug 14, 2023
1 parent fed60fc commit 29006e1
Show file tree
Hide file tree
Showing 5 changed files with 845 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/media/pci/intel/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ config IPU_BRIDGE
dependencies, this is selected by each driver that needs it.

source "drivers/media/pci/intel/ipu3/Kconfig"
source "drivers/media/pci/intel/ivsc/Kconfig"
1 change: 1 addition & 0 deletions drivers/media/pci/intel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
#
obj-$(CONFIG_IPU_BRIDGE) += ipu-bridge.o
obj-y += ipu3/
obj-y += ivsc/
12 changes: 12 additions & 0 deletions drivers/media/pci/intel/ivsc/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2023, Intel Corporation. All rights reserved.

config INTEL_VSC
tristate "Intel Visual Sensing Controller"
depends on INTEL_MEI
help
This adds support for Intel Visual Sensing Controller (IVSC).

Enables the IVSC firmware services required for controlling
camera sensor ownership and CSI-2 link through Image Processing
Unit(IPU) driver of Intel.
6 changes: 6 additions & 0 deletions drivers/media/pci/intel/ivsc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2023, Intel Corporation. All rights reserved.

obj-$(CONFIG_INTEL_VSC) += ivsc-csi.o
ivsc-csi-y += mei_csi.o
Loading

0 comments on commit 29006e1

Please sign in to comment.