Skip to content

Commit 7b59b13

Browse files
Shreeya Patelhverkuil
authored andcommitted
media: platform: synopsys: Add support for HDMI input driver
Add initial support for the Synopsys DesignWare HDMI RX Controller Driver used by Rockchip RK3588. The driver supports: - HDMI 1.4b and 2.0 modes (HDMI 4k@60Hz) - RGB888, YUV422, YUV444 and YCC420 pixel formats - CEC - EDID configuration The hardware also has Audio and HDCP capabilities, but these are not yet supported by the driver. Co-developed-by: Dingxian Wen <shawn.wen@rock-chips.com> Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com> Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
1 parent 9436332 commit 7b59b13

10 files changed

Lines changed: 3508 additions & 0 deletions

File tree

drivers/media/platform/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ source "drivers/media/platform/rockchip/Kconfig"
8585
source "drivers/media/platform/samsung/Kconfig"
8686
source "drivers/media/platform/st/Kconfig"
8787
source "drivers/media/platform/sunxi/Kconfig"
88+
source "drivers/media/platform/synopsys/Kconfig"
8889
source "drivers/media/platform/ti/Kconfig"
8990
source "drivers/media/platform/verisilicon/Kconfig"
9091
source "drivers/media/platform/via/Kconfig"

drivers/media/platform/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ obj-y += rockchip/
2828
obj-y += samsung/
2929
obj-y += st/
3030
obj-y += sunxi/
31+
obj-y += synopsys/
3132
obj-y += ti/
3233
obj-y += verisilicon/
3334
obj-y += via/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
3+
source "drivers/media/platform/synopsys/hdmirx/Kconfig"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
obj-y += hdmirx/
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
config VIDEO_SYNOPSYS_HDMIRX
4+
tristate "Synopsys DesignWare HDMI Receiver driver"
5+
depends on VIDEO_DEV
6+
select MEDIA_CONTROLLER
7+
select VIDEO_V4L2_SUBDEV_API
8+
select VIDEOBUF2_DMA_CONTIG
9+
select CEC_CORE
10+
select HDMI
11+
help
12+
Support for Synopsys HDMI HDMI RX Controller.
13+
This driver supports HDMI 2.0 version.
14+
15+
To compile this driver as a module, choose M here. The module
16+
will be called synopsys_hdmirx.
17+
18+
config VIDEO_SYNOPSYS_HDMIRX_LOAD_DEFAULT_EDID
19+
bool "Load default EDID"
20+
depends on VIDEO_SYNOPSYS_HDMIRX
21+
help
22+
Preload default EDID (Extended Display Identification Data)
23+
branded by Linux Foundation that exposes display modes up
24+
to 4k@30Hz, which have best compatibility with HDMI transmitters.
25+
26+
Enabling this option is recommended for a non-production use-cases.
27+
It will make driver usable out-of-the-box.
28+
29+
For a higher display modes you will need to load customized EDID
30+
from userspace using v4l2-ctl tool or by other means.
31+
32+
Without enabling this option driver will be practically
33+
non-functional until EDID will be loaded from userspace.
34+
Which is a wanted behavior when using this driver in a
35+
commercial product that should utilize own branded EDID.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
synopsys-hdmirx-objs := snps_hdmirx.o snps_hdmirx_cec.o
3+
4+
obj-$(CONFIG_VIDEO_SYNOPSYS_HDMIRX) += synopsys-hdmirx.o

0 commit comments

Comments
 (0)