[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251104125208.1009695-1-tessolveupstream@gmail.com>
Date: Tue, 4 Nov 2025 18:22:08 +0530
From: Sudarshan Shetty <tessolveupstream@...il.com>
To: andersson@...nel.org,
konradybcio@...nel.org
Cc: robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Sudarshan Shetty <tessolveupstream@...il.com>
Subject: [PATCH v2] arm64: dts: qcom: talos-evk: Add support for dual-channel LVDS panel
The QCS615-based Talos EVK platform supports a dual-channel
LVDS display configuration using the TI SN65DSI84 DSI-to-LVDS bridge.
This setup enables dual-link LVDS operation where channel A
carries odd pixels and channel B carries even pixels.
A dedicated device tree variant is introduced to describe this
specific hardware configuration. It extends the base Talos EVK
device tree with the additional bridge node and display
pipeline settings required for dual-channel LVDS operation.
Signed-off-by: Sudarshan Shetty <tessolveupstream@...il.com>
---
Changes in v2:
- Renamed node 'lcd0_pwm_en' to 'lcd0-pwm-en' as per review feedback
- Restructured Talos DT hierarchy to avoid including a .dts file
directly
- Updated 'talos-evk-lvds.dts' to include 'talos-evk-som.dtsi' and
'talos-evk-cb.dtsi'
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/talos-evk-lvds.dts | 122 ++++++++++++++++++++
2 files changed, 123 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index d5a3dd98137d..6e7b04e67287 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -307,6 +307,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
dtb-$(CONFIG_ARCH_QCOM) += talos-evk-dsi.dtb
+dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds.dtb
x1e001de-devkit-el2-dtbs := x1e001de-devkit.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
x1e78100-lenovo-thinkpad-t14s-el2-dtbs := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds.dts b/arch/arm64/boot/dts/qcom/talos-evk-lvds.dts
new file mode 100644
index 000000000000..3754ed1b4423
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds.dts
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+#include "talos-evk-cb.dtsi"
+
+/ {
+
+ backlight: backlight {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
+ lcd-pwm-en {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>;
+ default-on;
+ };
+
+ panel-lvds {
+ compatible = "auo,g133han01";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* LVDS A (Odd pixels) */
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ lvds_panel_out_a: endpoint {
+ remote-endpoint = <&sn65dsi84_out_a>;
+ };
+ };
+
+ /* LVDS B (Even pixels) */
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ lvds_panel_out_b: endpoint {
+ remote-endpoint = <&sn65dsi84_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&i2c1 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ bridge: bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+ ti,dsi-lanes = <4>;
+ ti,lvds-format = "jeida-24";
+ ti,lvds-bpp = <24>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sn65dsi84_in: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ sn65dsi84_out_a: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_a>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+
+ sn65dsi84_out_b: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&lvds_panel_out_b>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l11a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&sn65dsi84_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&tlmm {
+ lcd_bklt_en: lcd-bklt-en-state {
+ pins = "gpio115";
+ function = "gpio";
+ bias-disable;
+ };
+
+ lcd_bklt_pwm: lcd-bklt-pwm-state {
+ pins = "gpio59";
+ function = "gpio";
+ bias-disable;
+ };
+};
--
2.34.1
Powered by blists - more mailing lists