mirror of
https://github.com/torvalds/linux.git
synced 2026-11-10 17:11:02 +01:00
media: i2c: add driver for ITE IT6625/IT6626
Add a V4L2 subdevice driver for the ITE IT6625/IT6626 HDMI-to-MIPI CSI-2 bridge chips. IT6625 accepts an HDMI 2.0 input and IT6626 an HDMI 2.1 input, converting it to a D-PHY (or C/D-PHY on IT6626) MIPI CSI-2 output. The bridge is configured over I2C, exposes an HDMI CEC adapter, and supports EDID read/write, DV timings detection/configuration, and HPD control via the standard V4L2 subdevice pad and video ops. Signed-off-by: Hermes Wu <Hermes.wu@ite.com.tw> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org> [hverkuil: change it6625_v4l2_sd_ctrl_update to a void function]
This commit is contained in:
parent
cee2619b01
commit
142e5f00bd
|
|
@ -13965,6 +13965,14 @@ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
|
||||||
F: Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
|
F: Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
|
||||||
F: drivers/gpu/drm/bridge/ite-it66121.c
|
F: drivers/gpu/drm/bridge/ite-it66121.c
|
||||||
|
|
||||||
|
ITE IT6625 HDMI to MIPI MEDIA DRIVER
|
||||||
|
M: Hermes Wu <Hermes.Wu@ite.com.tw>
|
||||||
|
S: Maintained
|
||||||
|
T: git git://linuxtv.org/media.git
|
||||||
|
F: Documentation/devicetree/bindings/media/i2c/ite,it6625.yaml
|
||||||
|
F: drivers/media/i2c/it6625.c
|
||||||
|
F: include/uapi/linux/it6625.h
|
||||||
|
|
||||||
IVTV VIDEO4LINUX DRIVER
|
IVTV VIDEO4LINUX DRIVER
|
||||||
M: Andy Walls <awalls@md.metrocast.net>
|
M: Andy Walls <awalls@md.metrocast.net>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
|
|
|
||||||
|
|
@ -1322,6 +1322,24 @@ config VIDEO_ISL7998X
|
||||||
Support for Intersil ISL7998x analog to MIPI-CSI2 or
|
Support for Intersil ISL7998x analog to MIPI-CSI2 or
|
||||||
BT.656 decoder.
|
BT.656 decoder.
|
||||||
|
|
||||||
|
config VIDEO_IT6625
|
||||||
|
tristate "IT6625 HDMI to MIPI CSI bridge"
|
||||||
|
depends on VIDEO_DEV && I2C
|
||||||
|
depends on OF
|
||||||
|
select CEC_CORE
|
||||||
|
select MEDIA_CONTROLLER
|
||||||
|
select REGMAP_I2C
|
||||||
|
select V4L2_FWNODE
|
||||||
|
select VIDEO_V4L2_SUBDEV_API
|
||||||
|
help
|
||||||
|
V4L2 subdevice driver for the ITE IT6625/IT6626 HDMI to MIPI
|
||||||
|
CSI-2 bridge chips. IT6625 accepts an HDMI 2.0 input and
|
||||||
|
IT6626 an HDMI 2.1 input, converting it to a MIPI CSI-2
|
||||||
|
output. The driver also exposes an HDMI CEC adapter.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here: the
|
||||||
|
module will be called it6625.
|
||||||
|
|
||||||
config VIDEO_LT6911UXE
|
config VIDEO_LT6911UXE
|
||||||
tristate "Lontium LT6911UXE decoder"
|
tristate "Lontium LT6911UXE decoder"
|
||||||
depends on ACPI && VIDEO_DEV && I2C
|
depends on ACPI && VIDEO_DEV && I2C
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ obj-$(CONFIG_VIDEO_IMX678) += imx678.o
|
||||||
obj-$(CONFIG_VIDEO_IMX471) += imx471.o
|
obj-$(CONFIG_VIDEO_IMX471) += imx471.o
|
||||||
obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o
|
obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o
|
||||||
obj-$(CONFIG_VIDEO_ISL7998X) += isl7998x.o
|
obj-$(CONFIG_VIDEO_ISL7998X) += isl7998x.o
|
||||||
|
obj-$(CONFIG_VIDEO_IT6625) += it6625.o
|
||||||
obj-$(CONFIG_VIDEO_KS0127) += ks0127.o
|
obj-$(CONFIG_VIDEO_KS0127) += ks0127.o
|
||||||
obj-$(CONFIG_VIDEO_LM3560) += lm3560.o
|
obj-$(CONFIG_VIDEO_LM3560) += lm3560.o
|
||||||
obj-$(CONFIG_VIDEO_LM3646) += lm3646.o
|
obj-$(CONFIG_VIDEO_LM3646) += lm3646.o
|
||||||
|
|
|
||||||
2390
drivers/media/i2c/it6625.c
Normal file
2390
drivers/media/i2c/it6625.c
Normal file
File diff suppressed because it is too large
Load Diff
25
include/uapi/linux/it6625.h
Normal file
25
include/uapi/linux/it6625.h
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||||
|
/*
|
||||||
|
* Controls header for IT6625/IT6626 driver
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _UAPI_LINUX_IT6625_H
|
||||||
|
#define _UAPI_LINUX_IT6625_H
|
||||||
|
|
||||||
|
#include <linux/v4l2-controls.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Currently detected HDMI audio sampling rate, in Hz. Read-only.
|
||||||
|
* 0 means the rate is unavailable/unknown: no audio is currently
|
||||||
|
* present on the input, the hardware reported a sample-rate id this
|
||||||
|
* driver doesn't recognize, or the status read itself failed. Never a
|
||||||
|
* literal 0 Hz sample rate.
|
||||||
|
*/
|
||||||
|
#define V4L2_CID_IT6625_AUDIO_SAMPLING_RATE (V4L2_CID_USER_IT6625_BASE + 0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Whether HDMI audio is currently present on the input. Read-only.
|
||||||
|
*/
|
||||||
|
#define V4L2_CID_IT6625_AUDIO_PRESENT (V4L2_CID_USER_IT6625_BASE + 1)
|
||||||
|
|
||||||
|
#endif /* _UAPI_LINUX_IT6625_H */
|
||||||
|
|
@ -240,6 +240,12 @@ enum v4l2_colorfx {
|
||||||
*/
|
*/
|
||||||
#define V4L2_CID_USER_DCMIPP_BASE (V4L2_CID_USER_BASE + 0x1240)
|
#define V4L2_CID_USER_DCMIPP_BASE (V4L2_CID_USER_BASE + 0x1240)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The base for IT6625/IT6626 driver controls.
|
||||||
|
* We reserve 16 controls for this driver.
|
||||||
|
*/
|
||||||
|
#define V4L2_CID_USER_IT6625_BASE (V4L2_CID_USER_BASE + 0x1250)
|
||||||
|
|
||||||
/* MPEG-class control IDs */
|
/* MPEG-class control IDs */
|
||||||
/* The MPEG controls are applicable to all codec controls
|
/* The MPEG controls are applicable to all codec controls
|
||||||
* and the 'MPEG' part of the define is historical */
|
* and the 'MPEG' part of the define is historical */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user