[PATCH v8 0/2] Subject: Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI driver
From: <hidden>
Date: 2026-07-28 11:09:34
Also in:
dri-devel, lkml
This series introduces: - A device tree binding YAML file describing the hardware - A new DRM bridge driver implementing the basic functionality LT9611C(EX/UXD) is an I2C-controlled chip that Receiver signal/dual port mipi dsi and output hdmi, differences in hardware features: - LT9611C: supports 1-port mipi dsi to hdmi 1.4 - LT9611EX: supports 2-port mipi dsi to hdmi 1.4 - LT9611UXD: supports 2-port mipi dsi to hdmi 1.4/2.0 Changes in v8: - Refactor lt9611c_read_write_flow() to take a struct lt9611c_cmd parameter with an embedded struct lt9611c_cmd_hdr (func, type, seq, sep) and optional data payload, eliminating raw byte arrays at call sites - Add LT9611C_CMD_HDR_SIZE, LT9611C_EDID_BUF_SIZE constants to replace magic numbers - Use container_of_const() in bridge_to_lt9611c_const() - Remove obvious /*read only*/ comment - Use unsigned long cast instead of uintptr_t for chip type initialization - Replace memset + memcpy with memcpy + memset for CRC buffer preparation - Add ABI documentation for lt9611c_firmware sysfs attribute - Fix Kconfig help text to proper prose within line limits - Add disable_irq() before cancel_work_sync() in lt9611c_remove() - Add cancel_work_sync() in lt9611c_bridge_suspend() - Inline lt9611c_gpio_init() into probe - Use of_drm_get_bridge_by_endpoint() instead of drm_of_find_panel_or_bridge() + drm_bridge_get() - Return error if LT9611C (single DSI only) is configured with dual DSI in device tree - Move HPD status read_write_flow call from IRQ handler to lt9611c_hpd_work workqueue - Removed second lt9611_reset call from probe as not needed - Add struct lt9611c_rsp symmetric to struct lt9611c_cmd — both embed struct lt9611c_cmd_hdr - Link to v7: https://lore.kernel.org/lkml/20260716-lt9611c-v7-v7-0-7553a14735fc@oss.qualcomm.com/ (local) Changes in v7: - Use i2c_get_match_data() for chip type initialization - Implement hdmi_write_hdmi_infoframe/hdmi_clear_hdmi_infoframe - Use drm_atomic_commit in bridge callbacks - Removing redundant lt9611c_reset() call and cleanup in probe error path - Populate bridge.vendor and bridge.product - implement hpd_enable callback - fix DT parsing and bridge refcount - Removed pre_enable and post_disable callbacks, it was affecting hpd as regulator was disabled - Changed reset gpio enablement and lt9611c_reset api. - Link to v6: https://lore.kernel.org/all/20260508134009.4582-1-syyang@lontium.com/ (local) Changes in v6: - dt-binding: 1. sorted the compatible list alphabetically. [Dmitry] - Link to v5: https://lore.kernel.org/lkml/20260507024214.97708-1-syyang@lontium.com/ (local) Changes in v5: - drm/bridge: 1. use #define FW_FILE "Lontium/lt9611c_fw.bin" to match linux-firmware [Dmitry] 2. add atomic state management - Link to v4: https://lore.kernel.org/lkml/20260506095100.78998-1-syyang@lontium.com/ (local) Changes in v4: - dt-binding: 1. fix commit message [Krzysztof] - drm/bridge: 1. use lt9611c_fw.bin [Dmitry] 3. use enum lt9611_chip_type 4. remove *fw from the lt9611c struct 5. use read_poll_timeout and -ETIMEDOUT 6. replace mutex_lock with guard(mutex) in some places 7. switch to ARRAY_SIZE instead of specifying lengths directly 8. use dev_err_probe 9. add clear functions for AVI and audio infoframes 10. add DRM_BRIDGE_OP_HDMI and remove .hpd_notify 11. replace "GPL v2" with "GPL" - Link to v3: https://lore.kernel.org/lkml/20260420061644.1251070-1-syyang@lontium.com/ (local) Changes in v3: - dt-binding: 1. lt9611c(ex/uxd) content merged into lontium,lt9611.yaml - drm/bridge: 1. Drop the licence text, only use SPDX header 2. Sort the headers 3. Use library functions for crc8 4. Use paged writes as implemented for LT9611C(EX/UXD) 5. Use HDMI audio helpers 6. Replace devm_kzalloc with devm_drm_bridge_alloc 7. Remove extra kthread - Link to v1: https://lore.kernel.org/lkml/20250903123825.1721443-1-syyang@lontium.com/ (local) Changes in v2: 1. Forget modify code, operation error, Please disregard this submit. Changes in v1: - dt-binding: 1. Submit the first version of the code. - drm/bridge: 1. Submit the first version of the code. Signed-off-by: Mohit Dsor <redacted> --- Sunyun Yang (2): dt-bindings: bridge: Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI driver drm/bridge: Add Lontium LT9611C(EX/UXD) MIPI DSI to HDMI driver .../ABI/testing/sysfs-driver-lontium-lt9611c | 11 + .../bindings/display/bridge/lontium,lt9611.yaml | 8 +- drivers/gpu/drm/bridge/Kconfig | 17 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/lontium-lt9611c.c | 1344 ++++++++++++++++++++ 5 files changed, 1379 insertions(+), 2 deletions(-) --- base-commit: 34e27b90552acf21bd73aac395667c8aae6da480 change-id: 20260708-lt9611c-v7-ff76b2d1bf5f Best regards, -- Mohit Dsor [off-list ref]