From ff3a0ef9991531b270bf614f7031dc99c7b0907e Mon Sep 17 00:00:00 2001 From: Anand Tiwari Date: Thu, 22 Oct 2026 16:53:56 +0530 Subject: [PATCH 1/7] Revert "PENDING: arm64: dts: qcom: talos-lyra-evk: Add LT9611UXD HDMI bridge support" This reverts commit 5b89aea950e606da5455ee4c82afac5221ed0ce4. The HDMI bridge support is being re-picked as-is from the upstream posting (FROMLIST) in the next commit, so the locally-authored PENDING version with divergent node/label naming is removed first. Signed-off-by: Anand Tiwari --- arch/arm64/boot/dts/qcom/talos-lyra-evk.dts | 94 --------------------- 1 file changed, 94 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts index 41d01bd363962..7f5d2eaaca612 100644 --- a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts @@ -4,7 +4,6 @@ */ /dts-v1/; -#include #include "talos-lyra-evk-som.dtsi" / { @@ -31,28 +30,6 @@ }; }; - hdmi-connector { - compatible = "hdmi-connector"; - type = "a"; - - port { - hdmi_con: endpoint { - remote-endpoint = <<9611_out>; - }; - }; - }; - - vreg_lt9611_vcc: regulator-lt9611-vcc { - compatible = "regulator-fixed"; - regulator-name = "lt9611_vcc"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&tlmm 3 GPIO_ACTIVE_HIGH>; - enable-active-high; - pinctrl-0 = <<9611_vcc_pin>; - pinctrl-names = "default"; - }; - vreg_keye_3p3: regulator-keye-3p3 { compatible = "regulator-fixed"; regulator-name = "vreg_keye_3p3"; @@ -142,43 +119,6 @@ }; }; -&i2c2 { - status = "okay"; - - lt9611uxd: lt9611uxd@41 { - compatible = "lontium,lt9611uxd"; - reg = <0x41>; - interrupts-extended = <&tlmm 60 IRQ_TYPE_EDGE_FALLING>; - reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; - vcc-supply = <&vreg_lt9611_vcc>; - vdd-supply = <&vreg_s4a>; - - pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; - pinctrl-names = "default"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - - lt9611_a: endpoint { - remote-endpoint = <&mdss_dsi0_out>; - }; - }; - - port@2 { - reg = <2>; - - lt9611_out: endpoint { - remote-endpoint = <&hdmi_con>; - }; - }; - }; - }; -}; - &i2c5 { clock-frequency = <100000>; @@ -245,19 +185,6 @@ remote-endpoint = <&dp0_connector_in>; }; -&mdss_dsi0 { - status = "okay"; -}; - -&mdss_dsi0_out { - remote-endpoint = <<9611_a>; - data-lanes = <0 1 2 3>; -}; - -&mdss_dsi0_phy { - status = "okay"; -}; - &pcie_port0 { tc9563: pcie@0,0 { compatible = "pci1179,0623"; @@ -484,27 +411,6 @@ function = "gpio"; }; - lt9611_irq_pin: lt9611-irq-state { - pins = "gpio60"; - function = "gpio"; - drive-strength = <2>; - bias-disable; - }; - - lt9611_rst_pin: lt9611-rst-state { - pins = "gpio61"; - function = "gpio"; - drive-strength = <8>; - bias-disable; - }; - - lt9611_vcc_pin: lt9611-vcc-state { - pins = "gpio3"; - function = "gpio"; - drive-strength = <8>; - bias-disable; - }; - pcie_default_state: pcie-default-state { clkreq-pins { pins = "gpio90"; From dca1114b28b6c91c7c4d652a5039cdbf9c9ef8c0 Mon Sep 17 00:00:00 2001 From: Mohit Dsor Date: Fri, 16 Oct 2026 13:52:22 +0530 Subject: [PATCH 2/7] FROMLIST: arm64: dts: qcom: talos-lyra-evk: Add LT9611UXD HDMI bridge support Add support for the Lontium LT9611UXD DSI-to-HDMI bridge, enabled by default on the Talos Lyra EVK base board DT, to provide HDMI output on the DSI0_B2B connector on the carrier card. LT9611UXD is connected through I2C2, with reset and interrupt connected to TLMM GPIO61 and GPIO60 respectively. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-1-906302159392@oss.qualcomm.com Signed-off-by: Mohit Dsor Signed-off-by: Anand Tiwari Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/talos-lyra-evk.dts | 102 ++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts index 7f5d2eaaca612..e03528f6929ca 100644 --- a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts @@ -4,6 +4,8 @@ */ /dts-v1/; +#include +#include #include "talos-lyra-evk-som.dtsi" / { @@ -14,6 +16,7 @@ aliases { serial1 = &uart7; + i2c2 = &i2c2; }; dp0-connector { @@ -30,6 +33,28 @@ }; }; + hdmi_connector: hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_connector_out: endpoint { + remote-endpoint = <&hdmi_bridge_out>; + }; + }; + }; + + vreg_disp_3p3: regulator-disp-3p3 { + compatible = "regulator-fixed"; + regulator-name = "vreg_disp_3p3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&tlmm 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + pinctrl-0 = <&lcd_bias_en>; + pinctrl-names = "default"; + }; + vreg_keye_3p3: regulator-keye-3p3 { compatible = "regulator-fixed"; regulator-name = "vreg_keye_3p3"; @@ -119,6 +144,43 @@ }; }; +&i2c2 { + status = "okay"; + + hdmi_bridge: hdmi-bridge@41 { + compatible = "lontium,lt9611uxd"; + reg = <0x41>; + interrupts-extended = <&tlmm 60 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; + vcc-supply = <&vreg_disp_3p3>; + vdd-supply = <&vreg_s4a>; + + pinctrl-0 = <&bridge_irq_pin &bridge_rst_pin>; + pinctrl-names = "default"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + hdmi_bridge_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@2 { + reg = <2>; + + hdmi_bridge_out: endpoint { + remote-endpoint = <&hdmi_connector_out>; + }; + }; + }; + }; +}; + &i2c5 { clock-frequency = <100000>; @@ -185,6 +247,23 @@ remote-endpoint = <&dp0_connector_in>; }; +&mdss_dsi0 { + vdda-supply = <&vreg_l5a>; + + status = "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint = <&hdmi_bridge_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l11a>; + + status = "okay"; +}; + &pcie_port0 { tc9563: pcie@0,0 { compatible = "pci1179,0623"; @@ -449,6 +528,29 @@ }; }; +&tlmm { + lcd_bias_en: lcd-bias-en-state { + pins = "gpio3"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + bridge_irq_pin: bridge-irq-state { + pins = "gpio60"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + bridge_rst_pin: bridge-rst-state { + pins = "gpio61"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; +}; + &uart7 { status = "okay"; From bdc0e1c3ce042bff680599133dcd1b0102971c29 Mon Sep 17 00:00:00 2001 From: Shashank Maurya Date: Fri, 16 Oct 2026 15:08:11 +0530 Subject: [PATCH 3/7] FROMLIST: arm64: dts: qcom: talos-lyra-evk: Add DLC DLC0697 panel overlay Add a DT overlay for Qualcomm Talos Lyra EVK, to enable DLC0697 panel when DLC daughter card connected to DSI0_B2B on carrier card. Configure DLC0697 reset GPIO, supplies, pinctrl states and GPIO backlight controlled through TLMM GPIO 2. Disable the default HDMI bridge and connector in favour of the DSI panel. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-2-906302159392@oss.qualcomm.com Signed-off-by: Shashank Maurya Signed-off-by: Anand Tiwari Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/Makefile | 3 + .../boot/dts/qcom/talos-lyra-evk-dlc0697.dtso | 77 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-lyra-evk-dlc0697.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index e5c0e2e00f66d..45b593d4b83f8 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -510,6 +510,9 @@ dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtbo talos-lyra-evk-camx-dtbs := talos-lyra-evk.dtb talos-lyra-evk-camx.dtbo dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-camx.dtb +talos-lyra-evk-dlc0697-dtbs := talos-lyra-evk.dtb talos-lyra-evk-dlc0697.dtbo +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtb +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtbo 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-lyra-evk-dlc0697.dtso b/arch/arm64/boot/dts/qcom/talos-lyra-evk-dlc0697.dtso new file mode 100644 index 0000000000000..b79e544597258 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk-dlc0697.dtso @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ +/dts-v1/; +/plugin/; + +#include + +&{/} { + backlight: backlight { + compatible = "gpio-backlight"; + gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + }; +}; + +&hdmi_bridge { + status = "disabled"; +}; + +&hdmi_connector { + status = "disabled"; +}; + +&mdss_dsi0 { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "dlc,dlc0697", "ilitek,ili7807s"; + reg = <0>; + + reset-gpios = <&tlmm 118 GPIO_ACTIVE_LOW>; + backlight = <&backlight>; + + vddi-supply = <&vreg_s4a>; + avdd-supply = <&vreg_disp_3p3>; + avee-supply = <&vreg_disp_3p3>; + + pinctrl-0 = <&panel_rst_n &panel_te_pin>; + pinctrl-1 = <&panel_rst_n_suspend>; + pinctrl-names = "default", "sleep"; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel_in>; +}; + +&tlmm { + panel_te_pin: panel-te-pin-state { + pins = "gpio98"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + panel_rst_n: panel-rst-n-state { + pins = "gpio118"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + panel_rst_n_suspend: panel-rst-n-suspend-state { + pins = "gpio118"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; +}; From cfc43c1b88d31579d10189b8748c67130c71b772 Mon Sep 17 00:00:00 2001 From: Shashank Maurya Date: Fri, 16 Oct 2026 15:03:13 +0530 Subject: [PATCH 4/7] FROMLIST: arm64: dts: qcom: talos-lyra-evk: Add RPi 7-inch DSI panel overlay Add a DT overlay to enable Raspberry Pi 7-inch DSI panel connected to DSI 22pin on the carrier card. DSI0 from SOC is routed through MUX which can be selected by DIP switch S1016.5 ON for enabling this 22pin connector. Add the regulator and backlight controller at I2C2 address 0x45, Goodix GT911 touch controller, panel power and reset control, and a 2-lane DSI connection. Disable the default HDMI bridge and connector in favour of the RPi DSI panel. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-3-906302159392@oss.qualcomm.com Signed-off-by: Shashank Maurya Signed-off-by: Anand Tiwari Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/Makefile | 5 ++ .../talos-lyra-evk-raspberrypi-dsi-7inch.dtso | 88 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-lyra-evk-raspberrypi-dsi-7inch.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 45b593d4b83f8..e9e1a618dff45 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -513,6 +513,11 @@ dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-camx.dtb talos-lyra-evk-dlc0697-dtbs := talos-lyra-evk.dtb talos-lyra-evk-dlc0697.dtbo dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtb dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtbo + +talos-lyra-evk-raspberrypi-dsi-7inch-dtbs := \ + talos-lyra-evk.dtb talos-lyra-evk-raspberrypi-dsi-7inch.dtbo +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-raspberrypi-dsi-7inch.dtb +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-raspberrypi-dsi-7inch.dtbo 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-lyra-evk-raspberrypi-dsi-7inch.dtso b/arch/arm64/boot/dts/qcom/talos-lyra-evk-raspberrypi-dsi-7inch.dtso new file mode 100644 index 0000000000000..6dafdbb87d3d0 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk-raspberrypi-dsi-7inch.dtso @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ +/dts-v1/; +/plugin/; + +#include + +&{/} { + display_bl: backlight { + compatible = "pwm-backlight"; + power-supply = <®_display>; + pwms = <&mcu 0 255 0>; + }; + + reg_display: regulator-display { + compatible = "regulator-fixed"; + regulator-name = "rpi-display"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + reg_dsi_touch: regulator-dsi-touch { + compatible = "regulator-fixed"; + gpio = <&mcu 1 GPIO_ACTIVE_HIGH>; + regulator-name = "rpi-touch"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <50000>; + enable-active-high; + }; +}; + +&hdmi_bridge { + status = "disabled"; +}; + +&hdmi_connector { + status = "disabled"; +}; + +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; + + mcu: gpio@45 { + compatible = "raspberrypi,touchscreen-panel-regulator-v2"; + reg = <0x45>; + gpio-controller; + #gpio-cells = <2>; + #pwm-cells = <3>; + }; + + touchscreen@5d { + compatible = "goodix,gt911"; + reg = <0x5d>; + AVDD28-supply = <®_dsi_touch>; + touchscreen-size-x = <720>; + touchscreen-size-y = <1280>; + }; +}; + +&mdss_dsi0 { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c"; + reg = <0>; + + reset-gpios = <&mcu 0 GPIO_ACTIVE_LOW>; + power-supply = <®_display>; + iovcc-supply = <&vreg_s4a>; + backlight = <&display_bl>; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel_in>; + data-lanes = <0 1>; +}; From 3a4fc2beb6836669893e9f80ecd5244629ff0de6 Mon Sep 17 00:00:00 2001 From: Shashank Maurya Date: Fri, 16 Oct 2026 15:03:59 +0530 Subject: [PATCH 5/7] FROMLIST: arm64: dts: qcom: talos-lyra-evk: Add Waveshare 8-inch DSI panel overlay Add a DT overlay to enable Waveshare 8-inch DSI panel connected to DSI 22pin on the carrier card. DSI0 from SOC is routed through MUX which can be selected by DIP switch S1016.5 ON, for enabling this 22pin connector. Add the JD9365DA-H3 panel, GPIO expander at I2C2 address 0x45 for panel power, reset and backlight, and the Goodix GT9271 touch controller. Disable the default HDMI bridge and connector in favour of the Waveshare DSI panel. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-4-906302159392@oss.qualcomm.com Signed-off-by: Shashank Maurya Signed-off-by: Anand Tiwari Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/Makefile | 5 ++ .../talos-lyra-evk-waveshare-dsi-8inch.dtso | 75 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-lyra-evk-waveshare-dsi-8inch.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index e9e1a618dff45..020900c5c119a 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -518,6 +518,11 @@ talos-lyra-evk-raspberrypi-dsi-7inch-dtbs := \ talos-lyra-evk.dtb talos-lyra-evk-raspberrypi-dsi-7inch.dtbo dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-raspberrypi-dsi-7inch.dtb dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-raspberrypi-dsi-7inch.dtbo + +talos-lyra-evk-waveshare-dsi-8inch-dtbs := \ + talos-lyra-evk.dtb talos-lyra-evk-waveshare-dsi-8inch.dtbo +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-waveshare-dsi-8inch.dtb +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-waveshare-dsi-8inch.dtbo 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-lyra-evk-waveshare-dsi-8inch.dtso b/arch/arm64/boot/dts/qcom/talos-lyra-evk-waveshare-dsi-8inch.dtso new file mode 100644 index 0000000000000..e9a8fdf0c179b --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk-waveshare-dsi-8inch.dtso @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ +/dts-v1/; +/plugin/; + +#include + +&{/} { + panel_avdd: regulator-panel-avdd { + compatible = "regulator-fixed"; + regulator-name = "panel-avdd"; + gpios = <&wsgpio 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + panel_iovcc: regulator-panel-iovcc { + compatible = "regulator-fixed"; + regulator-name = "panel-iovcc"; + gpios = <&wsgpio 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&hdmi_bridge { + status = "disabled"; +}; + +&hdmi_connector { + status = "disabled"; +}; + +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; + + wsgpio: gpio@45 { + compatible = "waveshare,dsi-touch-gpio"; + reg = <0x45>; + gpio-controller; + #gpio-cells = <2>; + }; + + touchscreen@5d { + compatible = "goodix,gt9271"; + reg = <0x5d>; + reset-gpios = <&wsgpio 9 GPIO_ACTIVE_HIGH>; + }; +}; + +&mdss_dsi0 { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "waveshare,8.0-dsi-touch-a", "jadard,jd9365da-h3"; + reg = <0>; + + reset-gpios = <&wsgpio 1 GPIO_ACTIVE_LOW>; + vccio-supply = <&panel_iovcc>; + vdd-supply = <&panel_avdd>; + backlight = <&wsgpio>; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel_in>; +}; From bbcc8da2136eecdbed883a9e6a7d5ec808114071 Mon Sep 17 00:00:00 2001 From: Anand Tiwari Date: Mon, 19 Oct 2026 11:26:23 +0530 Subject: [PATCH 6/7] FROMLIST: arm64: defconfig: Enable PWM_CLK for backlight PWM support Enable CONFIG_PWM_CLK so the generic clock-based PWM driver is available, used by the Qualcomm Talos Lyra EVK LVDS panel overlay backlight. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-5-906302159392@oss.qualcomm.com Signed-off-by: Anand Tiwari --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index be9b674d778b6..32db0ee75e1fc 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1648,6 +1648,7 @@ CONFIG_PWM=y CONFIG_PWM_ADP5585=m CONFIG_PWM_BCM2835=m CONFIG_PWM_BRCMSTB=m +CONFIG_PWM_CLK=m CONFIG_PWM_CROS_EC=m CONFIG_PWM_IMX27=m CONFIG_PWM_MESON=m From b45da638f12ceeee0ff81870e80c744b48699862 Mon Sep 17 00:00:00 2001 From: Anand Tiwari Date: Fri, 16 Oct 2026 13:52:56 +0530 Subject: [PATCH 7/7] FROMLIST: arm64: dts: qcom: talos-lyra-evk: Add AUO G133HAN01 LVDS panel overlay Add a DT overlay for Qualcomm Talos Lyra EVK, to enable LVDS interface when LVDS daughter card is connected to DSI0_B2B on carrier card. There is SN65DSI84 DSI-to-LVDS bridge on the daughter card which is connected through I2C5 with reset and interrupt connected to GPIO61 and GPIO60. Backlight is driven by a generic clock-based PWM using GCC_GP3 on TLMM GPIO59, with an additional backlight enable GPIO on TLMM GPIO2. Disable the default HDMI bridge and connector in favour of the LVDS panel. Link: https://lore.kernel.org/r/20261030-lyra-display-upstream-post-v2-6-906302159392@oss.qualcomm.com Signed-off-by: Anand Tiwari Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/Makefile | 4 + .../talos-lyra-evk-lvds-auo,g133han01.dtso | 133 ++++++++++++++++++ arch/arm64/boot/dts/qcom/talos-lyra-evk.dts | 1 + 3 files changed, 138 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/talos-lyra-evk-lvds-auo,g133han01.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 020900c5c119a..7a2f9af94c284 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -510,6 +510,10 @@ dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtbo talos-lyra-evk-camx-dtbs := talos-lyra-evk.dtb talos-lyra-evk-camx.dtbo dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-camx.dtb +talos-lyra-evk-lvds-auo,g133han01-dtbs := \ + talos-lyra-evk.dtb talos-lyra-evk-lvds-auo,g133han01.dtbo +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-lvds-auo,g133han01.dtb +dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-lvds-auo,g133han01.dtbo talos-lyra-evk-dlc0697-dtbs := talos-lyra-evk.dtb talos-lyra-evk-dlc0697.dtbo dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtb dtb-$(CONFIG_ARCH_QCOM) += talos-lyra-evk-dlc0697.dtbo diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-lyra-evk-lvds-auo,g133han01.dtso new file mode 100644 index 0000000000000..8c592e6317c30 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk-lvds-auo,g133han01.dtso @@ -0,0 +1,133 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; +/plugin/; + +#include +#include +#include +#include + +&{/} { + bklt_pwm: pwm { + compatible = "clk-pwm"; + #pwm-cells = <2>; + assigned-clock-parents = <&rpmhcc RPMH_CXO_CLK>; + assigned-clocks = <&gcc GCC_GP3_CLK_SRC>; + clocks = <&gcc GCC_GP3_CLK>; + pinctrl-0 = <&bklt_pwm_default>; + pinctrl-names = "default"; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&bklt_pwm 0 100000>; + power-supply = <&vreg_disp_3p3>; + enable-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; + brightness-levels = <0 255>; + num-interpolated-steps = <255>; + default-brightness-level = <128>; + }; + + panel-lvds { + compatible = "auo,g133han01"; + power-supply = <&vreg_disp_3p3>; + backlight = <&backlight>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* LVDS Channel A - odd pixels */ + port@0 { + reg = <0>; + dual-lvds-odd-pixels; + + lvds_panel_out_a: endpoint { + remote-endpoint = <&sn65dsi84_out_a>; + }; + }; + + /* LVDS Channel B - even pixels */ + port@1 { + reg = <1>; + dual-lvds-even-pixels; + + lvds_panel_out_b: endpoint { + remote-endpoint = <&sn65dsi84_out_b>; + }; + }; + }; + }; +}; + +&hdmi_connector { + status = "disabled"; +}; + +&i2c5 { + #address-cells = <1>; + #size-cells = <0>; + + bridge@2c { + compatible = "ti,sn65dsi84"; + reg = <0x2c>; + enable-gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&tlmm 60 IRQ_TYPE_EDGE_FALLING>; + vcc-supply = <&vreg_s4a>; + + pinctrl-0 = <&bridge_irq_pin &bridge_rst_pin>; + pinctrl-names = "default"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + sn65dsi84_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + data-lanes = <1 2 3 4>; + }; + }; + + port@2 { + reg = <2>; + + sn65dsi84_out_a: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&lvds_panel_out_a>; + }; + }; + + port@3 { + reg = <3>; + + sn65dsi84_out_b: endpoint { + data-lanes = <1 2 3 4>; + remote-endpoint = <&lvds_panel_out_b>; + }; + }; + }; + }; +}; + +&hdmi_bridge { + status = "disabled"; +}; + +&tlmm { + bklt_pwm_default: bklt-pwm-default-state { + pins = "gpio59"; + function = "gcc_gp"; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&sn65dsi84_in>; + data-lanes = <0 1 2 3>; +}; diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts index e03528f6929ca..9fd1d9b625a4e 100644 --- a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts +++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts @@ -17,6 +17,7 @@ aliases { serial1 = &uart7; i2c2 = &i2c2; + i2c5 = &i2c5; }; dp0-connector {