Synopsys Designware HDMI Video Capture Controller + PHY
Subsystems (3)
v8 cover Synopsys Designware HDMI Video Capture Controller + PHY
The Synopsys Designware HDMI RX controller is an HDMI receiver controller that is responsible to process digital data that comes from a phy. The final result is a stream of raw video data that can then be connected to a video DMA, for example, and transfered into RAM so that it can be displayed.
The controller + phy available in this series natively support all HDMI 1.4 and HDMI 2.0 modes, including deep color. Although, the driver is quite in its initial stage and unfortunatelly only non deep color modes are supported. Also, audio is not yet supported in the driver (the controller has several audio output interfaces).
Version 8 addresses review comments from Rob Herring regarding device tree bindings.
I also added one patch for cec.h which is needed to fix build errors/warnings.
This series depends on the patch at [1].
This series was tested in a FPGA platform using an embedded platform called ARC AXS101.
Jose Abreu (5):
[media] cec.h: Add stub function for cec_register_cec_notifier()
dt-bindings: media: Document Synopsys Designware HDMI RX
MAINTAINERS: Add entry for Synopsys Designware HDMI drivers [media] platform: Add Synopsys Designware HDMI RX PHY e405 Driver [media] platform: Add Synopsys Designware HDMI RX Controller Driver
[1] https://patchwork.linuxtv.org/patch/41834/
.../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 + MAINTAINERS | 7 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 2 + drivers/media/platform/dwc/Kconfig | 23 + drivers/media/platform/dwc/Makefile | 2 + drivers/media/platform/dwc/dw-hdmi-phy-e405.c | 844 +++++++++ drivers/media/platform/dwc/dw-hdmi-phy-e405.h | 63 + drivers/media/platform/dwc/dw-hdmi-rx.c | 1823 ++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-rx.h | 441 +++++ include/media/cec.h | 8 + include/media/dwc/dw-hdmi-phy-pdata.h | 128 ++ include/media/dwc/dw-hdmi-rx-pdata.h | 70 + 13 files changed, 3471 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt create mode 100644 drivers/media/platform/dwc/Kconfig create mode 100644 drivers/media/platform/dwc/Makefile create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.h create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.h create mode 100644 include/media/dwc/dw-hdmi-phy-pdata.h create mode 100644 include/media/dwc/dw-hdmi-rx-pdata.h
Signature · 1 line
1.9.1
PATCH v8 1/5 cec.h: Add stub function for cec_register_cec_notifier()
Add a new stub function for cec_register_cec_notifier() so that we can still call this function when CONFIG_CEC_NOTIFIER and CONFIG_CEC_CORE are not set.
--- include/media/cec.h | 8 ++++++++ 1 file changed, 8 insertions(+)
include/media/cec.h +8 -0
@@ -365,6 +365,14 @@ static inline int cec_phys_addr_validate(u16 phys_addr, u16 *parent, u16 *port) return 0; } +#ifndef CONFIG_CEC_NOTIFIER +struct cec_notifier ; +static inline void cec_register_cec_notifier (struct cec_adapter *adap, +struct cec_notifier *notifier) +{ +} +#endif +#endif /**
Signature · 1 line
1.9.1
Re: [PATCH v8 1/5] [media] cec.h: Add stub function for cec_register_cec_notifier()
Quoted 21 lines · Jose Abreu
Add a new stub function for
cec_register_cec_notifier()so that we can still call this function whenCONFIG_CEC_NOTIFIERandCONFIG_CEC_COREare not set.Signed-off-by Jose Abreu <[email protected]>Cc Carlos Palminha <[email protected]>Cc Hans Verkuil <[email protected]>--- include/media/cec.h | 8 ++++++++ 1 file changed, 8 insertions(+)include/media/cec.h +1
-0@@ -365,6 +365,14 @@ static inline int cec_phys_addr_validate(u16 phys_addr, u16 *parent, u16 *port)return 0 ; } +#ifndef CONFIG_CEC_NOTIFIER
include/media/cec.h static inline int cec_phys_addr_validate(u16 phys_addr, u16 *parent, u16 *port) · line 378
Quoted 10 lines
include/media/cec.h +7
-0+struct cec_notifier ; +static inline void cec_register_cec_notifier (struct cec_adapter *adap, +struct cec_notifier *notifier) +{ +} +#endif +#endif /**
This isn't quite right. This function prototype needs to be moved to cec-notifier.h.
I also saw that it isn't documented. I'll make a patch for this which will also include documentation.
Regards,
Hans
PATCH v8 2/5 dt-bindings: media: Document Synopsys Designware HDMI RX
In reply to Jose AbreuDocument the bindings for the Synopsys Designware HDMI RX.
Changes from v7:
- Remove SoC specific bindings (Rob)
Changes from v6:
- Document which properties are required/optional (Sylwester)
- Drop compatible string for SoC (Sylwester)
- Reword edid-phandle property (Sylwester)
- Typo fixes (Sylwester)
Changes from v4:
- Use "cfg" instead of "cfg-clk" (Rob)
- Change node names (Rob)
Changes from v3:
- Document the new DT bindings suggested by Sylwester
Changes from v2:
- Document edid-phandle property
--- .../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt
Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt new file +58 -0
@@ -0,0 +1,58 @@ +Synopsys DesignWare HDMI RX Decoder +=================================== + +This document defines device tree properties for the Synopsys DesignWare HDMI +RX Decoder (DWC HDMI RX). + +The properties bellow belong to the Synopsys DesignWare HDMI RX Decoder node. + +Required properties: + +- compatible: Shall be "snps,dw-hdmi-rx". +- reg: Memory mapped base address and length of the DWC HDMI RX registers. +- interrupts: Reference to the DWC HDMI RX interrupt and the HDMI 5V sense +interrupt. +- clocks: Reference to the config clock. +- clock-names: Shall be "cfg". +- #address-cells: Shall be 1. +- #size-cells: Shall be 0. + +Optional properties: + +- edid-phandle: Reference to the EDID handler block; if this property is not +specified it is assumed that EDID is handled by device described by parent +node of the HDMI RX node. You should not specify this property if your HDMI RX +controller does not have CEC. + +You also have to create a subnode for the PHY device. PHY node properties are +as follows. + +Required properties: + +- compatible: Shall be "snps,dw-hdmi-phy-e405". +- reg: Shall be the JTAG address of the PHY. +- clocks: Reference to the config clock. +- clock-names: Shall be "cfg". + +Example: + +hdmi_rx: hdmi-rx@0 { + compatible = "snps,dw-hdmi-rx"; + reg = <0x0 0x10000>; + interrupts = <1 2>; + edid-phandle = <&dw_hdmi_edid>; + + clocks = <&dw_hdmi_refclk>; + clock-names = "cfg"; + + #address-cells = <1>; + #size-cells = <0>; + + hdmi-phy@fc { + compatible = "snps,dw-hdmi-phy-e405"; + reg = <0xfc>; + + clocks = <&dw_hdmi_refclk>; + clock-names = "cfg"; + }; +};
Signature · 1 line
1.9.1
Re: [PATCH v8 2/5] dt-bindings: media: Document Synopsys Designware HDMI RX
Quoted 25 lines · Jose Abreu
Document the bindings for the Synopsys Designware HDMI RX.
Cc Carlos Palminha <palminha-HKixBCOQz3hWk0Htik3J/[email protected]>Cc Rob Herring <[email protected]>Cc Mark Rutland <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc Hans Verkuil <[email protected]>Cc Sylwester Nawrocki <[email protected]>Changes from v7:
- Remove SoC specific bindings (Rob)
Changes from v6:
- Document which properties are required/optional (Sylwester)
- Drop compatible string for SoC (Sylwester)
- Reword edid-phandle property (Sylwester)
- Typo fixes (Sylwester)
Changes from v4:
- Use "cfg" instead of "cfg-clk" (Rob)
- Change node names (Rob)
Changes from v3:
- Document the new DT bindings suggested by Sylwester
Changes from v2:
- Document edid-phandle property
Quoted 4 lines
--- .../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v8 3/5 MAINTAINERS: Add entry for Synopsys Designware HDMI drivers
In reply to Jose AbreuAdd a entry for Synopsys Designware HDMI Receivers drivers and phys.
--- MAINTAINERS | 7 +++++++ 1 file changed, 7 insertions(+)
MAINTAINERS +7 -0
@@ -11354,6 +11354,13 @@ L: [email protected] S: Supported F: drivers/net/ethernet/synopsys/ +SYNOPSYS DESIGNWARE HDMI RECEIVERS AND PHY DRIVERS +M: Jose Abreu <[email protected]> +L: [email protected] +S: Maintained +F: drivers/media/platform/dwc/* +F: include/media/dwc/* + SYNOPSYS DESIGNWARE I2C DRIVER M: Jarkko Nikula <[email protected]> R: Andy Shevchenko <[email protected]>
Signature · 1 line
1.9.1
PATCH v8 4/5 platform: Add Synopsys Designware HDMI RX PHY e405 Driver
In reply to Jose AbreuThis adds support for the Synopsys Designware HDMI RX PHY e405. This phy receives and decodes HDMI video that is delivered to a controller.
Main features included in this driver are:
- Equalizer algorithm that chooses the phy best settings according to the detected HDMI cable characteristics.
- Support for scrambling
- Support for HDMI 2.0 modes up to 6G (HDMI 4k@60Hz).
The driver was implemented as a standalone V4L2 subdevice and the phy interface with the controller was implemented using V4L2 ioctls. I do not know if this is the best option but it is not possible to use the existing API functions directly as we need specific functions that will be called by the controller at specific configuration stages.
There is also a bidirectional communication between controller and phy:
The phy must provide functions that the controller will call (i.e. configuration functions) and the controller must provide read/write callbacks, as well as other specific functions.
Changes from v4:
- Use usleep_range (Sylwester)
- Remove some comments (Sylwester)
- Parse phy version from of_device_id (Sylwester)
- Use "cfg" instead of "cfg-clk" (Sylwester, Rob)
- Change some messages to dev_dbg (Sylwester)
Changes from v3:
- Use v4l2 async API (Sylwester)
- Use clock API (Sylwester)
- Add compatible string (Sylwester)
Changes from RFC:
- Remove a bunch of functions that can be collapsed into a single config() function
- Add comments for the callbacks and structures (Hans)
--- drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 2 + drivers/media/platform/dwc/Kconfig | 8 + drivers/media/platform/dwc/Makefile | 1 + drivers/media/platform/dwc/dw-hdmi-phy-e405.c | 844 ++++++++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-phy-e405.h | 63 ++ include/media/dwc/dw-hdmi-phy-pdata.h | 128 ++++ 7 files changed, 1048 insertions(+) create mode 100644 drivers/media/platform/dwc/Kconfig create mode 100644 drivers/media/platform/dwc/Makefile create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.h create mode 100644 include/media/dwc/dw-hdmi-phy-pdata.h
drivers/media/platform/Kconfig +2 -0
@@ -33,6 +33,8 @@ source "drivers/media/platform/omap/Kconfig" source "drivers/media/platform/blackfin/Kconfig" +source "drivers/media/platform/dwc/Kconfig" + config VIDEO_SH_VOU tristate "SuperH VOU video output driver" depends on MEDIA_CAMERA_SUPPORT
drivers/media/platform/Makefile +2 -0
@@ -86,3 +86,5 @@ obj-$(CONFIG_VIDEO_MEDIATEK_MDP) += mtk-mdp/ obj-$(CONFIG_VIDEO_MEDIATEK_JPEG) += mtk-jpeg/ obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/ + +obj-y += dwc/
drivers/media/platform/dwc/Kconfig new file +8 -0
@@ -0,0 +1,8 @@ +config VIDEO_DWC_HDMI_PHY_E405 + tristate "Synopsys Designware HDMI RX PHY e405 driver" + depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + help + Support for Synopsys Designware HDMI RX PHY. Version is e405. + + To compile this driver as a module, choose M here. The module + will be called dw-hdmi-phy-e405.
drivers/media/platform/dwc/Makefile new file +1 -0
@@ -0,0 +1 @@ +obj-$(CONFIG_VIDEO_DWC_HDMI_PHY_E405) += dw-hdmi-phy-e405.o
drivers/media/platform/dwc/dw-hdmi-phy-e405.c new file +844 -0
844 lines not on this page · raw message
drivers/media/platform/dwc/dw-hdmi-phy-e405.h new file +63 -0
63 lines not on this page · raw message
include/media/dwc/dw-hdmi-phy-pdata.h new file +128 -0
128 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v8 5/5 platform: Add Synopsys Designware HDMI RX Controller Driver
In reply to Jose AbreuThis is an initial submission for the Synopsys Designware HDMI RX Controller Driver. This driver interacts with a phy driver so that a communication between them is created and a video pipeline is configured.
The controller + phy pipeline can then be integrated into a fully featured system that can be able to receive video up to 4k@60Hz with deep color 48bit RGB, depending on the platform. Although, this initial version does not yet handle deep color modes.
This driver was implemented as a standard V4L2 subdevice and its main features are:
- Internal state machine that reconfigures phy until the video is not stable
- JTAG communication with phy
- Inter-module communication with phy driver
- Debug write/read ioctls
Some notes:
- RX sense controller (cable connection/disconnection) must be handled by the platform wrapper as this is not integrated into the controller RTL
- The same goes for EDID ROM's
- ZCAL calibration is needed only in FPGA platforms, in ASIC this is not needed
- The state machine is not an ideal solution as it creates a kthread but it is needed because some sources might not be very stable at sending the video (i.e. we must react accordingly).
Changes from v6:
- edid-phandle now also looks for parent node (Sylwester)
- Fix kbuild build warnings
Changes from v5:
- Removed HDCP 1.4 support (Hans)
- Removed some CEC debug messages (Hans)
- Add s_dv_timings callback (Hans)
- Add V4L2_CID_DV_RX_POWER_PRESENT ctrl (Hans)
Changes from v4:
- Add flag V4L2_SUBDEV_FL_HAS_DEVNODE (Sylwester)
- Remove some comments and change some messages to dev_dbg (Sylwester)
- Use v4l2_async_subnotifier_register() (Sylwester)
Changes from v3:
- Use v4l2 async API (Sylwester)
- Do not block waiting for phy
- Do not use busy waiting delays (Sylwester)
- Simplify dw_hdmi_power_on (Sylwester)
- Use clock API (Sylwester)
- Use compatible string (Sylwester)
- Minor fixes (Sylwester)
Changes from v2:
- Address review comments from Hans regarding CEC
- Use CEC notifier
- Enable SCDC
Changes from v1:
- Add support for CEC
- Correct typo errors
- Correctly detect interlaced video modes
- Correct VIC parsing
Changes from RFC:
- Add support for HDCP 1.4
- Fixup HDMI_VIC not being parsed (Hans)
- Send source change signal when powering off (Hans)
- Add a "wait stable delay"
- Detect interlaced video modes (Hans)
- Restrain g/s_register from reading/writing to HDCP regs (Hans)
--- drivers/media/platform/dwc/Kconfig | 15 + drivers/media/platform/dwc/Makefile | 1 + drivers/media/platform/dwc/dw-hdmi-rx.c | 1823 +++++++++++++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-rx.h | 441 ++++++++ include/media/dwc/dw-hdmi-rx-pdata.h | 70 ++ 5 files changed, 2350 insertions(+) create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.h create mode 100644 include/media/dwc/dw-hdmi-rx-pdata.h
drivers/media/platform/dwc/Kconfig +15 -0
@@ -6,3 +6,18 @@ config VIDEO_DWC_HDMI_PHY_E405 To compile this driver as a module, choose M here. The module will be called dw-hdmi-phy-e405. + +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. + + To compile this driver as a module, choose M here. The module + will be called dw-hdmi-rx. + +config VIDEO_DWC_HDMI_RX_CEC + bool + depends on VIDEO_DWC_HDMI_RX + select CEC_CORE + select CEC_NOTIFIER
drivers/media/platform/dwc/Makefile +1 -0
@@ -1 +1,2 @@ obj-$(CONFIG_VIDEO_DWC_HDMI_PHY_E405) += dw-hdmi-phy-e405.o +obj-$(CONFIG_VIDEO_DWC_HDMI_RX) += dw-hdmi-rx.o
drivers/media/platform/dwc/dw-hdmi-rx.c new file +1823 -0
1,823 lines not on this page · raw message
drivers/media/platform/dwc/dw-hdmi-rx.h new file +441 -0
441 lines not on this page · raw message
include/media/dwc/dw-hdmi-rx-pdata.h new file +70 -0
70 lines not on this page · raw message
Signature · 1 line
1.9.1
kbuild test robot
build botRe: [PATCH v8 5/5] [media] platform: Add Synopsys Designware HDMI RX Controller Driver
reproduce:
Hi Jose,
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.13-rc1 next-20170714]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Jose-Abreu/Synopsys-Designware-HDMI-Video-Capture-Controller-PHY/20170711-092521 base: git://linuxtv.org/media_tree.git master config: i386-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386
All errors (new ones prefixed by >>):
drivers/media/platform/dwc/dw-hdmi-rx.c: In function 'dw_hdmi_registered':
>> drivers/media/platform/dwc/dw-hdmi-rx.c:1452:9: error: implicit declaration of function 'v4l2_async_subnotifier_register' [-Werror=implicit-function-declaration]
return v4l2_async_subnotifier_register(&dw_dev->sd,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/dwc/dw-hdmi-rx.c: In function 'dw_hdmi_unregistered':
>> drivers/media/platform/dwc/dw-hdmi-rx.c:1462:2: error: implicit declaration of function 'v4l2_async_subnotifier_unregister' [-Werror=implicit-function-declaration]
v4l2_async_subnotifier_unregister(&dw_dev->v4l2_notifier);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cc1: some warnings being treated as errors
vim +/v4l2_async_subnotifier_register +1452 drivers/media/platform/dwc/dw-hdmi-rx.c
1436
1437 static int dw_hdmi_registered(struct v4l2_subdev *sd)
1438 {
1439 struct dw_hdmi_dev *dw_dev = to_dw_dev(sd);
1440 int ret;
1441
1442 ret = cec_register_adapter(dw_dev->cec_adap, dw_dev->dev);
1443 if (ret) {
1444 dev_err(dw_dev->dev, "failed to register CEC adapter\n");
1445 cec_delete_adapter(dw_dev->cec_adap);
1446 return ret;
1447 }
1448
1449 cec_register_cec_notifier(dw_dev->cec_adap, dw_dev->cec_notifier);
1450 dw_dev->registered = true;
1451
> 1452 return v4l2_async_subnotifier_register(&dw_dev->sd,
1453 &dw_dev->v4l2_notifier);
1454 }
1455
1456 static void dw_hdmi_unregistered(struct v4l2_subdev *sd)
1457 {
1458 struct dw_hdmi_dev *dw_dev = to_dw_dev(sd);
1459
1460 cec_unregister_adapter(dw_dev->cec_adap);
1461 cec_notifier_put(dw_dev->cec_notifier);
> 1462 v4l2_async_subnotifier_unregister(&dw_dev->v4l2_notifier); 1463 }
1464
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Jose,
I'm going to mark this patch series as 'Changes Requested' since it depends on Sakari's subnotifier work. Once that is accepted I assume you'll make a v9 on top and then this can hopefully be merged.
Regards,
Hans
Quoted 61 lines · Jose Abreu
The Synopsys Designware HDMI RX controller is an HDMI receiver controller that is responsible to process digital data that comes from a phy. The final result is a stream of raw video data that can then be connected to a video DMA, for example, and transfered into RAM so that it can be displayed.
The controller + phy available in this series natively support all HDMI 1.4 and HDMI 2.0 modes, including deep color. Although, the driver is quite in its initial stage and unfortunatelly only non deep color modes are supported. Also, audio is not yet supported in the driver (the controller has several audio output interfaces).
Version 8 addresses review comments from Rob Herring regarding device tree bindings.
I also added one patch for
cec.hwhich is needed to fix build errors/warnings.This series depends on the patch at [1].
This series was tested in a FPGA platform using an embedded platform called ARC AXS101.
Jose Abreu (5):
[media]cec.h: Add stub function forcec_register_cec_notifier()
dt-bindings: media: Document Synopsys Designware HDMI RX
MAINTAINERS: Add entry for Synopsys Designware HDMI drivers [media] platform: Add Synopsys Designware HDMI RX PHY e405 Driver [media] platform: Add Synopsys Designware HDMI RX Controller DriverCc Carlos Palminha <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc Hans Verkuil <[email protected]>Cc Rob Herring <[email protected]>Cc Mark Rutland <[email protected]>Cc Sylwester Nawrocki <[email protected]>[1] https://patchwork.linuxtv.org/patch/41834/
.../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 + MAINTAINERS | 7 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 2 + drivers/media/platform/dwc/Kconfig | 23 + drivers/media/platform/dwc/Makefile | 2 + drivers/media/platform/dwc/dw-hdmi-phy-e405.c | 844 +++++++++ drivers/media/platform/dwc/dw-hdmi-phy-e405.h | 63 + drivers/media/platform/dwc/dw-hdmi-rx.c | 1823 ++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-rx.h | 441 +++++ include/media/cec.h | 8 + include/media/dwc/dw-hdmi-phy-pdata.h | 128 ++ include/media/dwc/dw-hdmi-rx-pdata.h | 70 + 13 files changed, 3471 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt create mode 100644 drivers/media/platform/dwc/Kconfig create mode 100644 drivers/media/platform/dwc/Makefile create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.h create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.h create mode 100644 include/media/dwc/dw-hdmi-phy-pdata.h create mode 100644 include/media/dwc/dw-hdmi-rx-pdata.h
Hi Jose,
Sakari's work was merged. Can you make a v9? Then we can merge this for 4.16.
Thanks!
Hans
Quoted 73 lines · Hans Verkuil
Hi Jose,
I'm going to mark this patch series as 'Changes Requested' since it depends on Sakari's subnotifier work. Once that is accepted I assume you'll make a v9 on top and then this can hopefully be merged.
Regards,
Hans
Quoted 61 lines · Jose Abreu
The Synopsys Designware HDMI RX controller is an HDMI receiver controller that is responsible to process digital data that comes from a phy. The final result is a stream of raw video data that can then be connected to a video DMA, for example, and transfered into RAM so that it can be displayed.
The controller + phy available in this series natively support all HDMI 1.4 and HDMI 2.0 modes, including deep color. Although, the driver is quite in its initial stage and unfortunatelly only non deep color modes are supported. Also, audio is not yet supported in the driver (the controller has several audio output interfaces).
Version 8 addresses review comments from Rob Herring regarding device tree bindings.
I also added one patch for
cec.hwhich is needed to fix build errors/warnings.This series depends on the patch at [1].
This series was tested in a FPGA platform using an embedded platform called ARC AXS101.
Jose Abreu (5):
[media]cec.h: Add stub function forcec_register_cec_notifier()
dt-bindings: media: Document Synopsys Designware HDMI RX
MAINTAINERS: Add entry for Synopsys Designware HDMI drivers [media] platform: Add Synopsys Designware HDMI RX PHY e405 Driver [media] platform: Add Synopsys Designware HDMI RX Controller DriverCc Carlos Palminha <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc Hans Verkuil <[email protected]>Cc Rob Herring <[email protected]>Cc Mark Rutland <[email protected]>Cc Sylwester Nawrocki <[email protected]>[1] https://patchwork.linuxtv.org/patch/41834/
.../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 + MAINTAINERS | 7 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 2 + drivers/media/platform/dwc/Kconfig | 23 + drivers/media/platform/dwc/Makefile | 2 + drivers/media/platform/dwc/dw-hdmi-phy-e405.c | 844 +++++++++ drivers/media/platform/dwc/dw-hdmi-phy-e405.h | 63 + drivers/media/platform/dwc/dw-hdmi-rx.c | 1823 ++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-rx.h | 441 +++++ include/media/cec.h | 8 + include/media/dwc/dw-hdmi-phy-pdata.h | 128 ++ include/media/dwc/dw-hdmi-rx-pdata.h | 70 + 13 files changed, 3471 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt create mode 100644 drivers/media/platform/dwc/Kconfig create mode 100644 drivers/media/platform/dwc/Makefile create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.h create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.h create mode 100644 include/media/dwc/dw-hdmi-phy-pdata.h create mode 100644 include/media/dwc/dw-hdmi-rx-pdata.h
Hi Hans,
Quoted 3 lines · Hans Verkuil
Hi Jose,
Sakari's work was merged. Can you make a v9? Then we can merge this for 4.16.
Yeah, I saw that. Unfortunately due to my schedule I don't have the time now to make a v9. I will try to make a new version once possible but I don't know if it will be ready for v4.16 ( and we also need to consider review time ).
Best Regards,
Jose Miguel Abreu
Quoted 78 lines
Thanks!
Hans
Quoted 72 lines · Hans Verkuil
Hi Jose,
I'm going to mark this patch series as 'Changes Requested' since it depends on Sakari's subnotifier work. Once that is accepted I assume you'll make a v9 on top and then this can hopefully be merged.
Regards,
Hans
Quoted 61 lines · Jose Abreu
The Synopsys Designware HDMI RX controller is an HDMI receiver controller that is responsible to process digital data that comes from a phy. The final result is a stream of raw video data that can then be connected to a video DMA, for example, and transfered into RAM so that it can be displayed.
The controller + phy available in this series natively support all HDMI 1.4 and HDMI 2.0 modes, including deep color. Although, the driver is quite in its initial stage and unfortunatelly only non deep color modes are supported. Also, audio is not yet supported in the driver (the controller has several audio output interfaces).
Version 8 addresses review comments from Rob Herring regarding device tree bindings.
I also added one patch for
cec.hwhich is needed to fix build errors/warnings.This series depends on the patch at [1].
This series was tested in a FPGA platform using an embedded platform called ARC AXS101.
Jose Abreu (5):
[media]cec.h: Add stub function forcec_register_cec_notifier()
dt-bindings: media: Document Synopsys Designware HDMI RX
MAINTAINERS: Add entry for Synopsys Designware HDMI drivers [media] platform: Add Synopsys Designware HDMI RX PHY e405 Driver [media] platform: Add Synopsys Designware HDMI RX Controller DriverCc Carlos Palminha <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc Hans Verkuil <[email protected]>Cc Rob Herring <[email protected]>Cc Mark Rutland <[email protected]>Cc Sylwester Nawrocki <[email protected]>.../devicetree/bindings/media/snps,dw-hdmi-rx.txt | 58 + MAINTAINERS | 7 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 2 + drivers/media/platform/dwc/Kconfig | 23 + drivers/media/platform/dwc/Makefile | 2 + drivers/media/platform/dwc/dw-hdmi-phy-e405.c | 844 +++++++++ drivers/media/platform/dwc/dw-hdmi-phy-e405.h | 63 + drivers/media/platform/dwc/dw-hdmi-rx.c | 1823 ++++++++++++++++++++ drivers/media/platform/dwc/dw-hdmi-rx.h | 441 +++++ include/media/cec.h | 8 + include/media/dwc/dw-hdmi-phy-pdata.h | 128 ++ include/media/dwc/dw-hdmi-rx-pdata.h | 70 + 13 files changed, 3471 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/snps,dw-hdmi-rx.txt create mode 100644 drivers/media/platform/dwc/Kconfig create mode 100644 drivers/media/platform/dwc/Makefile create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-phy-e405.h create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.c create mode 100644 drivers/media/platform/dwc/dw-hdmi-rx.h create mode 100644 include/media/dwc/dw-hdmi-phy-pdata.h create mode 100644 include/media/dwc/dw-hdmi-rx-pdata.h