[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <q63bdon55app4gb2il5e7skyc6z2amcnaiqbqlhen7arkxphtb@3jejbelji2ti>
Date: Sat, 6 Dec 2025 01:21:53 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Sudarshan Shetty <tessolveupstream@...il.com>
Cc: andersson@...nel.org, konradybcio@...nel.org, 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
Subject: Re: [PATCH v9 2/2] arm64: dts: qcom: talos-evk: Add support for
QCS615 talos evk board
On Mon, Dec 01, 2025 at 10:52:22PM +0530, Sudarshan Shetty wrote:
> Add the device tree for the QCS615-based Talos EVK platform. The
> platform is composed of a System-on-Module following the SMARC
> standard, and a Carrier Board.
>
> The Carrier Board supports several display configurations, HDMI and
> LVDS. Both configurations use the same base hardware, with the display
> selection controlled by a DIP switch.
>
> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
> can describe the HDMI display configurations.
>
> The initial device tree includes support for:
> - CPU and memory
> - UART
> - GPIOs
> - Regulators
> - PMIC
> - Early console
> - AT24MAC602 EEPROM
> - MCP2515 SPI to CAN
> - ADV7535 DSI-to-HDMI bridge
> - DisplayPort interface
>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@...il.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 3 +
> .../qcom/talos-evk-lvds-auo,g133han01.dtso | 131 +++++
> arch/arm64/boot/dts/qcom/talos-evk-som.dtsi | 447 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/talos-evk.dts | 137 ++++++
> 4 files changed, 718 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 5b52f9e4e5f3..94c20074397c 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -305,6 +305,9 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk.dtb
> +talos-evk-lvds-auo,g133han01-dtbs := talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.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-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> new file mode 100644
> index 000000000000..2a90d61892e7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
> @@ -0,0 +1,131 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 115 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
> +
> + hdmi-out {
> + status = "disabled";
> + };
> +
> + lcd-pwm-en {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>;
> + default-on;
> + };
I really don't like the idea of describing two separate backlight
devices here. We have a single backlight on the panel, controlled by two
GPIOs. I think, using GPIO instead of a PWM is a sensible enough usecase
to let DT use two GPIOs in gpio-backlight (with corresponding changes to
the bindings and the driver).
> +
> + panel-lvds {
> + compatible = "auo,g133han01";
backlight = <&backlight>;
> +
> + 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>;
> + };
> + };
> + };
> + };
> +};
> +
--
With best wishes
Dmitry
Powered by blists - more mailing lists