[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5d91923f-8929-4bce-94e7-2b96fa2062af@ti.com>
Date: Fri, 3 Oct 2025 17:34:36 +0530
From: Swamil Jain <s-jain1@...com>
To: Wadim Egorov <w.egorov@...tec.de>, <nm@...com>, <vigneshr@...com>,
<kristo@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <aradhya.bhatia@...ux.dev>,
"Thakkar, Devarsh"
<devarsht@...com>
CC: <linux-arm-kernel@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <upstream@...ts.phytec.de>
Subject: Re: [PATCH v2 3/3] arm64: dts: ti: am625-phyboard-lyra: Add Lincoln
LCD185-101CT panel overlay
Hi Wadim,
On 9/25/25 15:30, Wadim Egorov wrote:
> The panel is a Lincoln Technology Solutions LCD185-101CT [0]. It is
> a dual-link LVDS panel and supports WUXGA resolution (1920x1200).
> Furthermore, it has an I2C based touch controller: Goodix-GT928.
>
> Add an device tree overlay to support the Lincoln LCD185-101CT panel
> in combination with the phyBOARD-Lyra-AM62x.
>
> [0] https://lincolntechsolutions.com/wp-content/uploads/2024/09/LCD185-101CTL1ARNTT_DS_R1.3.pdf
>
> Signed-off-by: Wadim Egorov <w.egorov@...tec.de>
> ---
NACK. PATCH 1/3 and 2/3 are posted and reviewed already, please add link
to your PATCH and mention to apply it on top of the series[1].
[1]: https://lore.kernel.org/all/20250913064205.4152249-1-s-jain1@ti.com/
Regards,
Swamil
> v1: https://lists.infradead.org/pipermail/linux-arm-kernel/2025-September/1065767.html
> v2: Use port dummies defined in previous patch
> ---
> arch/arm64/boot/dts/ti/Makefile | 3 +
> .../k3-am625-phyboard-lyra-oldi-lcd185.dtso | 188 ++++++++++++++++++
> 2 files changed, 191 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-oldi-lcd185.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index aad9177930e6..aa34a0d77615 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am652-phyboard-lyra-oldi-lcd185.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dev.dtb
> @@ -165,6 +166,8 @@ k3-am625-phyboard-lyra-gpio-fan-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
> k3-am62x-phyboard-lyra-gpio-fan.dtbo
> k3-am625-phyboard-lyra-qspi-nor-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
> k3-am6xx-phycore-qspi-nor.dtbo
> +k3-am625-phyboard-lyra-oldi-lcd185-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
> + k3-am625-phyboard-lyra-oldi-lcd185.dtbo
> k3-am625-sk-csi2-imx219-dtbs := k3-am625-sk.dtb \
> k3-am62x-sk-csi2-imx219.dtbo
> k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
> diff --git a/arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-oldi-lcd185.dtso b/arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-oldi-lcd185.dtso
> new file mode 100644
> index 000000000000..b1feb665248b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-oldi-lcd185.dtso
> @@ -0,0 +1,188 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2025 PHYTEC Messtechnik GmbH
> + * Author: Wadim Egorov <w.egorov@...tec.de>
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/pwm/pwm.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include "k3-pinctrl.h"
> +
> +&{/} {
> + display {
> + compatible = "lincolntech,lcd185-101ct";
> + backlight = <&backlight>;
> + power-supply = <&vdd_usb_5v0>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + dual-lvds-odd-pixels;
> + lcd_in0: endpoint {
> + remote-endpoint = <&oldi_0_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + dual-lvds-even-pixels;
> + lcd_in1: endpoint {
> + remote-endpoint = <&oldi_1_out>;
> + };
> + };
> + };
> + };
> +
> + backlight: backlight {
> + pinctrl-names = "default";
> + pinctrl-0 = <&bl_pwm_pins_default>;
> +
> + compatible = "pwm-backlight";
> +
> + brightness-levels = <0 4 8 16 32 64 128 255>;
> + default-brightness-level = <6>;
> +
> + enable-gpios = <&gpio_exp 5 GPIO_ACTIVE_HIGH>;
> + pwms = <&epwm0 1 50000 0>;
> + };
> +
> + vdd_usb_5v0: regulator-vdd-usb5v0 {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-usb5v0";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +};
> +
> +&dss {
> + pinctrl-names = "default";
> + pinctrl-0 = <&main_oldi0_pins_default &main_dss0_pins_default>;
> +};
> +
> +&dss_ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* VP1: Output to OLDI */
> + port@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + dpi0_out0: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&oldi_0_in>;
> + };
> +
> + dpi0_out1: endpoint@1 {
> + reg = <1>;
> + remote-endpoint = <&oldi_1_in>;
> + };
> + };
> +};
> +
> +&epwm0 {
> + status = "okay";
> +};
> +
> +&main_i2c1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@5d {
> + compatible = "goodix,gt928";
> + reg = <0x5d>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&touch_screen_pins_default>;
> +
> + interrupt-parent = <&main_gpio0>;
> + interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
> +
> + reset-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
> + irq-gpios = <&main_gpio0 19 GPIO_ACTIVE_HIGH>;
> + };
> +};
> +
> +&main_pmx0 {
> + bl_pwm_pins_default: bl-pwm-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x01b8, PIN_INPUT, 2) /* (C13) SPI0_CS1.EHRPWM0_B */
> + >;
> + };
> +
> + touch_screen_pins_default: touch-screen-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x048, PIN_OUTPUT, 7) /* (N25) GPMC0_AD3.GPIO0_18 - RST */
> + AM62X_IOPAD(0x04c, PIN_INPUT, 7) /* (P24) GPMC0_AD4.GPIO0_19 - INT */
> + >;
> + };
> +
> + main_oldi0_pins_default: main-oldi0-default-pins {
> + pinctrl-single,pins = <
> + AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
> + AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
> + AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
> + AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
> + AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
> + AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
> + AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
> + AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
> + AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
> + AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
> + AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
> + AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
> + AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
> + AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
> + AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
> + AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
> + AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
> + AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
> + AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
> + AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
> + >;
> + };
> +};
> +
> +&oldi0 {
> + ti,companion-oldi = <&oldi1>;
> + status = "okay";
> +};
> +
> +&oldi0_port0 {
> + oldi_0_in: endpoint {
> + remote-endpoint = <&dpi0_out0>;
> + };
> +};
> +
> +&oldi0_port1 {
> + oldi_0_out: endpoint {
> + remote-endpoint = <&lcd_in0>;
> + };
> +};
> +
> +&oldi1 {
> + ti,secondary-oldi;
> + status = "okay";
> +};
> +
> +&oldi1_port0 {
> + oldi_1_in: endpoint {
> + remote-endpoint = <&dpi0_out1>;
> + };
> +};
> +
> +&oldi1_port1 {
> + oldi_1_out: endpoint {
> + remote-endpoint = <&lcd_in1>;
> + };
> +};
Powered by blists - more mailing lists