From nobody Tue Oct 7 05:45:29 2025 Received: from ironport.ite.com.tw (219-87-157-213.static.tfn.net.tw [219.87.157.213]) (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 9CCD01C28E; Mon, 14 Jul 2025 03:18:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=219.87.157.213 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752463126; cv=none; b=U5fgRPSEQXo5udRCq6/eoXqKGS7XnzWxVD5OlUEpTM5QxQ8gOtE9q/ZeVlhEkiHlVtOxM3eA4OojcnFqXTZPZTfw/JF8aUV+tUkq4QIHQwnJ5ufgcoFuHcDu50dY/78QF8rdWi7SVBxEa7krMrkLoQgAnJT93PuzHYnhfUOGyOo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752463126; c=relaxed/simple; bh=S+k3JFNx6WEPslDNIQleb7IOdje4oFPzM9acWqDJ1to=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=JelCwPJUXnfaiG7/p7G9VpsRrndpI9v2YyejSQtdSqsYHywQF61lOsnu0v3rCMmA1QwRxC4w+WB3yf5G4ouGGpBiWcBi8Jc1QAhOjYR8t4BbERJolYqqb+sM04N6H2ReYnAoW8xu5A/Ki5O3A5lbDuM6Fdl5UFKIj8+ayZh72XU= 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=FPEQSb0i; arc=none smtp.client-ip=219.87.157.213 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="FPEQSb0i" 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=Vp72IOwJz5lZsziOOZo4RHilItGxQQe6XXbK9dG32tE=; b=FPEQSb0i3TGC2k2mpcYGH13OZNsoO0kKlUPgpsAxan8C7kqHkuwESaq5 4ZDmFnSwfLka+TjTN3HuTlzbochavETU4/BCtx0qXGkcYMj0pN6FfBof5 cmhXyJ6nZo+NHG8i7moXK+XmHpOCDiWPmcnXLST4SmcqcjsR88rSGI/7J vWFtTvvXvtAsRBwUVTP6X6sXxDYGRLpp1IoUWY7bx5b3n+/B3/r2pWx24 3ILqX0tlwIKQBnWfN7b5XH/QBw18t8U5EDiS8MxcpT2HakDKS3Cfl8pq9 0QaME2MJywWBKj1ic0WArHsKHNXz5cFFKlQIdi7mJ5SEa++w//CX9kBiz w==; X-CSE-ConnectionGUID: nOaJW3VISzyNeQOWZEwX3w== X-CSE-MsgGUID: qGqotRWrTai2egIul78qlg== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 14 Jul 2025 11:15:22 +0800 Received: from CSBMAIL1.internal.ite.com.tw (CSBMAIL1.internal.ite.com.tw [192.168.65.58]) by mse.ite.com.tw with ESMTP id 56E3FI69091131; Mon, 14 Jul 2025 11:15:18 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.15) by CSBMAIL1.internal.ite.com.tw (192.168.65.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul 2025 11:15:17 +0800 From: Pet Weng Date: Mon, 14 Jul 2025 11:14:32 +0800 Subject: [PATCH 1/3] dt-binding: display: Add a device tree binding for the 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: <20250714-it61620-0714-v1-1-3761164d0b98@ite.com.tw> References: <20250714-it61620-0714-v1-0-3761164d0b98@ite.com.tw> In-Reply-To: <20250714-it61620-0714-v1-0-3761164d0b98@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 , Pin-yen Lin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1752462909; l=4482; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=S+k3JFNx6WEPslDNIQleb7IOdje4oFPzM9acWqDJ1to=; b=5UFi44n7tDt/PAZ1NRlQY9ZluZmMaLpyCeKFb9EXcd9AsTKBxOE6iGyyItULQlR6Mn5dFAYs+ mc7xMe1iyGVC6J1lQU+7c2AV+W+gvGlXYHkhsV6KFKQBjWnF/uLE1D7 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 CSBMAIL1.internal.ite.com.tw (192.168.65.58) X-TM-SNTS-SMTP: DAB28E45DFC27A003B88E63C16F971EC3E76C4EAB78125C4F6B1FA0022E07CFB2002:8 X-MAIL: mse.ite.com.tw 56E3FI69091131 This chip receives MIPI DSI input and outputs HDMI, and is commonly connected to SoCs via I2C and DSI. Signed-off-by: Pet Weng --- .../bindings/display/bridge/ite,it61620.yaml | 138 +++++++++++++++++= ++++ 1 file changed, 138 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..ff8ff390a1c0c31bb05ba0e2374= 90cff2942cd05 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml @@ -0,0 +1,138 @@ +# 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. + +allOf: + - $ref: /schemas/sound/dai-common.yaml# + +properties: + compatible: + const: ite,it61620 + + reg: + maxItems: 1 + + interrupts-extended: + maxItems: 1 + description: interrupt specifier of INT pin + + reset-gpios: + maxItems: 1 + description: gpio specifier of RESET pin + + ivdd-supply: + description: core voltage + + ovdd-supply: + description: I/O voltage + + ovdd1833-supply: + description: flexible I/O votage + + pinctrl-names: + items: + - const: default + + pinctrl-0: + maxItems: 1 + + "#sound-dai-cells": + const: 0 + + dsi-lanes: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Number of DSI input lanes used (1, 2 or 4) + minimum: 1 + maximum: 4 + default: 4 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + description: A port node pointing to DSI host port node + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + description: Video port for HDMI output + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - interrupts-extended + - reset-gpios + - ivdd-supply + - ovdd-supply + - ovdd1833-supply + - ports + +unevaluatedProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + hdmibrdg: ite61620@58 { + compatible =3D "ite,it61620"; + reg =3D <0x58>; + #sound-dai-cells =3D <0>; + interrupts-extended =3D <&pio 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>; + dsi-lanes =3D <4>; + status =3D "okay"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + it61620_dsi_in: endpoint { + remote-endpoint =3D <&dsi_out>; + }; + }; + + port@1 { + reg =3D <1>; + it61620_hdmi_out: endpoint { + remote-endpoint =3D <&hdmi_connect= or_in>; + }; + }; + }; + }; + }; --=20 2.34.1 From nobody Tue Oct 7 05:45:29 2025 Received: from ironport.ite.com.tw (219-87-157-213.static.tfn.net.tw [219.87.157.213]) (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 ACB712E36F0; Mon, 14 Jul 2025 03:16:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=219.87.157.213 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752462998; cv=none; b=WUWIrU2jN4CklLBaXtQdEywAmyjPuiYq/7IdBIcJx6G/Tae6oIyZOxiySJybpNjhuu6b7JxOsDf0e5SRfvM1T4scwTR1hCR8Jw0vuvL/bikmqQN2QA/ZI3Zx82P6wwsCD6osBCMxGlrTDvpC16kpMA/vk6PMHlDkO7bzpSt1Skg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752462998; c=relaxed/simple; bh=paMGUW8VkU2sl1aTY3rd//KhGRK5al/WKdlgQyoSShc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=bZTPX8MhzWFVsagtrO8i1XZOnjfbcdME/5yfEL9my8qWmt90GDhOBTFwLWnCF3sSdETYfUTr9QJ1spy01MNmxlOiIEIniq/4AI5/Gk4qrU0it+rXarMIGBCsJSZjDN/jLSkNHNE8ik6gS7VK2OkaEIRlDE4wUHDcMmW0heC5EB4= 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=h+RbZNz6; arc=none smtp.client-ip=219.87.157.213 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="h+RbZNz6" 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=+b1S9dYyxNhucOltMXbwkGtdMJi4p/TVoT1ozoQMLzo=; b=h+RbZNz6JPXf9HZUu4DfNKv476Kp7yiYlIHm1q7vhn6K6doagyTykzGf yqIwaK88cppfsqrdLtfyd+7DvpvorgWndQ4Xf8/qup9vEQQ86jqtaapoA dzt+J4N/WwuLW+XFAihECFVV5Il/4rl1WRf/pyU8GdG/sOMH7J9MnnmMU SfzbOWn6Oryh2nwKnDGFyPfZYpIMIJ8OJ+N+8CVLOh4gB3H81vWjEFOyb ijyfzPnb5XpYLzZYBPzjOPcK9S30KzwZyxL5xcFSmDzY5EZkU00y7/vov 6qjWYT9rhD+6AmfISHaTcJX6g2rKNEopIh5RwN71iay7l6IL6ijob4oWD w==; X-CSE-ConnectionGUID: wk5swGodSjyWXYIQxN+iIQ== X-CSE-MsgGUID: zDr9U/DMSiiislMsGWn6Wg== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 14 Jul 2025 11:15:20 +0800 Received: from CSBMAIL1.internal.ite.com.tw (CSBMAIL1.internal.ite.com.tw [192.168.65.58]) by mse.ite.com.tw with ESMTP id 56E3FIfj091130; Mon, 14 Jul 2025 11:15:18 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.15) by CSBMAIL1.internal.ite.com.tw (192.168.65.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul 2025 11:15:17 +0800 From: Pet Weng Date: Mon, 14 Jul 2025 11:14:33 +0800 Subject: [PATCH 2/3] 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: <20250714-it61620-0714-v1-2-3761164d0b98@ite.com.tw> References: <20250714-it61620-0714-v1-0-3761164d0b98@ite.com.tw> In-Reply-To: <20250714-it61620-0714-v1-0-3761164d0b98@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 , Pin-yen Lin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1752462909; l=90636; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=paMGUW8VkU2sl1aTY3rd//KhGRK5al/WKdlgQyoSShc=; b=42jvUxCU68J4kXEsLucU8Y1ke20MfOnQrkppr1hwBI6wGVAgzKrMNvKs3kUO9WEuDP6CsTtj3 vQqr21zs8fkBD6qs2DeD8w/iRkreQBiePJeQqDbzq3Z2zQaTvsb6HiH 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 CSBMAIL1.internal.ite.com.tw (192.168.65.58) X-TM-SNTS-SMTP: 7BA6226E0EA627BC8B20B946DBA2D5063E9BE652792018A0F3783D46A4752E412002:8 X-MAIL: mse.ite.com.tw 56E3FIfj091130 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 fetures include: MIPI DSI input handling HDMI output setup Basic mode configuration I2C-based control and initialization HDCP 1.4 handling This driver will be used on platforms embedding the IT61620 for video output via HDMI from SoCs with MIPI DSI output. Signed-off-by: Pet Weng --- drivers/gpu/drm/bridge/Kconfig | 19 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ite-it61620.c | 3004 ++++++++++++++++++++++++++++++= ++++ 3 files changed, 3024 insertions(+) diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index b9e0ca85226a603a24f90c6879d1499f824060cb..a64ae9004197d0ae9c49f450b79= 9cc4be253ffa9 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -111,6 +111,25 @@ 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 + select CRYPTO_HASH + 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 245e8a27e3fc525ffe02103e4436c71313f55d9a..c6cc41ea120c9d05146bd414e3d= c5e7318867057 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -11,6 +11,7 @@ tda998x-y :=3D tda998x_drv.o obj-$(CONFIG_DRM_I2C_NXP_TDA998X) +=3D tda998x.o =20 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..d3db2fdf3da714e54efe2d198bb= 814550880d45f --- /dev/null +++ b/drivers/gpu/drm/bridge/ite-it61620.c @@ -0,0 +1,3004 @@ +// 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