Hello, This patch series refactors all the PHY handling code in order to allow support of vendor PHYs and Synopsys DWC HDMI 2.0 TX PHYs. The series starts with a few cleanups and small fixes. Patch 01/10 just removes unused code, patch 02/10 moves the color converter code out of the PHY configure function as it isn't PHY-dependent, and patch 03/10 enables color conversion even for DVI as it is needed to output RGB when the input format is YUV. The next two patches fix the power down (04/10) and up (05/10) sequences to comply with the HDMI TX PHY specifications. They are the biggest functional changes in the whole set, and have been tested successfully (with the rest of the series) on i.MX6Q, RK3288 and R-Car H3. The PLL PHY lock delay has been measured to be between 300µs and 350µs on R-Car H3, between 400µs and 600µs on i.MX6Q and between 150µs and 450µs on RK3288. The PHY power down delay has been measured to be less than 50µs on all platforms, and was often close to instant with power down reported in the first poll iteration. We should thus be more than safe with a 5ms timeout. Patch 06/10 breaks the PHY operations out. Glue code is then allowed to pass a PHY operations structure to support vendor PHYs. The existing PHY support code is turned into a default Synopsys PHYs implementation for those PHY operations. Patch 07/10 further refactors the Synopsys PHY configuration function to make it modular, in order to support DWC HDMI 2.0 TX PHYs that have a very different register layout compared to the currently supported PHYs. Glue code is again allowed to provide a custom PHY configuration implementation, with the existing PHY support code turned into the default implementation for all currently supported Synopsys PHYs. Patch 08/10 is a small cleanup that removes the now unneeded device type for glue code platform data, and patch 09/10 follows by switching the driver to regmap in order to support vendor-specific register access more easily. Patch 10/10 is a v5 addition that moves the code to a new directory per Jose's request. v5 also picked up review tags from the mailing list, and is rebased on top of the latest drm-misc-next branch. The series is otherwise unchanged compared to v4. Archit, how would you like to proceed to get this merged ? Kieran Bingham (2): drm: bridge: dw-hdmi: Add support for custom PHY configuration drm: bridge: dw-hdmi: Remove device type from platform data Laurent Pinchart (6): drm: bridge: dw-hdmi: Remove unused functions drm: bridge: dw-hdmi: Move CSC configuration out of PHY code drm: bridge: dw-hdmi: Fix the PHY power down sequence drm: bridge: dw-hdmi: Fix the PHY power up sequence drm: bridge: dw-hdmi: Create PHY operations drm: bridge: dw-hdmi: Move the driver to a separate directory. Neil Armstrong (2): drm: bridge: dw-hdmi: Enable CSC even for DVI drm: bridge: dw-hdmi: Switch to regmap for register access drivers/gpu/drm/bridge/Kconfig | 2 + drivers/gpu/drm/bridge/Makefile | 4 +- drivers/gpu/drm/bridge/synopsys/Kconfig | 23 + drivers/gpu/drm/bridge/synopsys/Makefile | 5 + .../drm/bridge/{ => synopsys}/dw-hdmi-ahb-audio.c | 0 .../gpu/drm/bridge/{ => synopsys}/dw-hdmi-audio.h | 0 .../drm/bridge/{ => synopsys}/dw-hdmi-i2s-audio.c | 0 drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c | 467 ++++++++++++--------- drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h | 0 drivers/gpu/drm/imx/dw_hdmi-imx.c | 2 - drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 1 - include/drm/bridge/dw_hdmi.h | 33 +- 12 files changed, 335 insertions(+), 202 deletions(-) create mode 100644 drivers/gpu/drm/bridge/synopsys/Kconfig create mode 100644 drivers/gpu/drm/bridge/synopsys/Makefile rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-ahb-audio.c (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-audio.h (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-i2s-audio.c (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c (88%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h (100%) -- Regards, Laurent Pinchart