Hi! I naively thought that since there was support for both nxp,tda19988 (in the tda998x driver) and the atmel-hlcdc, things would be a smooth ride. But it wasn't, so I started looking around and realized I had to fix things. In v1 and v2 I fixed things by making the atmel-hlcdc driver a master component, but now in v3 I fix things by making the tda998x driver a bridge instead. This was after a suggestion from Boris Brezillion (the atmel-hlcdc maintainer), so there was some risk of bias ... but after comparing what was needed, I too find the bridge approach better. In addition to the above, our PCB interface between the SAMA5D3 and the HDMI encoder is only using 16 bits, and this has to be described somewhere, or the atmel-hlcdc driver have no chance of selecting the correct output mode. Since I have similar problems with a ds90c185 lvds encoder I added patches to override the atmel-hlcdc output format via DT properties compatible with the media video-interface binding and things start to play together. Since this series superseeds the bridge series [1], I have included the leftover bindings patch for the ti,ds90c185 here. Anyway, this series solves some real issues for my HW. Cheers, Peter Changes since v2 https://lkml.org/lkml/2018/4/17/385 - patch 2/7 fixed spelling and added an example - patch 4/7 parse the DT up front and store the result indexed by encoder - old patch 5/6 and 6/6 dropped - patch 5-7/7 are new and makes the tda998x driver a drm_bridge Changes since v1 https://lkml.org/lkml/2018/4/9/294 - added reviewed-by from Rob to patch 1/6 - patch 2/6 changed so that the bus format override is in the endpoint DT node, and follows the binding of media video-interfaces. - patch 3/6 is new, it adds drm_of_media_bus_fmt which parses above media video-interface binding (partially). - patch 4/6 now makes use of the above helper (and also fixes problems with the 3/5 patch from v1 when no override was specified). - do not mention unrelated connector display_info details in the cover letter and commit messages. [1] "Bridge" series v2 https://lkml.org/lkml/2018/3/26/610 "Bridge" series v1 https://lkml.org/lkml/2018/3/17/221 Peter Rosin (7): dt-bindings: display: bridge: lvds-transmitter: add ti,ds90c185 dt-bindings: display: atmel: optional video-interface of endpoints drm: of: introduce drm_of_media_bus_fmt drm/atmel-hlcdc: support bus-width (12/16/18/24) in endpoint nodes drm/i2c: tda998x: find the drm_device via the drm_connector drm/i2c: tda998x: split encoder and component functions from the work drm/i2c: tda998x: register as a drm bridge .../devicetree/bindings/display/atmel/hlcdc-dc.txt | 26 +++ .../bindings/display/bridge/lvds-transmitter.txt | 8 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 71 ++++++-- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 2 + drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 40 +++- drivers/gpu/drm/drm_of.c | 38 ++++ drivers/gpu/drm/i2c/tda998x_drv.c | 201 ++++++++++++++++++--- include/drm/drm_of.h | 7 + 8 files changed, 342 insertions(+), 51 deletions(-) -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html