This patch series adds support for the ITE IT6162 MIPI DSI to HDMI bridge chip. The IT6162 is an I2C-controlled bridge that receives MIPI DSI input and outputs HDMI signals.
The device supports the following configurations: - Single MIPI DSI input: up to 4K @ 30Hz - Dual MIPI DSI input (combined): up to 4K @ 60Hz This series introduces: - dt-bindings: Add YAML binding document for ITE IT6162 - drm/bridge: Add ITE IT6162 MIPI DSI to HDMI bridge driver Signed-off-by: Hermes Wu <[email protected]> --- Changes in v3: - Documentation/devicetree/bindings/display/bridge/ite,it6162.yaml: * Fix lane-polarities: remove $ref redefinition, allow via video-interfaces.yaml * Improve ite,support-hdcp description to clarify FW-based HDCP behavior * Remove descriptions repeating schema constraints * Remove stray comment in ports required section * Fix data-lanes spacing in example: <1 2 3 4> * Add missing newline at end of file * Add missing change log that Reviewed-by tag was removed when V1->V2 - drivers/gpu/drm/bridge/ite-it6162.c: * Fix OFFSET_VERSION_H register offset from 0x03 to 0x05 * Add MIPI_PORT_EN_MASK macro combining MIPI_PORT1_EN_MASK and MIPI_PORT0_EN_MASK * Rename HDCP enums: NO_HDCP -> HDCP_DISABLE, NO_HDCP_STATE -> HDCP_STATE_IDLE, AUTH_DONE -> HDCP_STATE_AUTH_DONE, AUTH_FAIL -> HDCP_STATE_AUTH_FAIL * Rename it6162_infoblock_complete() to it6162_wait_command_complete() * Rename it6162_infoblock_host_set() to it6162_infoblock_trigger() * Remove it6162_infoblock_mipi_config() and it6162_infoblock_write_msg() wrappers, inline into it6162_reset_init() and it6162_mipi_set_video_timing() respectively * Remove it6162_set_default_config() wrapper, inline into it6162_reset_init() * Fix typo: hdcp_encyption -> hdcp_encryption * Fix typo: it6162_hdcp_read_infomation -> it6162_hdcp_read_information * Remove dev_err_probe() usage outside of probe path * Remove verbose success-path dev_info/dev_dbg logging throughout * Replace __func__ usage in error messages with descriptive strings * Fix double error printing in probe for it6162_init_pdata failure path * Fix uninitialized variable warning: initialize cp_status to DRM_MODE_CONTENT_PROTECTION_DESIRED at declaration; move drm_hdcp_update_content_protection() inside the state-change block * Fix audio sample width mapping: case 20 now maps to WORD_LENGTH_20BIT, case 24 to WORD_LENGTH_24BIT * Remove stray drm_dbg("it6162_bridge_atomic_disable") call * Remove drm_dbg() calls from it6162_display_mode_to_settings() * Drop unused struct it6162 * parameter from it6162_avi_to_video_setting() and it6162_display_mode_to_settings() * Fold it6162_set_default_config() body directly into it6162_reset_init(), removing the wrapper * it6162_infoblock_request_data(): split command complete polling and buffer status check into two steps; use wait_event_timeout() for data_buf_sts since it is updated asynchronously by the interrupt handler; add wait_queue_head_t data_buf_wait to struct it6162 and wake_up() in interrupt handler - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - dt-bindings: * Drop Reviewed-by tag due to below changes * Add property "ite,spport-hdcp" to enable HDCP * Add property "lane-polarities" and "clock-noncontinuous" for DSI setting - drm/bridge: * Drop unused element in struct it6162 * Remove regmap wrappers * Use FIELD_PREP for bitfield operations * Update HDCP status with drm_hdcp_update_content_protection() * Add AVI, AUDIO, and SPD infoframe control * Remove conversion from drm_display_mode to videomode * Fix regulator/gpio error handling in it6162_init_pdata() to return proper error codes - MAINTAINERS * squash to driver patch - Link to v1: https://lore.kernel.org/r/[email protected] --- Hermes Wu (2): dt-bindings: display: bridge: Add ITE IT6162 MIPI DSI to HDMI bridge drm/bridge: Add ITE IT6162 MIPI DSI to HDMI bridge driver .../bindings/display/bridge/ite,it6162.yaml | 178 +++ MAINTAINERS | 7 + drivers/gpu/drm/bridge/Kconfig | 17 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ite-it6162.c | 1631 ++++++++++++++++++++ 5 files changed, 1834 insertions(+) --- base-commit: 2622649ad6cdbb3e77bfafc8c0fe686090b77f70 change-id: 20260223-upstream-6162-3751e78dfcad Best regards, -- Hermes Wu <[email protected]>
