ADV7533 is a DSI to HDMI encoder chip. It's like ADV7511, but with an additional DSI RX block that takes in DSI video mode output. Trying to get this driver merged has had some challenges: - ADV7533 has an I2C control bus, but acts as a DSI peripheral too. After discussions, it was concluded that we'd want to provide an API to create MIPI DSI devices, rather than expose two different interfaces on DT. The first version [1] tried the former approach the second version [2] showed how the driver would look like if exposed 2 DT nodes. This lateset patchset relies on the MIPI DSI device creation API provided by [3], this has been accepted and should be merged for 4.6. - The driver was designed as an I2C slave encoder. When ADV7533 patches were posted [1], it was modelled as a bridge, but ADV7511 and others were still left as I2C slave encoders. This wasn't accepted. After discussions, it was decided that ADV7511 too would be converted into a bridge driver, and all the users of ADV7511 should assume it is a bridge. This bridge conversion was done in [4]. There is still some debate over whether the bridge driver be involved in the connector creation, or the KMS driver that has the whole view of the display pipeline. This discussion shouldn't affect this patch set, though. This patch set enables ADV7533 support with the above two issues now resolved. It also incorporates ADV7533 specific features and fixes that we've discovered since the first version of this patch was posted. If this looks okay, I request that it gets pulled in 4.8. This patchset has been floating around since July last year. Changes in v5: - Fix break observed when built for x86. - Based off current drm-misc. - Removes best_encoder connector helper function since it isn't needed after this series: https://lkml.org/lkml/2016/6/2/508 Changes in v4: - Separated out build for ADV7533. The original plan was to stub out the drm_mipi_dsi funcs, but that seemed like an overkill since it helped just this driver. It seems better to stub out the ADV7533 functionality altogether instead. - Some minor DT binding corrections suggested by Laurent. [4] https://lists.freedesktop.org/archives/dri-devel/2016-January/098287.html [3] https://lkml.org/lkml/2016/2/12/67 [2] https://lists.freedesktop.org/archives/dri-devel/2015-September/089884.html [1]: https://lists.freedesktop.org/archives/dri-devel/2015-July/087088.html Archit Taneja (7): drm/i2c: adv7511: Convert to drm_bridge drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled drm/i2c: adv7511: Initial support for ADV7533 drm/i2c: adv7533: Create a MIPI DSI device drm/i2c: adv7533: Use internal timing generator drm/i2c: adv7533: Change number of DSI lanes dynamically dt-bindings: drm/bridge: Update bindings for ADV7533 .../bindings/display/bridge/adi,adv7511.txt | 26 +- drivers/gpu/drm/i2c/Kconfig | 9 + drivers/gpu/drm/i2c/Makefile | 4 +- drivers/gpu/drm/i2c/adv7511.c | 324 ++++++++++++++------- drivers/gpu/drm/i2c/adv7511.h | 95 ++++++ drivers/gpu/drm/i2c/adv7533.c | 265 +++++++++++++++++ 6 files changed, 605 insertions(+), 118 deletions(-) create mode 100644 drivers/gpu/drm/i2c/adv7533.c -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html