From nobody Sat Apr 4 07:50:13 2026 Received: from ironport.ite.com.tw (hc210-202-87-179.vdslpro.static.apol.com.tw [210.202.87.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA94435AC02; Fri, 20 Mar 2026 07:49:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.202.87.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773993000; cv=none; b=KZlvQy+P7OmH5ATH3u+XP32SSXdzGjR9oduT1n94pPAvBKWqJKquBM3ALbpC2pXcHizNs04HMBz0H+xc8PyJHxTNwPCtDBTLFquSRqT/UnqgEAY3Lbul6PdpQNgZL7UkefUKBjWCxXT4EYBMarFSJqcPm15nFG7nGWcfB6tYgVs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773993000; c=relaxed/simple; bh=6CSdJjR5+zw4J9eWO/NX4W8EA1aQ3PdFYcJsL8Vc2ME=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=Io1HFhYS2UFKH08oJOK0rSCsyIY8GpJM11G3MnV4Vs3MGbYYekJxJ1hWLAbTpDWZcsY4EI9MqEHXXRlyX/SzuPuuwIO6z8Dl/jOP/PjMgD4WcVwxX6ZEod2XgQQYCR6J6jgt299BwlD7Ktwlw37PORu7OfPCev4V20J7914/e/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ite.com.tw; spf=pass smtp.mailfrom=ite.com.tw; dkim=pass (2048-bit key) header.d=ite.com.tw header.i=@ite.com.tw header.b=Q9XpoyGA; arc=none smtp.client-ip=210.202.87.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ite.com.tw Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ite.com.tw Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ite.com.tw header.i=@ite.com.tw header.b="Q9XpoyGA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ite.com.tw; s=dkim; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=AUPYy9waq8xlLkN2HE8tB+FiLz0tWfDmK8j23h0A5yA=; b=Q9XpoyGAVl753dKn/jgDp4/duzzLHT+0ztgYyBB9HWC/MhpUOnQqrLh0 C0UIXlfB9aWiE5zUmdmgCJ+dPy44AovyVSKgeM2sXIVvmI+ALd6RmGJ19 LpSwQPzxgTj/SPnnVE8UM90pdOI1IJQz5OhmrkDX92WEfly25x2kopF59 fucXrXpW00vvU7oo6f3JMtDGTCWbRDIGUI2b1cmQtVb8h5MDtXC4BHi9O MG54ePdo6D8eREcLkSEqW+BRLoL3LCXDOOhGn3JP0Ji4wJg4vx8pdfgrA aAzqfSWRtWuPQwtKnR7YnbiyU7s8ENHI7wGp7431bWQr0vD9SojQsN7Xy A==; X-CSE-ConnectionGUID: x2EhnDTLRXmcDaxA4rR/3w== X-CSE-MsgGUID: MjSF8I4uTuiC9aR/74mUCQ== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 20 Mar 2026 15:44:06 +0800 Received: from hscmail1.internal.ite.com.tw (HSCMAIL2.internal.ite.com.tw [192.168.35.41]) by mse.ite.com.tw with ESMTP id 62K7ngHB002384; Fri, 20 Mar 2026 15:49:42 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.40) by HSCMAIL2.internal.ite.com.tw (192.168.35.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 20 Mar 2026 15:49:40 +0800 From: Pet Weng Date: Fri, 20 Mar 2026 15:50:41 +0800 Subject: [PATCH v8 1/2] dt-binding: display: Add ITE IT61620 MIPI DSI to HDMI bridge Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260320-it61620-0714-v8-1-0e70271cf5a9@ite.com.tw> References: <20260320-it61620-0714-v8-0-0e70271cf5a9@ite.com.tw> In-Reply-To: <20260320-it61620-0714-v8-0-0e70271cf5a9@ite.com.tw> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley CC: , , , Hermes Wu , Kenneth Hung , Pet Weng , Jau-chih Tseng , Pin-yen Lin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773993069; l=5269; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=6CSdJjR5+zw4J9eWO/NX4W8EA1aQ3PdFYcJsL8Vc2ME=; b=y5lGOQzJpaUvaphg/XLsDVYxMeAX6MViAqWYss7XH2ij+TO1RgZEQkg6GHxMhwpRZMBCl2D69 RtrxGECR/TOAyYBffIKlbQacJiQLDQpawYhaiGlRegWkoSAVIRp08LV X-Developer-Key: i=pet.weng@ite.com.tw; a=ed25519; pk=wd08uBtTLb93x2ixbKVNsxiZPdMh1Ov4z5klodh2bqo= X-ClientProxiedBy: CSBMAIL1.internal.ite.com.tw (192.168.65.58) To HSCMAIL2.internal.ite.com.tw (192.168.35.41) X-TM-SNTS-SMTP: FA5E7E2A8DED7B1B064435D03ED0624831553CDBA75F29992351B0742A354A3C2002:8 X-MAIL: mse.ite.com.tw 62K7ngHB002384 This chip receives MIPI DSI input and outputs HDMI, and is commonly connected to SoCs via I2C and DSI. IT61620 is a variant of IT6162. The main differences are listed below - IT61620 supports only a single MIPI DSI input port, while IT6162 supports dual MIPI DSI ports. - IT61620 does not include the internal MCU present in IT6162. Because of these architectural differences, IT61620 uses a separate compati= ble string even though the external interfaces and bindings are largely similar. Signed-off-by: Pet Weng --- .../bindings/display/bridge/ite,it61620.yaml | 151 +++++++++++++++++= ++++ 1 file changed, 151 insertions(+) diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it61620.y= aml b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8cbab1b55da9e9155dce9cf91ad= db8fb89382e07 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml @@ -0,0 +1,151 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/ite,it61620.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ITE IT61620 MIPI DSI to HDMI Bridge + +maintainers: + - Pet Weng + +description: | + The ITE IT61620 is a high-performance, low-power HDMI bridge that conver= ts + MIPI DSI input to HDMI 1.4b TMDS output. It supports up to 4 lanes of MI= PI + D-PHY 2.0 input at 2.5Gbps per lane (10Gbps total), compatible with DSI-2 + v2.0. + + The HDMI transmitter side supports up to 4Kx2K@30Hz resolutions, and is + compliant with HDMI 1.4b and HDCP 1.4. + + For audio, the IT61620 supports up to 8-channel LPCM via I2S (multi-line= or + TDM mode), with optional S/PDIF or DSD (for SACD). It supports audio + sampling rates up to 192kHz. + + IT61620 is a variant of IT6162. + The main differences are listed below + - IT61620 supports only a single MIPI DSI input port, while IT6162 suppo= rts + dual MIPI DSI ports. + - IT61620 does not include the internal MCU present in IT6162. + + Because of these architectural differences, IT61620 uses a separate comp= atible + string even though the external interfaces and bindings are largely simi= lar. + +allOf: + - $ref: /schemas/sound/dai-common.yaml# + +properties: + compatible: + const: ite,it61620 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + ivdd-supply: + description: core voltage + + ovdd-supply: + description: I/O voltage + + ovdd1833-supply: + description: flexible I/O voltage + + "#sound-dai-cells": + const: 0 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Input port for MIPI DSI + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + required: + - data-lanes + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Output port for HDMI output + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Audio input port (I2S) + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - interrupts + - reset-gpios + - ivdd-supply + - ovdd-supply + - ovdd1833-supply + - ports + +unevaluatedProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + bridge@58 { + compatible =3D "ite,it61620"; + reg =3D <0x58>; + #sound-dai-cells =3D <0>; + interrupt-parent =3D <&pio>; + interrupts =3D <128 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&it61620_pins>; + reset-gpios =3D <&pio 127 GPIO_ACTIVE_LOW>; + ivdd-supply =3D <&pp1000_hdmi_x>; + ovdd-supply =3D <&pp3300_vio28_x>; + ovdd1833-supply =3D <&pp1800_vcamio_x>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + it61620_dsi_in: endpoint { + data-lanes =3D <0 1 2 3>; + remote-endpoint =3D <&dsi_out>; + }; + }; + + port@1 { + reg =3D <1>; + it61620_hdmi_out: endpoint { + remote-endpoint =3D <&hdmi_connector_in>; + }; + }; + + port@2 { + reg =3D <2>; + it61620_audio_in: endpoint { + remote-endpoint =3D <&i2s0_out>; + }; + }; + }; + }; + }; --=20 2.34.1 From nobody Sat Apr 4 07:50:13 2026 Received: from ironport.ite.com.tw (hc210-202-87-179.vdslpro.static.apol.com.tw [210.202.87.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8487532AAB3; Fri, 20 Mar 2026 07:49:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.202.87.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773993002; cv=none; b=CqevxGdNYSwz8/KxBVkpHDmYaTp8CMqCe0Bosn8K+vbNBZsvao+E5CteKLNvJj6lrJwb/Dxx6i0FYF6Sc1L7I6Z6gagVVfjRCRZxGST5wjCXCIsaeCtsaepB31irjjgL4B+bnSCPDK25tAjo92eju7s32h1Ct1XTUGgrv9hVc74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773993002; c=relaxed/simple; bh=JaW4nvxeiT4k4mY8dwqczrL+6BHGrHLuTpW4SByIGRE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=Gx82PzMPhvl0gZmtqoevg3nImfudOyPW0VWi6yLB3ss0CxsDfOuMzzahDYE8auCmpS7I5rd5gbV0K08iZ1nbzxncIYT+t1gTqrqMon8nJcPtb6uuyJcSsvXK5dwJo3I9P0QtsnBskHAC8VWlClv3qeL+Zco9FGCRR44GvUMX1B0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ite.com.tw; spf=pass smtp.mailfrom=ite.com.tw; dkim=pass (2048-bit key) header.d=ite.com.tw header.i=@ite.com.tw header.b=CNj8QYlt; arc=none smtp.client-ip=210.202.87.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ite.com.tw Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ite.com.tw Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ite.com.tw header.i=@ite.com.tw header.b="CNj8QYlt" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ite.com.tw; s=dkim; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=jwDZ6z0HGGSfwJ8u7rwDoS3vtCIuXilupFrMSLBg3BY=; b=CNj8QYltiqWuyRI9NyOn0lHkukdigrVzmOMDrNKXUDWIoHg72vslpbpQ ml7cX5tbIoCzYh8PT9DDNMyPhVWc868xbOLynkfT/KdnRI3Ub5kMRAHZV 4Od/MdH7IJ6g65KHYj8FPRstlrsgwGKk87LjYaJ/Q2clFZUS6bYm5uunl KO5NlWqcl3cwC/6PYC7DygZT2Fmp1f3jZMiaAwyynmKCkxqAb97H10gp/ 3eIoJune7UJJyJxgK9OA0R9dwtIi3A3OHKwny22ZnVa/a45U29Xoi4zix /VX2vgjryytXgVp8HPmJXwBqsGcKZ+tlCNIsflLbAm37BMeLl+UXdjxZq w==; X-CSE-ConnectionGUID: scbBmo2HTmeA85g3O8Gu3w== X-CSE-MsgGUID: essPTNo7SHCSXuYCCjAPtA== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 20 Mar 2026 15:44:05 +0800 Received: from hscmail1.internal.ite.com.tw (HSCMAIL2.internal.ite.com.tw [192.168.35.41]) by mse.ite.com.tw with ESMTP id 62K7nfrd002296; Fri, 20 Mar 2026 15:49:41 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.40) by HSCMAIL2.internal.ite.com.tw (192.168.35.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 20 Mar 2026 15:49:41 +0800 From: Pet Weng Date: Fri, 20 Mar 2026 15:50:42 +0800 Subject: [PATCH v8 2/2] drm/bridge: Add ITE IT61620 MIPI DSI to HDMI bridge driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-ID: <20260320-it61620-0714-v8-2-0e70271cf5a9@ite.com.tw> References: <20260320-it61620-0714-v8-0-0e70271cf5a9@ite.com.tw> In-Reply-To: <20260320-it61620-0714-v8-0-0e70271cf5a9@ite.com.tw> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley CC: , , , Hermes Wu , Kenneth Hung , Pet Weng , Jau-chih Tseng , Pin-yen Lin , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773993069; l=84138; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=JaW4nvxeiT4k4mY8dwqczrL+6BHGrHLuTpW4SByIGRE=; b=Nk8J16irrpSznfWjpxmJT7O0zsJh43hsRFrye0gMPp1+owQeqyK9iqjQ3/bYVQfPVO7+UagDG o/MYN5I46TsAejglp5Azp4qSXUk/9eGo018QyjGaHk+q5yeqEelLiDp X-Developer-Key: i=pet.weng@ite.com.tw; a=ed25519; pk=wd08uBtTLb93x2ixbKVNsxiZPdMh1Ov4z5klodh2bqo= X-ClientProxiedBy: CSBMAIL1.internal.ite.com.tw (192.168.65.58) To HSCMAIL2.internal.ite.com.tw (192.168.35.41) X-TM-SNTS-SMTP: 51BFD43C1307F0D14EC84D17E48BC101AEF3EFB6509792890F47E6AA4B88B92D2002:8 X-MAIL: mse.ite.com.tw 62K7nfrd002296 This adds support for the ITE IT61620 bridge chip which converts MIPI DSI input to HDMI output. The Driver implements the basic bridge functions and integrates with the DRM bridge and connector frameworks. Supported features include: MIPI DSI input handling HDMI output setup Basic mode configuration I2C-based control and initialization HDCP 1.4 handling HPD handling clarification: Although IT61620 has an HPD pin, hotplug detection is handled by the system connector. The bridge only receives HPD notifications, and the HPD pin is used solely for short pulses during HDCP authentication. Therefore, this bridge does not implement OP_HPD or OP_DETECT, as it does not originate or determine hotplug or connection status. This driver will be used on platforms embedding the IT61620 for video output via HDMI from SoCs with MIPI DSI output. Add a MAINTAINERS entry for the IT61620 bridge driver. Signed-off-by: Pet Weng Reviewed-by: Dmitry Baryshkov --- MAINTAINERS | 7 + drivers/gpu/drm/bridge/Kconfig | 18 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ite-it61620.c | 2592 ++++++++++++++++++++++++++++++= ++++ 4 files changed, 2618 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 00b05e5328bef0975d493953f569f5d0a2d6fc79..f3d09a3d10b40f00121165d5471= 7110449ad11e0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13648,6 +13648,13 @@ T: git https://gitlab.freedesktop.org/drm/misc/ker= nel.git F: Documentation/devicetree/bindings/display/bridge/ite,it6263.yaml F: drivers/gpu/drm/bridge/ite-it6263.c =20 +ITE IT61620 MIPI DSI TO HDMI BRIDGE DRIVER +M: Pet Weng +L: dri-devel@lists.freedesktop.org +S: Maintained +F: Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml +F: drivers/gpu/drm/bridge/ite-it61620.c + ITE IT66121 HDMI BRIDGE DRIVER M: Phong LE M: Neil Armstrong diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 7e4f355743842f988c4908eb0a485da458f37626..63e8e275186c078030ad094f786= ef94526e85132 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -118,6 +118,24 @@ config DRM_ITE_IT6263 help ITE IT6263 LVDS to HDMI bridge chip driver. =20 +config DRM_ITE_IT61620 + tristate "ITE IT61620 DSI/HDMI bridge" + depends on OF + select DRM_DISPLAY_CONNECTOR + select DRM_DISPLAY_HDMI_HELPER + select DRM_DISPLAY_HDCP_HELPER + select DRM_DISPLAY_HELPER + select DRM_MIPI_DSI + select DRM_KMS_HELPER + select DRM_HDMI_HELPER + select CRYPTO_LIB_SHA1 + help + Driver for ITE IT61620 MIPI DSI to HDMI bridge + chip driver. + + It enables display output through HDMI when connected to a MIPI + DSI source. The bridge translates the video signals for HDMI monitors. + config DRM_ITE_IT6505 tristate "ITE IT6505 DisplayPort bridge" depends on OF diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makef= ile index beab5b695a6e1f5a8c39c264567d2b2fff17d6e0..9c50a5420a741f16591633269bd= 1da06f91befed 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_DRM_I2C_NXP_TDA998X) +=3D tda998x.o =20 obj-$(CONFIG_DRM_INNO_HDMI) +=3D inno-hdmi.o obj-$(CONFIG_DRM_ITE_IT6263) +=3D ite-it6263.o +obj-$(CONFIG_DRM_ITE_IT61620) +=3D ite-it61620.o obj-$(CONFIG_DRM_ITE_IT6505) +=3D ite-it6505.o obj-$(CONFIG_DRM_LONTIUM_LT8912B) +=3D lontium-lt8912b.o obj-$(CONFIG_DRM_LONTIUM_LT9211) +=3D lontium-lt9211.o diff --git a/drivers/gpu/drm/bridge/ite-it61620.c b/drivers/gpu/drm/bridge/= ite-it61620.c new file mode 100644 index 0000000000000000000000000000000000000000..95771e5a391141a7b4de6a77e4c= dd03d75a9dc08 --- /dev/null +++ b/drivers/gpu/drm/bridge/ite-it61620.c @@ -0,0 +1,2592 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2025 ITE Tech. Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include