From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A9ED9CDB470 for ; Tue, 23 Jun 2026 19:58:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=x+ayT+LJkMv8hQFHRH8PnvPGyJe7wiPGxkSAMM4IUpc=; b=P1EAZd6mxdvGnN5tKNvflu4jNT VAJJ28Mjmly3LrSNweABpaEUJoECSR5a1jeX2uCs3rJOI5P3JfaA6ybr49CnB/FzsilXC0OTEWDRu VFN7V7nTy/Ky8ULG7cyxe2BeQcufmUU7iPzdIqQgMS7lw+NzoqFZjTUSYdTkx+rdXTQItbOVKStWH m3pscSmfc9GwBj/iQGcLcIzLzfYuh89Ec4sRkaiS/fvcVRlJX0AgCzb2SaPZjVGehIHLCr0Upj5cI qKTvLfVcY0hQXAvE0HZs8lS0bkkGvwRufm2XhE2OotTuqdbF+vOCWzhbDe2DJn5dh2BXpZQ8JrPZj TeiBWxfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wc7Gh-00000006oYV-1aM5; Tue, 23 Jun 2026 19:58:47 +0000 Received: from mail-dl1-x122e.google.com ([2607:f8b0:4864:20::122e]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wc7Ge-00000006oXH-0J09 for linux-arm-kernel@lists.infradead.org; Tue, 23 Jun 2026 19:58:45 +0000 Received: by mail-dl1-x122e.google.com with SMTP id a92af1059eb24-13986d61b4eso297604c88.0 for ; Tue, 23 Jun 2026 12:58:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782244723; x=1782849523; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=x+ayT+LJkMv8hQFHRH8PnvPGyJe7wiPGxkSAMM4IUpc=; b=PtaEmOdcN/k++ytY1pEukX5O2zw7uvaoxPmiHDShbcLNvsEessL0D9rqxjqcPP/GzJ qhKBhZaP/jV9jb2ELUK1wRum6hPH7bR1O/bQRYFWlr6kFT2WbNfPMbe9jCdLNW4cMm1n d8SuoioYo8vyybaPAX3YIFFpUvU3KyqX+6XL2SwBWrIDvTiBPt/dy28zBLnw6H5u0Pgw eCZRL+ZnzkbwrgB24HyQRb+SJhbmWqZRqo2WBjtudb2qdSWMqlBNheWVHSCJpvx4m8oU L3qe3X3xOABFse9CsGiGV5BvTNwaheosXhXq1hE0yww30QscH76HQaphB4BLrD5SoLc9 +A5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782244723; x=1782849523; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=x+ayT+LJkMv8hQFHRH8PnvPGyJe7wiPGxkSAMM4IUpc=; b=B17UcIOU+qF4cRGdAyBQgdErMtQem+bEuRGrazJojsThpoVdV68iescE6fsFV9Pz5v ZudykH4dPZiLtZn4wVXWLJMvBHbhFjP+NvZIItizjy/z014RMykLt42q2H82OX1Z6rat hLHreJYcJtX8ywB+SZyku/Z6dkmYJqfNBn23lisHMF2WI9/fYfh9gpIdKXwvQt8OBccf ZyrcbZOwUTUr20X0wJLYFiS5Qop9U5UICv0ee3YgNLs52PZ70Ps622Z8canv0YFBN8tI dZ9VFrDZdAwyL6/eWV7u9Ww+feDvHqUV6C4WpzU+/yM+OKFttERObOhsne46IazdLK3d 7akw== X-Forwarded-Encrypted: i=1; AFNElJ85/5kZJTNbEaeKwxJwrAKQ0KM7i47A94IVGqVfxWEzEFHOtGWkxJpJyWXgOrKUfGp+pEgbDJ6nLahVJnALJfxX@lists.infradead.org X-Gm-Message-State: AOJu0YyLRLAR2oax+EDf5j1X9WEz0cdJBp5tMc7y66rJsW7kL3qVitMH hdAKHgPQiWYFAePcrANVZKXe2J8CKugNhdudclxlcuCy7qbCri2qMyeR X-Gm-Gg: AfdE7cnHnCsYGMifI5kwCjeNV5C7dnWv0VcQ1FmEm9BQsMV4lsig9Tvlt4v2r943hRO 5b6SAmbGvJB0Eax6Q+Mw3mvpH0QPDpeDcevI8GEVlCqfkK67G+VnhO8yWEUnISfeVWrvzwdqvAu xuxFQ6cOyZzY/Y/2vd8nu5x/gtngYq3TTmSZDtBGIkQv/ezNOHrrxpfxdhlL7Z+TAiDBEwNuAyc yZ873RpAY35ppRB5Qr/63M9xLB6axRooHiNaXktomMG6uJoLdZYSYRHy7qgvyOYhFzgvweredjw Dfq/7QjpO66HP4SEwHHhnWxejDKZND3l5BjpheyE7+RAscbv/cpMqEN1TwnLNE5BH/Rn/znvIAB rJMEfrH9l89NcaTUjOFUbVfDvvDymwKhCgVoZaQrS1vA0g2eQd3r197xGoBq+OIFN10xy2G++tZ 04elWtkXd8F6lnWbsWA7YxheNDGKYIw/vXE8pnTXC1rYNRa5mk3rVnEMO10Ikq6a/TzcVMs7vBP fz2SCVxN8TT7+8LAf9rK2NWk84WyqssIOU3JZ7E1Ic= X-Received: by 2002:a05:7022:3d83:b0:128:d4be:7438 with SMTP id a92af1059eb24-139ad71294emr13401781c88.30.1782244723303; Tue, 23 Jun 2026 12:58:43 -0700 (PDT) Received: from leonardoc-nb (201-68-197-145.dsl.telesp.net.br. [201.68.197.145]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-139add85c40sm15730896c88.15.2026.06.23.12.58.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 12:58:42 -0700 (PDT) From: Leonardo Costa To: laurent.pinchart@ideasonboard.com, neil.armstrong@linaro.org, jesszhan0024@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, nm@ti.com, vigneshr@ti.com, kristo@kernel.org, prabhakar.mahadev-lad.rj@bp.renesas.com, thierry.reding@gmail.com, sam@ravnborg.org Cc: leonardo.costa@toradex.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/5] arm64: dts: ti: k3-am62-verdin: Add Toradex DSI to LVDS adapter with the 10.1" V2 display Date: Tue, 23 Jun 2026 16:57:40 -0300 Message-ID: <20260623195741.495734-5-leoreis.costa@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260623195741.495734-1-leoreis.costa@gmail.com> References: <20260623195741.495734-1-leoreis.costa@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260623_125844_118704_EE7182B3 X-CRM114-Status: GOOD ( 16.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Leonardo Costa Add a device tree overlay for the Toradex DSI to LVDS Adapter with the Toradex Capacitive Touch Display 10.1" LVDS V2. The adapter connects to the Verdin DSI_1 interface. It is based on the Texas Instruments SN65DSI84 DSI-to-LVDS bridge and drives an Opto Logic SCX1001511GGC49 10.1" WXGA TFT LCD LVDS panel. Touch input is provided by an ILITEK ILI251x capacitive touch controller. Link: https://developer.toradex.com/hardware/accessories/add-ons/dsi-lvds-adapter Link: https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds Signed-off-by: Leonardo Costa --- arch/arm64/boot/dts/ti/Makefile | 5 + ...dsi-to-lvds-v2-panel-cap-touch-10inch.dtso | 143 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtso diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index 61ae9039e561d..8b90fef11cb32 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -34,6 +34,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-mezzanine-panel-cap-touch-10inch-lv dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-nau8822-btl.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dsi-to-hdmi.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dsi-to-lvds-panel-cap-touch-10inch.dtbo +dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia-panel-cap-touch-10inch-dsi.dtb dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb @@ -231,6 +232,9 @@ k3-am625-sk-hdmi-audio-dtbs := k3-am625-sk.dtb k3-am62x-sk-hdmi-audio.dtbo k3-am625-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch-dtbs := \ k3-am625-verdin-wifi-dev.dtb \ k3-am625-verdin-dsi-to-lvds-panel-cap-touch-10inch.dtbo +k3-am625-verdin-wifi-dev-dsi-to-lvds-v2-panel-cap-touch-10inch-dtbs := \ + k3-am625-verdin-wifi-dev.dtb \ + k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtbo k3-am625-verdin-wifi-dev-mezzanine-can-dtbs := k3-am625-verdin-wifi-dev.dtb \ k3-am625-verdin-dev-mezzanine-can.dtbo k3-am625-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds-dtbs := \ @@ -355,6 +359,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \ k3-am625-sk-csi2-tevi-ov5640.dtb \ k3-am625-sk-hdmi-audio.dtb \ k3-am625-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch.dtb \ + k3-am625-verdin-wifi-dev-dsi-to-lvds-v2-panel-cap-touch-10inch.dtb \ k3-am625-verdin-wifi-dev-mezzanine-can.dtb \ k3-am625-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds.dtb \ k3-am625-verdin-wifi-dev-nau8822-btl.dtb \ diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtso b/arch/arm64/boot/dts/ti/k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtso new file mode 100644 index 0000000000000..dba0b6b9f02db --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtso @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright (c) Toradex + * + * Toradex DSI to LVDS Adapter on Verdin DSI_1 with Capacitive Touch Display 10.1" + * Used on Dahlia (X17) and Development Board (X48) that expose DSI_1 via an + * Samtec LSS-130 connector. + * + * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds + * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-lvds + * https://developer.toradex.com/hardware/accessories/add-ons/dsi-lvds-adapter + * https://www.toradex.com/accessories/verdin-dsi-to-lvds-adapter + */ + +/dts-v1/; +/plugin/; + +#include +#include +#include + +&{/} { + backlight_pwm3: backlight-pwm3 { + compatible = "pwm-backlight"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2s_2_d_out_gpio>; + brightness-levels = <0 45 63 88 119 158 203 255>; + default-brightness-level = <4>; + /* Verdin I2S_2_D_OUT as GPIO (SODIMM 46) */ + enable-gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>; + power-supply = <®_3v3>; + /* Verdin PWM_3_DSI (SODIMM 19) */ + pwms = <&epwm1 0 6666667 0>; + }; + + panel-lvds-bridge { + compatible = "optologic,scx1001511ggc49", "panel-lvds"; + backlight = <&backlight_pwm3>; + data-mapping = "vesa-24"; + height-mm = <136>; + width-mm = <217>; + + /* + * The timings here are different from the nominal ones for the + * SCX1001511GGC49 display. They are adjusted to ensure that + * the Horizontal Front Porch is long enough for the Verdin + * AM62 DPI->DSI bridge (Toshiba TC358768) to enter/exit LP + * mode. This is required for the display pipeline to work + * correctly. + */ + panel-timing { + clock-frequency = <69500000>; + hactive = <1280>; + hback-porch = <20>; + hfront-porch = <100>; + hsync-len = <24>; + vactive = <800>; + vback-porch = <5>; + vfront-porch = <5>; + vsync-len = <3>; + de-active = <1>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + + port { + panel_lvds_bridge_in: endpoint { + remote-endpoint = <&dsi_lvds_bridge_out>; + }; + }; + }; +}; + +&dsi_bridge { + status = "okay"; +}; + +&dsi_bridge_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + dsi_bridge_out: endpoint { + remote-endpoint = <&dsi_lvds_bridge_in>; + }; + }; +}; + +&dss { + status = "okay"; +}; + +/* Verdin I2C_1 */ +&main_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + bridge@2c { + compatible = "ti,sn65dsi84"; + reg = <0x2c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_dsi1_bkl_en>; + /* Verdin GPIO_10_DSI (SODIMM 21) - DSI_1_BKL_EN */ + enable-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dsi_lvds_bridge_in: endpoint { + remote-endpoint = <&dsi_bridge_out>; + data-lanes = <1 2 3 4>; + }; + }; + + port@2 { + reg = <2>; + + dsi_lvds_bridge_out: endpoint { + remote-endpoint = <&panel_lvds_bridge_in>; + }; + }; + }; + }; + + touchscreen@41 { + compatible = "ilitek,ili251x"; + reg = <0x41>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_dsi1_int>, <&pinctrl_i2s_2_bclk_gpio>; + /* Verdin GPIO_9_DSI (SODIMM 17) - TOUCH_INT# */ + interrupt-parent = <&main_gpio1>; + interrupts = <49 IRQ_TYPE_EDGE_RISING>; + /* Verdin I2S_2_BCLK (SODIMM 42) - TOUCH_RESET# */ + reset-gpios = <&main_gpio0 35 GPIO_ACTIVE_LOW>; + }; +};