media: pci: intel: ivsc: Add CSI submodule
authorWentong Wu <wentong.wu@intel.com>
Sat, 8 Jul 2023 14:52:14 +0000 (16:52 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 14 Aug 2023 18:26:06 +0000 (20:26 +0200)
commit29006e196a5661d9afc8152fa2bf8a5347ac17b4
treea3eaee6eadfb00ed102b5ef4effbd7c8c414a0e0
parentfed60fc552c8ea85b1315175cac2125bfda7261b
media: pci: intel: ivsc: Add CSI submodule

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>
drivers/media/pci/intel/Kconfig
drivers/media/pci/intel/Makefile
drivers/media/pci/intel/ivsc/Kconfig [new file with mode: 0644]
drivers/media/pci/intel/ivsc/Makefile [new file with mode: 0644]
drivers/media/pci/intel/ivsc/mei_csi.c [new file with mode: 0644]