mei: Add transport driver for IVSC device
authorWentong Wu <wentong.wu@intel.com>
Mon, 4 Dec 2023 00:55:43 +0000 (08:55 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Dec 2023 02:41:40 +0000 (11:41 +0900)
commit566f5ca9768075e453b7b51a397733968df4287d
treead7df0afc0df0cfeec050cdd89a5ed55bb350b0f
parent5dac2a98f6542ae1ce78b702374ea4be3f5ee07d
mei: Add transport driver for IVSC device

The Intel visual sensing controller (IVSC) device is designed to control
the camera sharing between host IPU for media usage and IVSC for context
sensing (face detection).

IVSC is exposed to HOST as an SPI device and the message protocol over
the SPI BUS for communicating with the IVSC device is implemented. This
is the backend of mei framework for IVSC device, which usually handles
the hardware data transfer. The mei_csi and mei_ace are the clients of
IVSC mei framework.

The firmware downloading for the IVSC device is implemented as well.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Hao Yao <hao.yao@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/1701651344-20723-2-git-send-email-wentong.wu@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/Kconfig
drivers/misc/mei/Makefile
drivers/misc/mei/vsc-fw-loader.c [new file with mode: 0644]
drivers/misc/mei/vsc-tp.c [new file with mode: 0644]
drivers/misc/mei/vsc-tp.h [new file with mode: 0644]