Message ID | 20230425051235.15533-2-a-bhatia1@ti.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp3182685vqo; Mon, 24 Apr 2023 22:20:16 -0700 (PDT) X-Google-Smtp-Source: AKy350YtEN5+kIB2FFCR19hbAqaMW5l2YfU5URXxbGN+LHXLoesZPB5fi4h2jCCzZ4U70p13vK88 X-Received: by 2002:a17:902:7611:b0:1a6:8ee3:4e2e with SMTP id k17-20020a170902761100b001a68ee34e2emr15370312pll.33.1682400015723; Mon, 24 Apr 2023 22:20:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682400015; cv=none; d=google.com; s=arc-20160816; b=tAJ+l8MgtQEntQ7uIKjjd6c++luzuHsGk0pUx8eCdBEg+m1J6JRVrJP+QK5hlCdAwU pzl46MnRg+nUJkC/Ckl4LE22kHtDMbb7xVEZXbDbrDPujnx92MiFjgTtDuytwNcvX9Sd kab9BBCAYLA/FUfLu/wWy9KovxPdvQyunTpCQUBRzqZcfDH+cIRAFM3AJDYy+uGPUhOx opxBC0S/Ykm3WVdl1QB9yLuinQiO73oXiGEU+dMOijoqQol0BURyWar+Gj6VKiXpBfaq isEpoFPic7YWGNXmYd9b1D8LQOB1Ce0VgFOHYCMocv9oAlz3rjQYD6LTwZ1Y6BjDCYM5 NzeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=bwztQ+OeoGKrgUDzIjhpOSpxWAx9fpeCzU0PjjP/hwM=; b=eaCXFRX4KUCY/9el9y5S0AC26RUKL7Sw56qN2+aSGjbgn7fbZznky15M1S2SFBlVuM 9InuFvqi3i/TQXDU+xcum3wjmQuhr/jmcw3HKCzuByLbShT+pXrhTpy3HyrCvItcHclT eXcy27+DoVXPb8ChoDahnzGr+u+An6mIQvdOVsZwWFGwrd6YAVTtoIG9cBk+pjP5IoTF jUrxgFRAiJmWEJcOaJqsXDqWaoxvr5GNkujfEE061VjzyzWajo40FrYvaQEq+ceGXR6+ L0WAs1LWui/gWYqc8Pu95beDF4W6sJDFb7m3yZ7nQAm0MMRThBwThQZSL1ixrFzh43o8 8HmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=g5iMs+ea; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jg6-20020a17090326c600b001a1f44d31b5si12208212plb.565.2023.04.24.22.19.59; Mon, 24 Apr 2023 22:20:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=g5iMs+ea; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233020AbjDYFNH (ORCPT <rfc822;zxc52fgh@gmail.com> + 99 others); Tue, 25 Apr 2023 01:13:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232741AbjDYFNC (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 25 Apr 2023 01:13:02 -0400 Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 721DE83CB; Mon, 24 Apr 2023 22:13:01 -0700 (PDT) Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 33P5CdEi062308; Tue, 25 Apr 2023 00:12:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1682399559; bh=bwztQ+OeoGKrgUDzIjhpOSpxWAx9fpeCzU0PjjP/hwM=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=g5iMs+eacRCT/8HlY9F89iXct+N3wvt3CbFpRYlEZ9oQmFxisBSSq5Ut7nK+IHSic Gs6aCX+0MCupVVZFrNh1p4qs3FwmV8Vz0t/9RO3T7AMY+82IP2VT1EFa81tJ4SOJ8/ i1TLve93YEMdX4xoQbKbi6s8h/j6N51atREDJjq8= Received: from DLEE107.ent.ti.com (dlee107.ent.ti.com [157.170.170.37]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 33P5CdvO000985 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 25 Apr 2023 00:12:39 -0500 Received: from DLEE101.ent.ti.com (157.170.170.31) by DLEE107.ent.ti.com (157.170.170.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16; Tue, 25 Apr 2023 00:12:39 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE101.ent.ti.com (157.170.170.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.16 via Frontend Transport; Tue, 25 Apr 2023 00:12:39 -0500 Received: from localhost (ileaxei01-snat.itg.ti.com [10.180.69.5]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 33P5CcNF022844; Tue, 25 Apr 2023 00:12:38 -0500 From: Aradhya Bhatia <a-bhatia1@ti.com> To: Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>, Tero Kristo <kristo@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> CC: Devicetree List <devicetree@vger.kernel.org>, Linux Kernel List <linux-kernel@vger.kernel.org>, Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>, Jyri Sarha <jyri.sarha@iki.fi>, Tomi Valkeinen <tomba@kernel.org>, Praneeth Bajjuri <praneeth@ti.com>, Rahul T R <r-ravikumar@ti.com>, Devarsh Thakkar <devarsht@ti.com>, Jai Luthra <j-luthra@ti.com>, Jayesh Choudhary <j-choudhary@ti.com>, Aradhya Bhatia <a-bhatia1@ti.com> Subject: [PATCH 1/2] arm64: dts: ti: Add overlay for OLDI-LCD1EVM Display and touch screen Date: Tue, 25 Apr 2023 10:42:34 +0530 Message-ID: <20230425051235.15533-2-a-bhatia1@ti.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230425051235.15533-1-a-bhatia1@ti.com> References: <20230425051235.15533-1-a-bhatia1@ti.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764124278839220761?= X-GMAIL-MSGID: =?utf-8?q?1764124278839220761?= |
Series |
arm64: dts: ti: Add OLDI panel DT overlay
|
|
Commit Message
Aradhya Bhatia
April 25, 2023, 5:12 a.m. UTC
From: Jyri Sarha <jsarha@ti.com> The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with integrated touch screen. The integrated touch screen is Goodix GT928. Add DT nodes for these and connect the endpoint nodes with DSS. This patch was picked from TI's public tree based on 5.10 LTS kernel. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> --- arch/arm64/boot/dts/ti/Makefile | 2 + .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso
Comments
On 25/04/2023 08:12, Aradhya Bhatia wrote: > From: Jyri Sarha <jsarha@ti.com> > > The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with > integrated touch screen. The integrated touch screen is Goodix GT928. > Add DT nodes for these and connect the endpoint nodes with DSS. > > This patch was picked from TI's public tree based on 5.10 LTS kernel. > > Signed-off-by: Jyri Sarha <jsarha@ti.com> > Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> > [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] > Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> > --- > arch/arm64/boot/dts/ti/Makefile | 2 + > .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 6acd12409d59..8956b19e587a 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo > > # Boards with J7200 SoC > dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb > @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb > > # Enable support for device-tree overlays > DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ > +DTC_FLAGS_k3-am654-base-board += -@ > diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > new file mode 100644 > index 000000000000..b2c790b314cf > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > @@ -0,0 +1,70 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/** > + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM. > + * > + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/ > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include <dt-bindings/pwm/pwm.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +&{/} { > + display0 { > + compatible = "rocktech,rk101ii01d-ct"; > + backlight = <&lcd_bl>; > + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; > + port { > + lcd_in0: endpoint { > + remote-endpoint = <&oldi_out0>; > + }; > + }; > + }; > + > + lcd_bl: backlight { > + compatible = "pwm-backlight"; > + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; > + brightness-levels = > + <0 32 64 96 128 160 192 224 255>; > + default-brightness-level = <8>; > + }; > +}; > + > +&dss { > + status = "okay"; > +}; > + > +&dss_ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + oldi_out0: endpoint { > + remote-endpoint = <&lcd_in0>; > + }; > + }; > +}; > + > +&main_i2c1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + gt928: touchscreen@14 { I don't see the 'gt928' label used for anything. Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Tomi > + status = "okay"; > + compatible = "goodix,gt928"; > + reg = <0x14>; > + > + interrupt-parent = <&pca9554>; > + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; > + touchscreen-size-x = <1280>; > + touchscreen-size-y = <800>; > + > + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; > + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; > + }; > +};
$subject could do a bit of improvement. On 10:42-20230425, Aradhya Bhatia wrote: > From: Jyri Sarha <jsarha@ti.com> > > The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with > integrated touch screen. The integrated touch screen is Goodix GT928. > Add DT nodes for these and connect the endpoint nodes with DSS. > > This patch was picked from TI's public tree based on 5.10 LTS kernel. Please drop this. > > Signed-off-by: Jyri Sarha <jsarha@ti.com> > Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> > [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] > Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> > --- > arch/arm64/boot/dts/ti/Makefile | 2 + > .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 6acd12409d59..8956b19e587a 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo > > # Boards with J7200 SoC > dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb > @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb > > # Enable support for device-tree overlays > DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ > +DTC_FLAGS_k3-am654-base-board += -@ > diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > new file mode 100644 > index 000000000000..b2c790b314cf > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > @@ -0,0 +1,70 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/** > + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM. Product link? > + * > + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/ > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include <dt-bindings/pwm/pwm.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +&{/} { > + display0 { > + compatible = "rocktech,rk101ii01d-ct"; > + backlight = <&lcd_bl>; > + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; > + port { > + lcd_in0: endpoint { > + remote-endpoint = <&oldi_out0>; > + }; > + }; > + }; > + > + lcd_bl: backlight { > + compatible = "pwm-backlight"; > + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; > + brightness-levels = > + <0 32 64 96 128 160 192 224 255>; > + default-brightness-level = <8>; > + }; > +}; > + > +&dss { > + status = "okay"; > +}; > + > +&dss_ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + oldi_out0: endpoint { > + remote-endpoint = <&lcd_in0>; > + }; > + }; > +}; > + > +&main_i2c1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + gt928: touchscreen@14 { > + status = "okay"; Status is okay by default. > + compatible = "goodix,gt928"; > + reg = <0x14>; > + > + interrupt-parent = <&pca9554>; > + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; > + touchscreen-size-x = <1280>; > + touchscreen-size-y = <800>; > + > + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; > + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; > + }; > +}; > -- > 2.39.1 >
On 4/25/23 12:12 AM, Aradhya Bhatia wrote: > From: Jyri Sarha <jsarha@ti.com> > > The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with > integrated touch screen. The integrated touch screen is Goodix GT928. > Add DT nodes for these and connect the endpoint nodes with DSS. > > This patch was picked from TI's public tree based on 5.10 LTS kernel. > > Signed-off-by: Jyri Sarha <jsarha@ti.com> > Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> > [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] > Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> > --- > arch/arm64/boot/dts/ti/Makefile | 2 + > .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 6acd12409d59..8956b19e587a 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo This name is a bit odd, why "evm" twice? Looks like the first instance is the redundant one as most of the documents on this LCD board call it the "LCD1EVM". How about: k3-am654-lcd1evm.dtbo I would like the overlay names to give some hint to what base DTB they apply to, or better yet, apply them here in the build which will check that they apply cleanly. Plus you can drop the silly "+= -@" below. Let's see how this should be called, from the AM65x GP EVM doc[0] we get a nice picture on page 5 and the following: "The AM65x GP EVM consists of a common processor board, an LCD adapter, and a one-lane PCIe/USB3 personality card." So, this would translate to: k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-lcd1evm.dtbo k3-am654-pcie-usb3.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb Next, from the AM65x IDK doc[1] also with a nice image on page 5: "The AM65x IDK consists of a common processor board, IDK application board, and a two-lane PCIe personality card.: So: k3-am654-idk-dtbs := k3-am654-base-board.dtb k3-am654-idk.dtbo k3-am654-pcie-usb2.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am654-idk.dtb Note that we do have all those missing dtso files in our evil vendor tree[2] and will be upstreaming them next, so this naming should all work out nicely. Andrew [0] https://www.ti.com/lit/ug/spruim7/spruim7.pdf [1] https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf [2] https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti?h=ti-linux-5.10.y > > # Boards with J7200 SoC > dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb > @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb > > # Enable support for device-tree overlays > DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ > +DTC_FLAGS_k3-am654-base-board += -@ > diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > new file mode 100644 > index 000000000000..b2c790b314cf > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso > @@ -0,0 +1,70 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/** > + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM. > + * > + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/ > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include <dt-bindings/pwm/pwm.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +&{/} { > + display0 { > + compatible = "rocktech,rk101ii01d-ct"; > + backlight = <&lcd_bl>; > + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; > + port { > + lcd_in0: endpoint { > + remote-endpoint = <&oldi_out0>; > + }; > + }; > + }; > + > + lcd_bl: backlight { > + compatible = "pwm-backlight"; > + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; > + brightness-levels = > + <0 32 64 96 128 160 192 224 255>; > + default-brightness-level = <8>; > + }; > +}; > + > +&dss { > + status = "okay"; > +}; > + > +&dss_ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + oldi_out0: endpoint { > + remote-endpoint = <&lcd_in0>; > + }; > + }; > +}; > + > +&main_i2c1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + gt928: touchscreen@14 { > + status = "okay"; > + compatible = "goodix,gt928"; > + reg = <0x14>; > + > + interrupt-parent = <&pca9554>; > + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; > + touchscreen-size-x = <1280>; > + touchscreen-size-y = <800>; > + > + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; > + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; > + }; > +};
Hi Andrew, On 25-Apr-23 20:39, Andrew Davis wrote: > On 4/25/23 12:12 AM, Aradhya Bhatia wrote: >> From: Jyri Sarha <jsarha@ti.com> >> >> The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with >> integrated touch screen. The integrated touch screen is Goodix GT928. >> Add DT nodes for these and connect the endpoint nodes with DSS. >> >> This patch was picked from TI's public tree based on 5.10 LTS kernel. >> >> Signed-off-by: Jyri Sarha <jsarha@ti.com> >> Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> >> [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] >> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> >> --- >> arch/arm64/boot/dts/ti/Makefile | 2 + >> .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ >> 2 files changed, 72 insertions(+) >> create mode 100644 >> arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >> >> diff --git a/arch/arm64/boot/dts/ti/Makefile >> b/arch/arm64/boot/dts/ti/Makefile >> index 6acd12409d59..8956b19e587a 100644 >> --- a/arch/arm64/boot/dts/ti/Makefile >> +++ b/arch/arm64/boot/dts/ti/Makefile >> @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb >> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb >> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb >> dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb >> +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo > > This name is a bit odd, why "evm" twice? Looks like the first instance > is the redundant one as most of the documents on this LCD board call it > the "LCD1EVM". How about: > > k3-am654-lcd1evm.dtbo I didn't think I could change the name of the overlay picking the patch from our tree, but if we are going to do it, can we take up another approach, where it would be easier to add panels for AM62x family and ensure uniformity throughout. We have 2 different panels from Vendor A, and another one from Vendor B. Vendor B panel connects to AM625-SK via an adapter board. Vendor-A/Panel-1 only says the name, 'SK-LCD1' on its circuit board. Vendor-A/Panel-2 doesn't have any name yet. We only have development units. Vendor-B/Panel-2 mentions '$(LCD_model) to AM62x SoC adapter board'. Since, there are too many manufacturers, it is difficult to maintain uniformity with the names of panel-boards. So, I have this approach in mind (which I have used for our tree for AM62x), but would like your comments. k3-$soc-$board-$(panel_vendor)-$(brief_compatible).dtso So, for AM625-SKs, k3-am625-sk-$(vendor_name)-$(brief_compatible).dtso and for the current panel Rocktech RK101II01D-CT, which applies on AM654 base-board, k3-am654-base-board-rocktech-rk101.dtso. This does become rather long, but also is distinguishable. Let me know what you think. > > I would like the overlay names to give some hint to what base DTB they > apply to, Agreed. That is indeed how it should be. > or better yet, apply them here in the build which will check > that they apply cleanly. Plus you can drop the silly "+= -@" below. > The above approach will give a hint of the base EVM where a combined build is not possible simply because there is no 'official' name for a particular combination of panel and EVM. Regards Aradhya > Let's see how this should be called, from the AM65x GP EVM doc[0] we > get a nice picture on page 5 and the following: > > "The AM65x GP EVM consists of a common processor board, an LCD adapter, > and a one-lane PCIe/USB3 personality card." > > So, this would translate to: > > k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-lcd1evm.dtbo > k3-am654-pcie-usb3.dtbo > dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb> > Next, from the AM65x IDK doc[1] also with a nice image on page 5: > > "The AM65x IDK consists of a common processor board, IDK application board, > and a two-lane PCIe personality card.: > > So: > > k3-am654-idk-dtbs := k3-am654-base-board.dtb k3-am654-idk.dtbo > k3-am654-pcie-usb2.dtbo > dtb-$(CONFIG_ARCH_K3) += k3-am654-idk.dtb > > Note that we do have all those missing dtso files in our evil vendor > tree[2] > and will be upstreaming them next, so this naming should all work out > nicely. > > Andrew > > [0] https://www.ti.com/lit/ug/spruim7/spruim7.pdf > [1] https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf > [2] > https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti?h=ti-linux-5.10.y > >> # Boards with J7200 SoC >> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb >> @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb >> # Enable support for device-tree overlays >> DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ >> +DTC_FLAGS_k3-am654-base-board += -@ >> diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >> b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >> new file mode 100644 >> index 000000000000..b2c790b314cf >> --- /dev/null >> +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >> @@ -0,0 +1,70 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/** >> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for >> AM654-EVM. >> + * >> + * Copyright (C) 2023 Texas Instruments Incorporated - >> http://www.ti.com/ >> + */ >> + >> +/dts-v1/; >> +/plugin/; >> + >> +#include <dt-bindings/pwm/pwm.h> >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/interrupt-controller/irq.h> >> + >> +&{/} { >> + display0 { >> + compatible = "rocktech,rk101ii01d-ct"; >> + backlight = <&lcd_bl>; >> + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; >> + port { >> + lcd_in0: endpoint { >> + remote-endpoint = <&oldi_out0>; >> + }; >> + }; >> + }; >> + >> + lcd_bl: backlight { >> + compatible = "pwm-backlight"; >> + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; >> + brightness-levels = >> + <0 32 64 96 128 160 192 224 255>; >> + default-brightness-level = <8>; >> + }; >> +}; >> + >> +&dss { >> + status = "okay"; >> +}; >> + >> +&dss_ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@0 { >> + reg = <0>; >> + >> + oldi_out0: endpoint { >> + remote-endpoint = <&lcd_in0>; >> + }; >> + }; >> +}; >> + >> +&main_i2c1 { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + gt928: touchscreen@14 { >> + status = "okay"; >> + compatible = "goodix,gt928"; >> + reg = <0x14>; >> + >> + interrupt-parent = <&pca9554>; >> + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; >> + touchscreen-size-x = <1280>; >> + touchscreen-size-y = <800>; >> + >> + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; >> + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; >> + }; >> +};
On 4/25/23 12:00 PM, Aradhya Bhatia wrote: > Hi Andrew, > > On 25-Apr-23 20:39, Andrew Davis wrote: >> On 4/25/23 12:12 AM, Aradhya Bhatia wrote: >>> From: Jyri Sarha <jsarha@ti.com> >>> >>> The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with >>> integrated touch screen. The integrated touch screen is Goodix GT928. >>> Add DT nodes for these and connect the endpoint nodes with DSS. >>> >>> This patch was picked from TI's public tree based on 5.10 LTS kernel. >>> >>> Signed-off-by: Jyri Sarha <jsarha@ti.com> >>> Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> >>> [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] >>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> >>> --- >>> arch/arm64/boot/dts/ti/Makefile | 2 + >>> .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 +++++++++++++++++++ >>> 2 files changed, 72 insertions(+) >>> create mode 100644 >>> arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>> >>> diff --git a/arch/arm64/boot/dts/ti/Makefile >>> b/arch/arm64/boot/dts/ti/Makefile >>> index 6acd12409d59..8956b19e587a 100644 >>> --- a/arch/arm64/boot/dts/ti/Makefile >>> +++ b/arch/arm64/boot/dts/ti/Makefile >>> @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb >>> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb >>> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb >>> dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb >>> +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo >> >> This name is a bit odd, why "evm" twice? Looks like the first instance >> is the redundant one as most of the documents on this LCD board call it >> the "LCD1EVM". How about: >> >> k3-am654-lcd1evm.dtbo > > I didn't think I could change the name of the overlay picking the patch > from our tree, but if we are going to do it, can we take up another > approach, where it would be easier to add panels for AM62x family and > ensure uniformity throughout. > Yes, we can change what we want when upstreaming. How we did it in our evil vendor tree should in no way prevent us from doing things better in upstream. > We have 2 different panels from Vendor A, and another one from Vendor B. > Vendor B panel connects to AM625-SK via an adapter board. > > Vendor-A/Panel-1 only says the name, 'SK-LCD1' on its circuit board. > Vendor-A/Panel-2 doesn't have any name yet. We only have development > units. > Vendor-B/Panel-2 mentions '$(LCD_model) to AM62x SoC adapter board'. > > Since, there are too many manufacturers, it is difficult to maintain > uniformity with the names of panel-boards. So, I have this approach in > mind (which I have used for our tree for AM62x), but would like your > comments. > > k3-$soc-$board-$(panel_vendor)-$(brief_compatible).dtso > > So, for AM625-SKs, > k3-am625-sk-$(vendor_name)-$(brief_compatible).dtso > Looks reasonable to me. > and for the current panel Rocktech RK101II01D-CT, which applies on AM654 > base-board, > > k3-am654-base-board-rocktech-rk101.dtso. > > This does become rather long, but also is distinguishable. > No limit to file names here, being clear and distinguishable is more important than short names. > Let me know what you think. > >> >> I would like the overlay names to give some hint to what base DTB they >> apply to, > > Agreed. That is indeed how it should be. > >> or better yet, apply them here in the build which will check >> that they apply cleanly. Plus you can drop the silly "+= -@" below. >> > > The above approach will give a hint of the base EVM where a combined > build is not possible simply because there is no 'official' name for a > particular combination of panel and EVM. > We do not need to name each possible combination (and we shouldn't, there would be a combinatorial explosion, avoiding that is the whole point of using overlays vs .dtsi includes). I do think we should name at least the combinations that we ship together. So as below for AM654 that would be the GPEVM and the IDK. Those are the two out-of-box combinations available for purchase as a kit. Folks can still buy additional add-on cards, and/or mix and match from those two sets. As long as we have at least one named combination, then the base-board dtb file gets symbols automatically and we can drop the "+= -@" line. Andrew > > Regards > Aradhya > >> Let's see how this should be called, from the AM65x GP EVM doc[0] we >> get a nice picture on page 5 and the following: >> >> "The AM65x GP EVM consists of a common processor board, an LCD adapter, >> and a one-lane PCIe/USB3 personality card." >> >> So, this would translate to: >> >> k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-lcd1evm.dtbo >> k3-am654-pcie-usb3.dtbo >> dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb> >> Next, from the AM65x IDK doc[1] also with a nice image on page 5: >> >> "The AM65x IDK consists of a common processor board, IDK application board, >> and a two-lane PCIe personality card.: >> >> So: >> >> k3-am654-idk-dtbs := k3-am654-base-board.dtb k3-am654-idk.dtbo >> k3-am654-pcie-usb2.dtbo >> dtb-$(CONFIG_ARCH_K3) += k3-am654-idk.dtb >> >> Note that we do have all those missing dtso files in our evil vendor >> tree[2] >> and will be upstreaming them next, so this naming should all work out >> nicely. >> >> Andrew >> >> [0] https://www.ti.com/lit/ug/spruim7/spruim7.pdf >> [1] https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf >> [2] >> https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti?h=ti-linux-5.10.y >> >>> # Boards with J7200 SoC >>> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb >>> @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb >>> # Enable support for device-tree overlays >>> DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ >>> +DTC_FLAGS_k3-am654-base-board += -@ >>> diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>> b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>> new file mode 100644 >>> index 000000000000..b2c790b314cf >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>> @@ -0,0 +1,70 @@ >>> +// SPDX-License-Identifier: GPL-2.0 >>> +/** >>> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for >>> AM654-EVM. >>> + * >>> + * Copyright (C) 2023 Texas Instruments Incorporated - >>> http://www.ti.com/ >>> + */ >>> + >>> +/dts-v1/; >>> +/plugin/; >>> + >>> +#include <dt-bindings/pwm/pwm.h> >>> +#include <dt-bindings/gpio/gpio.h> >>> +#include <dt-bindings/interrupt-controller/irq.h> >>> + >>> +&{/} { >>> + display0 { >>> + compatible = "rocktech,rk101ii01d-ct"; >>> + backlight = <&lcd_bl>; >>> + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; >>> + port { >>> + lcd_in0: endpoint { >>> + remote-endpoint = <&oldi_out0>; >>> + }; >>> + }; >>> + }; >>> + >>> + lcd_bl: backlight { >>> + compatible = "pwm-backlight"; >>> + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; >>> + brightness-levels = >>> + <0 32 64 96 128 160 192 224 255>; >>> + default-brightness-level = <8>; >>> + }; >>> +}; >>> + >>> +&dss { >>> + status = "okay"; >>> +}; >>> + >>> +&dss_ports { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + port@0 { >>> + reg = <0>; >>> + >>> + oldi_out0: endpoint { >>> + remote-endpoint = <&lcd_in0>; >>> + }; >>> + }; >>> +}; >>> + >>> +&main_i2c1 { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + gt928: touchscreen@14 { >>> + status = "okay"; >>> + compatible = "goodix,gt928"; >>> + reg = <0x14>; >>> + >>> + interrupt-parent = <&pca9554>; >>> + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; >>> + touchscreen-size-x = <1280>; >>> + touchscreen-size-y = <800>; >>> + >>> + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; >>> + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; >>> + }; >>> +};
Hi Andrew, On 25-Apr-23 23:14, Andrew Davis wrote: > On 4/25/23 12:00 PM, Aradhya Bhatia wrote: >> Hi Andrew, >> >> On 25-Apr-23 20:39, Andrew Davis wrote: >>> On 4/25/23 12:12 AM, Aradhya Bhatia wrote: >>>> From: Jyri Sarha <jsarha@ti.com> >>>> >>>> The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel with >>>> integrated touch screen. The integrated touch screen is Goodix GT928. >>>> Add DT nodes for these and connect the endpoint nodes with DSS. >>>> >>>> This patch was picked from TI's public tree based on 5.10 LTS kernel. >>>> >>>> Signed-off-by: Jyri Sarha <jsarha@ti.com> >>>> Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> >>>> [abhatia1@ti.com: Make syntax changes to support 6.1 DTSO format] >>>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> >>>> --- >>>> arch/arm64/boot/dts/ti/Makefile | 2 + >>>> .../dts/ti/k3-am654-evm-oldi-lcd1evm.dtso | 70 >>>> +++++++++++++++++++ >>>> 2 files changed, 72 insertions(+) >>>> create mode 100644 >>>> arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>>> >>>> diff --git a/arch/arm64/boot/dts/ti/Makefile >>>> b/arch/arm64/boot/dts/ti/Makefile >>>> index 6acd12409d59..8956b19e587a 100644 >>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>> @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += >>>> k3-am6548-iot2050-advanced.dtb >>>> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb >>>> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb >>>> dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb >>>> +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo >>> >>> This name is a bit odd, why "evm" twice? Looks like the first instance >>> is the redundant one as most of the documents on this LCD board call it >>> the "LCD1EVM". How about: >>> >>> k3-am654-lcd1evm.dtbo >> >> I didn't think I could change the name of the overlay picking the patch >> from our tree, but if we are going to do it, can we take up another >> approach, where it would be easier to add panels for AM62x family and >> ensure uniformity throughout. >> > > Yes, we can change what we want when upstreaming. How we did it in our > evil vendor tree should in no way prevent us from doing things better > in upstream. > Okay. >> We have 2 different panels from Vendor A, and another one from Vendor B. >> Vendor B panel connects to AM625-SK via an adapter board. >> >> Vendor-A/Panel-1 only says the name, 'SK-LCD1' on its circuit board. >> Vendor-A/Panel-2 doesn't have any name yet. We only have development >> units. >> Vendor-B/Panel-2 mentions '$(LCD_model) to AM62x SoC adapter board'. >> >> Since, there are too many manufacturers, it is difficult to maintain >> uniformity with the names of panel-boards. So, I have this approach in >> mind (which I have used for our tree for AM62x), but would like your >> comments. >> >> k3-$soc-$board-$(panel_vendor)-$(brief_compatible).dtso >> >> So, for AM625-SKs, >> k3-am625-sk-$(vendor_name)-$(brief_compatible).dtso >> > > Looks reasonable to me. Great! I tweaked this to add the keyword "panel" to also make it reader friendly in v2. k3-$soc-$board-$(panel_vendor)-$(brief_compatible)-panel.dtso > >> and for the current panel Rocktech RK101II01D-CT, which applies on AM654 >> base-board, >> >> k3-am654-base-board-rocktech-rk101.dtso. >> >> This does become rather long, but also is distinguishable. >> > > No limit to file names here, being clear and distinguishable is more > important than short names. > >> Let me know what you think. >> >>> >>> I would like the overlay names to give some hint to what base DTB they >>> apply to, >> >> Agreed. That is indeed how it should be. >> >>> or better yet, apply them here in the build which will check >>> that they apply cleanly. Plus you can drop the silly "+= -@" below. >>> >> >> The above approach will give a hint of the base EVM where a combined >> build is not possible simply because there is no 'official' name for a >> particular combination of panel and EVM. >> > > We do not need to name each possible combination (and we shouldn't, there > would be a combinatorial explosion, avoiding that is the whole point > of using overlays vs .dtsi includes). > > I do think we should name at least the combinations that we ship together. > So as below for AM654 that would be the GPEVM and the IDK. Those are the > two out-of-box combinations available for purchase as a kit. Folks can > still > buy additional add-on cards, and/or mix and match from those two sets. > > As long as we have at least one named combination, then the base-board dtb > file gets symbols automatically and we can drop the "+= -@" line. > Understood! I have incorporated these suggestions, as well as the ones from Tomi and Nishanth, in v2 and posted them. Regards Aradhya > Andrew > >> >> Regards >> Aradhya >> >>> Let's see how this should be called, from the AM65x GP EVM doc[0] we >>> get a nice picture on page 5 and the following: >>> >>> "The AM65x GP EVM consists of a common processor board, an LCD adapter, >>> and a one-lane PCIe/USB3 personality card." >>> >>> So, this would translate to: >>> >>> k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-lcd1evm.dtbo >>> k3-am654-pcie-usb3.dtbo >>> dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb> >>> Next, from the AM65x IDK doc[1] also with a nice image on page 5: >>> >>> "The AM65x IDK consists of a common processor board, IDK application >>> board, >>> and a two-lane PCIe personality card.: >>> >>> So: >>> >>> k3-am654-idk-dtbs := k3-am654-base-board.dtb k3-am654-idk.dtbo >>> k3-am654-pcie-usb2.dtbo >>> dtb-$(CONFIG_ARCH_K3) += k3-am654-idk.dtb >>> >>> Note that we do have all those missing dtso files in our evil vendor >>> tree[2] >>> and will be upstreaming them next, so this naming should all work out >>> nicely. >>> >>> Andrew >>> >>> [0] https://www.ti.com/lit/ug/spruim7/spruim7.pdf >>> [1] https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf >>> [2] >>> https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti?h=ti-linux-5.10.y >>> >>>> # Boards with J7200 SoC >>>> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb >>>> @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb >>>> # Enable support for device-tree overlays >>>> DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ >>>> +DTC_FLAGS_k3-am654-base-board += -@ >>>> diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>>> b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>>> new file mode 100644 >>>> index 000000000000..b2c790b314cf >>>> --- /dev/null >>>> +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso >>>> @@ -0,0 +1,70 @@ >>>> +// SPDX-License-Identifier: GPL-2.0 >>>> +/** >>>> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for >>>> AM654-EVM. >>>> + * >>>> + * Copyright (C) 2023 Texas Instruments Incorporated - >>>> http://www.ti.com/ >>>> + */ >>>> + >>>> +/dts-v1/; >>>> +/plugin/; >>>> + >>>> +#include <dt-bindings/pwm/pwm.h> >>>> +#include <dt-bindings/gpio/gpio.h> >>>> +#include <dt-bindings/interrupt-controller/irq.h> >>>> + >>>> +&{/} { >>>> + display0 { >>>> + compatible = "rocktech,rk101ii01d-ct"; >>>> + backlight = <&lcd_bl>; >>>> + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; >>>> + port { >>>> + lcd_in0: endpoint { >>>> + remote-endpoint = <&oldi_out0>; >>>> + }; >>>> + }; >>>> + }; >>>> + >>>> + lcd_bl: backlight { >>>> + compatible = "pwm-backlight"; >>>> + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; >>>> + brightness-levels = >>>> + <0 32 64 96 128 160 192 224 255>; >>>> + default-brightness-level = <8>; >>>> + }; >>>> +}; >>>> + >>>> +&dss { >>>> + status = "okay"; >>>> +}; >>>> + >>>> +&dss_ports { >>>> + #address-cells = <1>; >>>> + #size-cells = <0>; >>>> + >>>> + port@0 { >>>> + reg = <0>; >>>> + >>>> + oldi_out0: endpoint { >>>> + remote-endpoint = <&lcd_in0>; >>>> + }; >>>> + }; >>>> +}; >>>> + >>>> +&main_i2c1 { >>>> + #address-cells = <1>; >>>> + #size-cells = <0>; >>>> + >>>> + gt928: touchscreen@14 { >>>> + status = "okay"; >>>> + compatible = "goodix,gt928"; >>>> + reg = <0x14>; >>>> + >>>> + interrupt-parent = <&pca9554>; >>>> + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; >>>> + touchscreen-size-x = <1280>; >>>> + touchscreen-size-y = <800>; >>>> + >>>> + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; >>>> + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; >>>> + }; >>>> +};
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index 6acd12409d59..8956b19e587a 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm-oldi-lcd1evm.dtbo # Boards with J7200 SoC dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb @@ -45,3 +46,4 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb # Enable support for device-tree overlays DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ +DTC_FLAGS_k3-am654-base-board += -@ diff --git a/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso new file mode 100644 index 000000000000..b2c790b314cf --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dtso @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM. + * + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/ + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/pwm/pwm.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +&{/} { + display0 { + compatible = "rocktech,rk101ii01d-ct"; + backlight = <&lcd_bl>; + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>; + port { + lcd_in0: endpoint { + remote-endpoint = <&oldi_out0>; + }; + }; + }; + + lcd_bl: backlight { + compatible = "pwm-backlight"; + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; + brightness-levels = + <0 32 64 96 128 160 192 224 255>; + default-brightness-level = <8>; + }; +}; + +&dss { + status = "okay"; +}; + +&dss_ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + oldi_out0: endpoint { + remote-endpoint = <&lcd_in0>; + }; + }; +}; + +&main_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + gt928: touchscreen@14 { + status = "okay"; + compatible = "goodix,gt928"; + reg = <0x14>; + + interrupt-parent = <&pca9554>; + interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + touchscreen-size-x = <1280>; + touchscreen-size-y = <800>; + + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>; + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>; + }; +};