This patch series adds support for the ITE IT61620 MIPI DSI to HDMI bridge chip.
The IT61620 is an I2C-controlled bridge that receives MIPI DSI input and outputs HDMI signals. A single-port MIPI DSI input is converted to an HDMI 1.4 output. This series introduces: - A device tree binding YAML file describing the hardware - A new DRM bridge driver implementing the basic functionality - A MAINTAINERS entry for the driver Signed-off-by: Pet Weng <[email protected]> --- Changes in v3: - Wrapped description lines to comply with 80-character line length limit in patch 1. [Rob] - Renamed node from "it61620@58" to "bridge@58" in patch 1. [Rob] - Add port@2 for I2S audio input in patch 1. [Dmitry] - Updated the Kconfig dependency from CRYPTO and CRYPTO_HASH to CRYPTO_LIB_SHA1 in patch 2. [Eric] - In patch 2 [Dmitry] 1. Audio and InfoFrame - Rename audfmt to i2s_input_format for clarity. - Remove unused infoframe[HDMI_INFOFRAME_SIZE(AUDIO)]. 2. Platform data and structure - Drop platform data usage; migrate members into struct it61620 3. Code organization - Reorder functions to avoid the need for forward declarations. - Add static inline to small helper functions (e.g. bridge_to_it61620()). 4. HDCP handling - Make HDCP enable/disable conditional on conn_state->content_protection. - Report authentication result using drm_hdcp_update_content_protection(). 5. Error handling - Replace manual error path with dev_err_probe(). 6. Power management - Inline suspend/resume callbacks. - Use DEFINE_RUNTIME_DEV_PM_OPS() instead of explicit struct definition. 7. Bridge callbacks - Drop empty bridge_detach(). - Inline it61620_bridge_mode_valid(). 8. EDID handling - Remove unnecessary cached EDID duplication. 9. Mode set and pixel clock - Move mode handling to atomic_enable(). - Keep only pixelclock for future N/CTS audio calculations. 10. Logging - Replace noisy drm_err() calls with drm_dbg(). 11. InfoFrame support - Add support for SPD and Vendor InfoFrames. - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Call the sha1() library function instead of using the crypto_shash "sha1" in patch 2. - Rewrite it61620_hdmi_ddc_wait() with readx_poll_timeout() in patch 2. [Pin-yen] - Rewrite it61620_hdmi_hdcp_wait_ksv_list() with readx_poll_timeout() in patch 2. - Replace interrupts-extended with interrupts in patch 1. [Rob] - Replace dsi-lanes with the standard property data-lanes from the graph binding. [Rob] - Replace "#/$defs/port-base" with "#/properties/port" in patch 1. [Rob] - Drop unused labels and "hdmi" for the node name. [Rob] - Drop status in patch 1. [Rob] - Link to v1: https://lore.kernel.org/r/[email protected] --- Pet Weng (3): dt-binding: display: Add ITE IT61620 MIPI DSI to HDMI bridge drm/bridge: Add ITE IT61620 MIPI DSI to HDMI bridge driver MAINTAINERS: Add entry for ITE IT61620 MIPI to HDMI bridge driver .../bindings/display/bridge/ite,it61620.yaml | 155 + MAINTAINERS | 8 + drivers/gpu/drm/bridge/Kconfig | 18 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ite-it61620.c | 2998 ++++++++++++++++++++ 5 files changed, 3180 insertions(+) --- base-commit: f601d2db7229dc5ca0e840d0c2279ea765551aee change-id: 20250714-it61620-0714-ab4ab4ceff29 Best regards, -- Pet Weng <[email protected]>
