From nobody Fri Dec 19 08:58:11 2025 Received: from ironport.ite.com.tw (60-251-196-230.hinet-ip.hinet.net [60.251.196.230]) (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 128252D94B5; Thu, 9 Oct 2025 08:04:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.251.196.230 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759997060; cv=none; b=jBX8NWnqaQuCNop9UGGdcmpxVfweEIszs+oXzsl6epVCegRl7MsEjnteqsfrsMuAWktOiYllqyofdAiJU1JJtWUDhD/sXk7J+DKtVPClO90C0icf2aEbjwhsUZJcsfcZ0Tecq9lhupBJJ/mPkXJjph8ErPuNSuO5G0SqnA1HDY8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759997060; c=relaxed/simple; bh=IBy14gjD5Z2jFg+DRcFQ7bL0VdN4MHQYLxsnCFE3s/E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=D0NQ2mWo46EukpiK1xeECKHDcihAcftAuMMfx2ajRQEC9vNlIPIY6giVLtVoKJKLbKsl1ADOeLT8X6W6WAPVdympz3NQuVaZrFsOvmnF5IydpDt4tjavsCSkNg8CMDhjaArsa9SK2gPL+xb6K5K2K2Dxa4ebZAovLF3bfyH0+pA= 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=ioLB37TJ; arc=none smtp.client-ip=60.251.196.230 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="ioLB37TJ" 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=0zSfEN9DIlDFZr7Q462zvo6zVEh0wybRlTy5JtRrNc0=; b=ioLB37TJpLXzh2IFonjA39aNMrTs4YM3nbF70SiC16NJXMkGcpAjBfe3 MYemPYMBwq4GvTiHw5vlFz+5nzsCZ3AwbAsFAeBGjjBhq49sAAhtcocrY bzm1vQhOubmyiHZH5BfETAfTm/29S9WAkR0e6qn8BXUP3Eld1Rmk7QUvL 7ThOJLxMqks0PvcmMYICLXTaLha69HoLOrelbyOC9im7m0R/WjqiZlCdn kJ5JckhDx6PRGYIwDnWiKoCQATp3TqOtV3OGKT1RwvaB2smpc0kLH1x8x jb6NV0oo6dskA//mSSOWMutdOLVqTHRFxoNDPShQ31RJnsupfI7hGxJkm A==; X-CSE-ConnectionGUID: yh/am03VRkqQgYdsull92w== X-CSE-MsgGUID: ZAOkCGBCT4qUo+le+ghPsQ== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 09 Oct 2025 16:03:04 +0800 Received: from hscmail1.internal.ite.com.tw (HSCMAIL1.internal.ite.com.tw [192.168.35.58]) by mse.ite.com.tw with ESMTP id 59982w7d072679; Thu, 9 Oct 2025 16:02:58 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.40) by HSCMAIL1.internal.ite.com.tw (192.168.35.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57; Thu, 9 Oct 2025 16:02:57 +0800 From: Pet Weng Date: Thu, 9 Oct 2025 16:02:34 +0800 Subject: [PATCH v3 1/3] 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: <20251009-it61620-0714-v3-1-5d682d028441@ite.com.tw> References: <20251009-it61620-0714-v3-0-5d682d028441@ite.com.tw> In-Reply-To: <20251009-it61620-0714-v3-0-5d682d028441@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=1759996977; l=4990; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=IBy14gjD5Z2jFg+DRcFQ7bL0VdN4MHQYLxsnCFE3s/E=; b=5ZzV73bZ+W6DEEm9q5P7X0XZRdhyLpUX2tUAP6THEd0W0qxBdHRyOpztQwseb37Y/weAjpDM/ ySZsFgM1X17CZSgm+oAkrhqVmueKqJy1TG35O04rr9/w87uqlsVS8+t 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 HSCMAIL1.internal.ite.com.tw (192.168.35.58) X-TM-SNTS-SMTP: 2DE33DFBDDFECAAAD404731514EA243C1C3FE0DC0E09D0455B60C531B10328162002:8 X-MAIL: mse.ite.com.tw 59982w7d072679 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 | 155 +++++++++++++++++= ++++ 1 file changed, 155 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..60e1bd771c7c0767da2092c8dd6= 803f2b9c34358 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ite,it61620.yaml @@ -0,0 +1,155 @@ +# 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: + 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 + + 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 + + properties: + data-lanes: true + + 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_connect= or_in>; + }; + }; + + port@2 { + reg =3D <2>; + it61620_audio_in: endpoint { + remote-endpoint =3D <&i2s0_out>; + }; + }; + }; + }; + }; --=20 2.34.1 From nobody Fri Dec 19 08:58:11 2025 Received: from ironport.ite.com.tw (60-251-196-230.hinet-ip.hinet.net [60.251.196.230]) (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 486252D1F44; Thu, 9 Oct 2025 08:04:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.251.196.230 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759997061; cv=none; b=Pmy3f/48l4tXcuUpRKRG2pxmzchO6ZftssgVkKLnOTjYuNveUt5UHt/FhaNjsY8BGl2GFStUMTr7RhJel75OsCU7GDTM5YkTVnmo/Vv2/1at+2pq9ffjatfpFK3UQRG0G4DAOfZkZPL5xO3UbXoz5+zReRAvkrDdXL3TGdVyKe0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759997061; c=relaxed/simple; bh=6BA2TlDGlSoaxQC5g2gdr0gYAQWN8lt38dV7vkdEQ8g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=arvlGvJR+g/U8LCJCuCoCutR2ti9NEY+ct7Y+x9MLQpzm9nzoOIlPBvSQeVL9W6Fhuri1KVaRg2QW9jxw57ts9Wd7qP+Dm9BxS2MPANpCXcDZUWegPHDwk+YZm6zpuhmEwcDodA5JU4kH5v4yykgXf7P3L7CAaASYBI5W64X7ig= 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=LmjMe6kD; arc=none smtp.client-ip=60.251.196.230 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="LmjMe6kD" 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=Mxt4vyyQc+qV/KrU9vhaV3RGlhYuBgRXoAJEHsNLjR0=; b=LmjMe6kDXnYBhlfWfvLFaOTauZCgQ2VTOp9/7BgIlRXnH8iudbyVTMP4 UDYUGhXXqvYLDZ6GvoVMt8G3Q+AY3+eIxR4Q8uX8JGt3RF+WE8EJJ6ypx qz7MFkb8rx+nB7xtcow24tjdcPD/mq7PUS+PtkaBD2qsANFkNXPisD3gV SeXEaMeGU/eiPx8uaS+HBzV2aBPM0Hm6hNPf/aPEXHPNodynt7NHuykr7 PhwvmBLjz6rfYN0+zCd+EppN8uRr5TwaJA02iLO4C2/qRAvj+4QjXOve0 tN1++wH3lDR8/VIELQM+Fa43oK5zI0WiI5Kta4dOcSGtQo2kNMwHwk1J9 A==; X-CSE-ConnectionGUID: VRnEKLORQEW0qIe5BP7K/Q== X-CSE-MsgGUID: 3tENP390ThSD7n918n0egw== Received: from unknown (HELO mse.ite.com.tw) ([192.168.35.30]) by ironport.ite.com.tw with ESMTP; 09 Oct 2025 16:03:03 +0800 Received: from hscmail1.internal.ite.com.tw (HSCMAIL1.internal.ite.com.tw [192.168.35.58]) by mse.ite.com.tw with ESMTP id 59982wI7072678; Thu, 9 Oct 2025 16:02:58 +0800 (+08) (envelope-from Pet.Weng@ite.com.tw) Received: from [127.0.1.1] (192.168.72.40) by HSCMAIL1.internal.ite.com.tw (192.168.35.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57; Thu, 9 Oct 2025 16:02:57 +0800 From: Pet Weng Date: Thu, 9 Oct 2025 16:02:35 +0800 Subject: [PATCH v3 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: <20251009-it61620-0714-v3-2-5d682d028441@ite.com.tw> References: <20251009-it61620-0714-v3-0-5d682d028441@ite.com.tw> In-Reply-To: <20251009-it61620-0714-v3-0-5d682d028441@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=1759996978; l=91172; i=pet.weng@ite.com.tw; s=20250702; h=from:subject:message-id; bh=6BA2TlDGlSoaxQC5g2gdr0gYAQWN8lt38dV7vkdEQ8g=; b=AtaSsdALXjfW2kGWAnOA0Jjln09nq9LUusXEwTqTJMnI95gCBTugSmmb/5J+IEHvh6jGipfUJ U44ggqEJN6YDLo5K7wgosapxA0AWSwKqRmBo5VYSe/4wXQbKRC0FYUs 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 HSCMAIL1.internal.ite.com.tw (192.168.35.58) X-TM-SNTS-SMTP: B6FC7F571370660250CB0D71A74FC13C120BF5218825911C89768CE954E3D39A2002:8 X-MAIL: mse.ite.com.tw 59982wI7072678 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 | 18 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ite-it61620.c | 2998 ++++++++++++++++++++++++++++++= ++++ 3 files changed, 3017 insertions(+) diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index a250afd8d662200c250f8e7c1b968a956b9c180c..69430734faabae6e5eb8aa6c50c= dc47eca3545e1 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -111,6 +111,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 c7dc03182e59273f52250ecd158d90ac3d29439c..41668786a909a217872ef2222b5= 45d2b5bf87b51 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..079cb0ea264586a34c2b90858dc= f6c1e0c66078c --- /dev/null +++ b/drivers/gpu/drm/bridge/ite-it61620.c @@ -0,0 +1,2998 @@ +// 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