media: i2c: add DS90UB960 driver

Add driver for TI DS90UB960 FPD-Link III Deserializer.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Tomi Valkeinen 2023-06-19 14:22:10 +02:00 committed by Mauro Carvalho Chehab
parent 313e8b32c6
commit afe267f2d3
5 changed files with 4103 additions and 0 deletions

View File

@ -21330,6 +21330,14 @@ F: drivers/misc/tifm*
F: drivers/mmc/host/tifm_sd.c
F: include/linux/tifm.h
TI FPD-LINK DRIVERS
M: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/media/i2c/ti,ds90*
F: drivers/media/i2c/ds90*
F: include/media/i2c/ds90*
TI KEYSTONE MULTICORE NAVIGATOR DRIVERS
M: Nishanth Menon <nm@ti.com>
M: Santosh Shilimkar <ssantosh@kernel.org>

View File

@ -1625,4 +1625,25 @@ config VIDEO_THS7303
endmenu
#
# Video serializers and deserializers (e.g. FPD-Link)
#
menu "Video serializers and deserializers"
config VIDEO_DS90UB960
tristate "TI FPD-Link III/IV Deserializers"
depends on OF && I2C && VIDEO_DEV && COMMON_CLK
select I2C_ATR
select MEDIA_CONTROLLER
select GPIOLIB
select REGMAP_I2C
select V4L2_FWNODE
select VIDEO_V4L2_SUBDEV_API
help
Device driver for the Texas Instruments DS90UB960
FPD-Link III Deserializer and DS90UB9702 FPD-Link IV Deserializer.
endmenu
endif # VIDEO_DEV

View File

@ -28,6 +28,7 @@ obj-$(CONFIG_VIDEO_CS3308) += cs3308.o
obj-$(CONFIG_VIDEO_CS5345) += cs5345.o
obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o
obj-$(CONFIG_VIDEO_CX25840) += cx25840/
obj-$(CONFIG_VIDEO_DS90UB960) += ds90ub960.o
obj-$(CONFIG_VIDEO_DW9714) += dw9714.o
obj-$(CONFIG_VIDEO_DW9768) += dw9768.o
obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __MEDIA_I2C_DS90UB9XX_H__
#define __MEDIA_I2C_DS90UB9XX_H__
#include <linux/types.h>
struct i2c_atr;
/**
* struct ds90ub9xx_platform_data - platform data for FPD-Link Serializers.
* @port: Deserializer RX port for this Serializer
* @atr: I2C ATR
* @bc_rate: back-channel clock rate
*/
struct ds90ub9xx_platform_data {
u32 port;
struct i2c_atr *atr;
unsigned long bc_rate;
};
#endif /* __MEDIA_I2C_DS90UB9XX_H__ */