Skip to content

Commit

Permalink
media: platform: Add Synopsys DesignWare HDMI RX Controller Driver
Browse files Browse the repository at this point in the history
This is an initial submission for the Synopsys DesignWare HDMI RX
Controller Driver. It is responsible to manage and handle the PHY
(through the PHY API) and the Controller configurations in order
to configure the video and audio pipeline.

This driver is implemented as a standard V4L2 subdevice.
The main features of this module are:
 - Support for scrambling
 - Support for color depth up to 48bpp
 - Support for HDMI 2.0 modes up to 6G (HDMI 4k@60Hz)
 - Support for RGB, YCC444, YCC422 and YCC420
 - Support for basic audio (LPCM 2ch, 32KHz/44.1KHz/48KHz, 16bit)
 - Support for Aspect Ratio
 - Support for CEC
 - Internal state machine that reconfigures PHY and controller
 - JTAG communication with PHY
 - Inter-module communication with PHY driver:
   * through the PHY API using the PHY reference "hdmi-phy"
   * through the callbacks that PHY DWC driver needs.
 - Debug write/read ioctls.

Signed-off-by: Jose Abreu <jose.abreu@synopsys.com>
Signed-off-by: Nelson Costa <nelson.costa@synopsys.com>
  • Loading branch information
Nelson Costa authored and intel-lab-lkp committed May 22, 2021
1 parent 8b0da46 commit 2e7f186
Show file tree
Hide file tree
Showing 7 changed files with 3,855 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/media/platform/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ source "drivers/media/platform/cadence/Kconfig"

source "drivers/media/platform/davinci/Kconfig"

source "drivers/media/platform/dwc/Kconfig"

source "drivers/media/platform/omap/Kconfig"

config VIDEO_ASPEED
Expand Down
1 change: 1 addition & 0 deletions drivers/media/platform/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
obj-$(CONFIG_VIDEO_ALLEGRO_DVT) += allegro-dvt/
obj-$(CONFIG_VIDEO_ASPEED) += aspeed-video.o
obj-$(CONFIG_VIDEO_CADENCE) += cadence/
obj-y += dwc/
obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o
obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/
obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/
Expand Down
10 changes: 10 additions & 0 deletions drivers/media/platform/dwc/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
config VIDEO_DWC_HDMI_RX
tristate "Synopsys DesignWare HDMI Receiver driver"
depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
help
Support for Synopsys DesignWare HDMI RX Controller.
This driver supports HDMI 2.0 version.

To compile this driver as a module, choose M here. The module
will be called dw-hdmi-rx.
3 changes: 3 additions & 0 deletions drivers/media/platform/dwc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: GPL-2.0

obj-$(CONFIG_VIDEO_DWC_HDMI_RX) += dw-hdmi-rx.o

0 comments on commit 2e7f186

Please sign in to comment.