提交 149abf58 编写于 作者: M Markus Proeller 提交者: Zheng Zengkai

media: i2c: Add a driver for the Infineon IRS1125 depth sensor

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

The Infineon IRS1125 is a time of flight depth sensor that
has a CSI-2 interface.

Add a V4L2 subdevice driver for this device.
Signed-off-by: NMarkus Proeller <markus.proeller@pieye.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 56914256
...@@ -1060,6 +1060,18 @@ config VIDEO_OV13858 ...@@ -1060,6 +1060,18 @@ config VIDEO_OV13858
This is a Video4Linux2 sensor driver for the OmniVision This is a Video4Linux2 sensor driver for the OmniVision
OV13858 camera. OV13858 camera.
config VIDEO_IRS1125
tristate "Infineon IRS1125 sensor support"
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
depends on MEDIA_CAMERA_SUPPORT
select V4L2_FWNODE
help
This is a Video4Linux2 sensor-level driver for the Infineon
IRS1125 camera.
To compile this driver as a module, choose M here: the
module will be called irs1125.
config VIDEO_VS6624 config VIDEO_VS6624
tristate "ST VS6624 sensor support" tristate "ST VS6624 sensor support"
depends on VIDEO_V4L2 && I2C depends on VIDEO_V4L2 && I2C
......
...@@ -84,6 +84,7 @@ obj-$(CONFIG_VIDEO_OV8856) += ov8856.o ...@@ -84,6 +84,7 @@ obj-$(CONFIG_VIDEO_OV8856) += ov8856.o
obj-$(CONFIG_VIDEO_OV9640) += ov9640.o obj-$(CONFIG_VIDEO_OV9640) += ov9640.o
obj-$(CONFIG_VIDEO_OV9650) += ov9650.o obj-$(CONFIG_VIDEO_OV9650) += ov9650.o
obj-$(CONFIG_VIDEO_OV13858) += ov13858.o obj-$(CONFIG_VIDEO_OV13858) += ov13858.o
obj-$(CONFIG_VIDEO_IRS1125) += irs1125.o
obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o
obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o
obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o
......
此差异已折叠。
/* SPDX-License-Identifier: GPL-2.0 */
/*
* A V4L2 driver for Infineon IRS1125 TOF cameras.
* Copyright (C) 2018, pieye GmbH
*
* Based on V4L2 OmniVision OV5647 Image Sensor driver
* Copyright (C) 2016 Ramiro Oliveira <roliveir@synopsys.com>
*
* DT / fwnode changes, and GPIO control taken from ov5640.c
* Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
* Copyright (C) 2014-2017 Mentor Graphics Inc.
*
*/
#ifndef IRS1125_H
#define IRS1125_H
#include <linux/v4l2-controls.h>
#include <linux/types.h>
#define IRS1125_NUM_SEQ_ENTRIES 20
#define IRS1125_NUM_MOD_PLLS 4
#define IRS1125_CID_CUSTOM_BASE (V4L2_CID_USER_BASE | 0xf000)
#define IRS1125_CID_SAFE_RECONFIG (IRS1125_CID_CUSTOM_BASE + 0)
#define IRS1125_CID_CONTINUOUS_TRIG (IRS1125_CID_CUSTOM_BASE + 1)
#define IRS1125_CID_TRIGGER (IRS1125_CID_CUSTOM_BASE + 2)
#define IRS1125_CID_RECONFIG (IRS1125_CID_CUSTOM_BASE + 3)
#define IRS1125_CID_ILLU_ON (IRS1125_CID_CUSTOM_BASE + 4)
#define IRS1125_CID_NUM_SEQS (IRS1125_CID_CUSTOM_BASE + 5)
#define IRS1125_CID_MOD_PLL (IRS1125_CID_CUSTOM_BASE + 6)
#define IRS1125_CID_SEQ_CONFIG (IRS1125_CID_CUSTOM_BASE + 7)
#define IRS1125_CID_IDENT0 (IRS1125_CID_CUSTOM_BASE + 8)
#define IRS1125_CID_IDENT1 (IRS1125_CID_CUSTOM_BASE + 9)
#define IRS1125_CID_IDENT2 (IRS1125_CID_CUSTOM_BASE + 10)
struct irs1125_seq_cfg {
__u16 exposure;
__u16 framerate;
__u16 ps;
__u16 pll;
};
struct irs1125_illu {
__u16 exposure;
__u16 framerate;
};
struct irs1125_mod_pll {
__u16 pllcfg1;
__u16 pllcfg2;
__u16 pllcfg3;
__u16 pllcfg4;
__u16 pllcfg5;
__u16 pllcfg6;
__u16 pllcfg7;
__u16 pllcfg8;
};
#endif /* IRS1125 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册