Message ID | 20230920133450.54226-3-rogerq@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp4152185vqi; Wed, 20 Sep 2023 06:47:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFWbmkcMVHgi+x4T9OkUbcdpYaot8pkrZhEMY46643i5YKMj0lqtGVKyXCc2tjSQUhWLUSw X-Received: by 2002:a05:6a20:9192:b0:14d:6309:fc96 with SMTP id v18-20020a056a20919200b0014d6309fc96mr2520743pzd.4.1695217621417; Wed, 20 Sep 2023 06:47:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695217621; cv=none; d=google.com; s=arc-20160816; b=nnjmKa5Fm0hhT0OrgFmwL3LnQaJLZ3cdjxPrzuSggVpy4BzyMAUfBLAQuvLIn+wKR9 deKZiivLCubUGlTN4dppX357bt9kN++Gcngeki7I7ATnuzcPLAAP9aKC7PjUTfHdAyLU L3mv90HEaQ/NdygBoveHRyJV5iU2DmmFYXCECXU9sd4mLQRtsf0S4/k9BlMFEdBzZLYj mN2nWi3hDYQAhIQ0hsCNCNppScWYNTWVREyBP5KLAlyBl3QyAnI4k4cOn6U+PRlutn8y UNKdOfLj/hmPiga86C4HFSKOBehfIKn8+X+ZeGnGybeSszIMKoopMn4y2Zu0kPkq5c2w tlEA== 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=yPOjc3tCsg9ivlS4+syMJlstjbW22qd6b1ShKFlMlDQ=; fh=8mO8oFiXwarBgDEk8R64/emw88yQzltdGOwB8zEk1eg=; b=rajz5dQHAKN3go+4NMCCbTImJO06jI2PsIg3fpe58JftLeAevxM8JL21mEKc6gplab NhwqoMziID9X/hnQOIRAYWqVUHGdLctdyCR4uYOKHWeFL7WGYm5LjZOk5NCaL4VNG981 PU/ymow0/2z222Up7761tISMpQEBkBAr8UewPUQOYbPBy4bOIH+Riovi/Uj8Zv5dpENs 8kKBqfYRy+cOiMlZ2KjcpCY3NpaAfCyi6fDEmo3dQwk7l/FGA0GaAfaMw76bQrc9h2El Mcy+svKKQ7PPTE+ds/N9yyYFgi3qb35G5RAAY7rVkIsIIYkzkVb9lZSN0fsNn5ZUVGjQ 2Olw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sJTRCO1Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id d7-20020a056a0024c700b00690bc199287si3966847pfv.393.2023.09.20.06.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 06:47:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sJTRCO1Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 18F9A801CFE8; Wed, 20 Sep 2023 06:35:40 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235976AbjITNfN (ORCPT <rfc822;toshivichauhan@gmail.com> + 26 others); Wed, 20 Sep 2023 09:35:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235161AbjITNfJ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 20 Sep 2023 09:35:09 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C341CAD for <linux-kernel@vger.kernel.org>; Wed, 20 Sep 2023 06:35:02 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02E64C433CB; Wed, 20 Sep 2023 13:34:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695216902; bh=/364EGkj/gVc2ft7ZNM/DWNXL54VH7RWzR+gTvJjc14=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sJTRCO1YJ0e5PNbBEWWiuLjN/4qGG8ilGc8jUvn9oqUqckPoHDMDSbuDnxIpI7EuT 0nsLPRf/7pzlf0nIlsW9C0DHJa/U/1ATRq+1yGEOtOQDr9FufW8tyXRVnstehg3UYH jTef+HMaIx/h3wDWDrRl5HTVYIAB8+FHwb8IQfnGdi1DAaLtUpeWA1suriRbNhdLjE olukeBKdvoi6pwTYvELhRwPYnsEBX4Hmupg/XtcxZUhFnNH0OKEoHAQvrlHh74aU+6 6Z6qBcp9U0X+lxQh1b1H/D1gg3LGklceSDcvuqgVBvmbnlFqmn+B1RQeJusu3ebwcD nDZfOfsxBfLgg== From: Roger Quadros <rogerq@kernel.org> To: nm@ti.com Cc: vigneshr@ti.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, srk@ti.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Roger Quadros <rogerq@kernel.org> Subject: [PATCH 2/2] arm64: dts: ti: am642-evm: Add overlay for NAND expansion card Date: Wed, 20 Sep 2023 16:34:50 +0300 Message-Id: <20230920133450.54226-3-rogerq@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230920133450.54226-1-rogerq@kernel.org> References: <20230920133450.54226-1-rogerq@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 20 Sep 2023 06:35:40 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777564512563433711 X-GMAIL-MSGID: 1777564512563433711 |
Series |
arm64: dts: ti: Add overlay for AM642-EVM NAND expansion card
|
|
Commit Message
Roger Quadros
Sept. 20, 2023, 1:34 p.m. UTC
The NAND expansion card plugs in over the HSE (High Speed Expansion)
connector. Add support for it.
Signed-off-by: Roger Quadros <rogerq@kernel.org>
---
arch/arm64/boot/dts/ti/Makefile | 1 +
arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++
2 files changed, 141 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso
Comments
On 16:34-20230920, Roger Quadros wrote: > The NAND expansion card plugs in over the HSE (High Speed Expansion) > connector. Add support for it. > > Signed-off-by: Roger Quadros <rogerq@kernel.org> > --- > arch/arm64/boot/dts/ti/Makefile | 1 + > arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ > 2 files changed, 141 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 06d6f264f292..ece74085a6be 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb > > # Boards with AM64x SoC > dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo > dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ you may not get the dtbo installed when doing make dtbs_install [...]
On 20/09/2023 16:58, Nishanth Menon wrote: > On 16:34-20230920, Roger Quadros wrote: >> The NAND expansion card plugs in over the HSE (High Speed Expansion) >> connector. Add support for it. >> >> Signed-off-by: Roger Quadros <rogerq@kernel.org> >> --- >> arch/arm64/boot/dts/ti/Makefile | 1 + >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >> 2 files changed, 141 insertions(+) >> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >> >> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >> index 06d6f264f292..ece74085a6be 100644 >> --- a/arch/arm64/boot/dts/ti/Makefile >> +++ b/arch/arm64/boot/dts/ti/Makefile >> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >> >> # Boards with AM64x SoC >> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb > > Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ > > you may not get the dtbo installed when doing make dtbs_install > > [...] > $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp INSTALL /tmp/ti/k3-am625-beagleplay.dtb INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb INSTALL /tmp/ti/k3-am625-sk.dtb INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb INSTALL /tmp/ti/k3-am62-lp-sk.dtb INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo INSTALL /tmp/ti/k3-am62a7-sk.dtb INSTALL /tmp/ti/k3-am62p5-sk.dtb INSTALL /tmp/ti/k3-am642-evm.dtb INSTALL /tmp/ti/k3-am642-evm-nand.dtbo ^^^^ INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb INSTALL /tmp/ti/k3-am642-sk.dtb What did I miss?
On 18:18-20230920, Roger Quadros wrote: > > > On 20/09/2023 16:58, Nishanth Menon wrote: > > On 16:34-20230920, Roger Quadros wrote: > >> The NAND expansion card plugs in over the HSE (High Speed Expansion) > >> connector. Add support for it. > >> > >> Signed-off-by: Roger Quadros <rogerq@kernel.org> > >> --- > >> arch/arm64/boot/dts/ti/Makefile | 1 + > >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ > >> 2 files changed, 141 insertions(+) > >> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso > >> > >> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > >> index 06d6f264f292..ece74085a6be 100644 > >> --- a/arch/arm64/boot/dts/ti/Makefile > >> +++ b/arch/arm64/boot/dts/ti/Makefile > >> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb > >> > >> # Boards with AM64x SoC > >> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb > >> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo > >> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb > >> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb > >> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb > > > > Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ > > > > you may not get the dtbo installed when doing make dtbs_install > > > > [...] > > > > $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp > INSTALL /tmp/ti/k3-am625-beagleplay.dtb > INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb > INSTALL /tmp/ti/k3-am625-sk.dtb > INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb > INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb > INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb > INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb > INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb > INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb > INSTALL /tmp/ti/k3-am62-lp-sk.dtb > INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo > INSTALL /tmp/ti/k3-am62a7-sk.dtb > INSTALL /tmp/ti/k3-am62p5-sk.dtb > INSTALL /tmp/ti/k3-am642-evm.dtb > INSTALL /tmp/ti/k3-am642-evm-nand.dtbo > ^^^^ > INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb > INSTALL /tmp/ti/k3-am642-sk.dtb > > > What did I miss? I missed it, actually. See Rob's comment: https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ Having orphan dtbo is apparently frowned upon
On 9/20/23 11:44 AM, Nishanth Menon wrote: > On 18:18-20230920, Roger Quadros wrote: >> >> >> On 20/09/2023 16:58, Nishanth Menon wrote: >>> On 16:34-20230920, Roger Quadros wrote: >>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>> connector. Add support for it. >>>> >>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>> --- >>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>> 2 files changed, 141 insertions(+) >>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>> >>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>> index 06d6f264f292..ece74085a6be 100644 >>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>> >>>> # Boards with AM64x SoC >>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>> >>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>> >>> you may not get the dtbo installed when doing make dtbs_install >>> >>> [...] >>> >> >> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >> INSTALL /tmp/ti/k3-am625-sk.dtb >> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >> INSTALL /tmp/ti/k3-am62a7-sk.dtb >> INSTALL /tmp/ti/k3-am62p5-sk.dtb >> INSTALL /tmp/ti/k3-am642-evm.dtb >> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >> ^^^^ >> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >> INSTALL /tmp/ti/k3-am642-sk.dtb >> >> >> What did I miss? > > I missed it, actually. See Rob's comment: > https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ > > Having orphan dtbo is apparently frowned upon > And if you apply these overlays to the base DTB then it gets symbols added automatically, no need for your patch [1/2] here. Andrew
On 20/09/2023 20:06, Andrew Davis wrote: > On 9/20/23 11:44 AM, Nishanth Menon wrote: >> On 18:18-20230920, Roger Quadros wrote: >>> >>> >>> On 20/09/2023 16:58, Nishanth Menon wrote: >>>> On 16:34-20230920, Roger Quadros wrote: >>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>>> connector. Add support for it. >>>>> >>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>>> --- >>>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>>> 2 files changed, 141 insertions(+) >>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>>> >>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>>> index 06d6f264f292..ece74085a6be 100644 >>>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>>> # Boards with AM64x SoC >>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>>> >>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>>> >>>> you may not get the dtbo installed when doing make dtbs_install >>>> >>>> [...] >>>> >>> >>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >>> INSTALL /tmp/ti/k3-am625-sk.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >>> INSTALL /tmp/ti/k3-am62a7-sk.dtb >>> INSTALL /tmp/ti/k3-am62p5-sk.dtb >>> INSTALL /tmp/ti/k3-am642-evm.dtb >>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >>> ^^^^ >>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >>> INSTALL /tmp/ti/k3-am642-sk.dtb >>> >>> >>> What did I miss? >> >> I missed it, actually. See Rob's comment: >> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ >> >> Having orphan dtbo is apparently frowned upon >> > > And if you apply these overlays to the base DTB then it gets > symbols added automatically, no need for your patch [1/2] here. > Is this OK? k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb So patch 1 is not required in this case but we have an extra dtb file which is not really required. I have 2 more issues to point out 1) With existing examples e.g. J7200 EVM wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? Is this what we really want? likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb 2) Another issue (unrelated to this change) is the below warning: arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value This is because we use the 'ranges' property in the gpmc0 node and the compiler doesn't know the #address/size-cells of the parent node. Is there a trick to specify it in the dtso file?
On 9/21/23 6:37 AM, Roger Quadros wrote: > On 20/09/2023 20:06, Andrew Davis wrote: >> On 9/20/23 11:44 AM, Nishanth Menon wrote: >>> On 18:18-20230920, Roger Quadros wrote: >>>> >>>> >>>> On 20/09/2023 16:58, Nishanth Menon wrote: >>>>> On 16:34-20230920, Roger Quadros wrote: >>>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>>>> connector. Add support for it. >>>>>> >>>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>>>> --- >>>>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>>>> 2 files changed, 141 insertions(+) >>>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>>>> >>>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>>>> index 06d6f264f292..ece74085a6be 100644 >>>>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>>>> # Boards with AM64x SoC >>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>>>> >>>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>>>> >>>>> you may not get the dtbo installed when doing make dtbs_install >>>>> >>>>> [...] >>>>> >>>> >>>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >>>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >>>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >>>> INSTALL /tmp/ti/k3-am625-sk.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >>>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >>>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >>>> INSTALL /tmp/ti/k3-am62a7-sk.dtb >>>> INSTALL /tmp/ti/k3-am62p5-sk.dtb >>>> INSTALL /tmp/ti/k3-am642-evm.dtb >>>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >>>> ^^^^ >>>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >>>> INSTALL /tmp/ti/k3-am642-sk.dtb >>>> >>>> >>>> What did I miss? >>> >>> I missed it, actually. See Rob's comment: >>> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ >>> >>> Having orphan dtbo is apparently frowned upon >>> >> >> And if you apply these overlays to the base DTB then it gets >> symbols added automatically, no need for your patch [1/2] here. >> > > Is this OK? > > k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo > dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb > > So patch 1 is not required in this case but we have an > extra dtb file which is not really required. > While I agree we will end up with several pre-overlayed DTB files that are arguably not required as they could be later built/applied, until we find a better way to check at build time these overlays need applied to something as a test. > I have 2 more issues to point out > > 1) > With existing examples e.g. J7200 EVM > wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? > Is this what we really want? > > likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb > Yes, that is the idea, the base-board.dtb is just the raw main board, but the "EVM" when you buy it comes with the quad-port daughtercard attached. That is what we consider the "EVM" and the DTB names match that. > 2) > Another issue (unrelated to this change) is the below warning: > > arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value > arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value > > This is because we use the 'ranges' property in the gpmc0 node > and the compiler doesn't know the #address/size-cells of the > parent node. > > Is there a trick to specify it in the dtso file? > Hmm, seems like a tricky one. Do you really need to do the ranges here? Could you use the default `ranges;` for gpmc0? Then do the range translation down inside the nand node to keep the partition addresses sane. Andrew
On 21/09/2023 20:23, Andrew Davis wrote: > On 9/21/23 6:37 AM, Roger Quadros wrote: >> On 20/09/2023 20:06, Andrew Davis wrote: >>> On 9/20/23 11:44 AM, Nishanth Menon wrote: >>>> On 18:18-20230920, Roger Quadros wrote: >>>>> >>>>> >>>>> On 20/09/2023 16:58, Nishanth Menon wrote: >>>>>> On 16:34-20230920, Roger Quadros wrote: >>>>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>>>>> connector. Add support for it. >>>>>>> >>>>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>>>>> --- >>>>>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>>>>> 2 files changed, 141 insertions(+) >>>>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>>>>> >>>>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>>>>> index 06d6f264f292..ece74085a6be 100644 >>>>>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>>>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>>>>> # Boards with AM64x SoC >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>>>>> >>>>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>>>>> >>>>>> you may not get the dtbo installed when doing make dtbs_install >>>>>> >>>>>> [...] >>>>>> >>>>> >>>>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >>>>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >>>>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >>>>> INSTALL /tmp/ti/k3-am625-sk.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >>>>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >>>>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >>>>> INSTALL /tmp/ti/k3-am62a7-sk.dtb >>>>> INSTALL /tmp/ti/k3-am62p5-sk.dtb >>>>> INSTALL /tmp/ti/k3-am642-evm.dtb >>>>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >>>>> ^^^^ >>>>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >>>>> INSTALL /tmp/ti/k3-am642-sk.dtb >>>>> >>>>> >>>>> What did I miss? >>>> >>>> I missed it, actually. See Rob's comment: >>>> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ >>>> >>>> Having orphan dtbo is apparently frowned upon >>>> >>> >>> And if you apply these overlays to the base DTB then it gets >>> symbols added automatically, no need for your patch [1/2] here. >>> >> >> Is this OK? >> >> k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo >> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb >> >> So patch 1 is not required in this case but we have an >> extra dtb file which is not really required. >> > > While I agree we will end up with several pre-overlayed DTB files > that are arguably not required as they could be later built/applied, > until we find a better way to check at build time these overlays > need applied to something as a test. > >> I have 2 more issues to point out >> >> 1) >> With existing examples e.g. J7200 EVM >> wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? >> Is this what we really want? >> >> likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb >> > > Yes, that is the idea, the base-board.dtb is just the raw main board, but > the "EVM" when you buy it comes with the quad-port daughtercard attached. > That is what we consider the "EVM" and the DTB names match that. > >> 2) >> Another issue (unrelated to this change) is the below warning: >> >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value >> >> This is because we use the 'ranges' property in the gpmc0 node >> and the compiler doesn't know the #address/size-cells of the >> parent node. >> >> Is there a trick to specify it in the dtso file? >> > > Hmm, seems like a tricky one. Do you really need to do the ranges here? > Could you use the default `ranges;` for gpmc0? Then do the range translation > down inside the nand node to keep the partition addresses sane. GPMC has separate address spaces per chip select. From Documentation/devicetree/bindings/memory-controllers/ti,gpmc.yaml ranges: minItems: 1 description: | Must be set up to reflect the memory layout with four integer values for each chip-select line in use, <cs-number> 0 <physical address of mapping> <size> The ranges location in the device tree overlay is correct. The overlay is meaningless without the base tree. The correct solution would be to fix dtc so it doesn't print this warning for DT overlays. i.e. diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c index 9f31d2607182..dcb0a6f6f3fb 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -1203,6 +1203,9 @@ static void check_avoid_default_addr_size(struct check *c, struct dt_info *dti, if (!reg && !ranges) return; + if (streq(node->name, "__overlay__")) + return; + if (node->parent->addr_cells == -1) FAIL(c, dti, node, "Relying on default #address-cells value");
On 9/22/23 4:03 AM, Roger Quadros wrote: > > > On 21/09/2023 20:23, Andrew Davis wrote: >> On 9/21/23 6:37 AM, Roger Quadros wrote: >>> On 20/09/2023 20:06, Andrew Davis wrote: >>>> On 9/20/23 11:44 AM, Nishanth Menon wrote: >>>>> On 18:18-20230920, Roger Quadros wrote: >>>>>> >>>>>> >>>>>> On 20/09/2023 16:58, Nishanth Menon wrote: >>>>>>> On 16:34-20230920, Roger Quadros wrote: >>>>>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>>>>>> connector. Add support for it. >>>>>>>> >>>>>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>>>>>> --- >>>>>>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>>>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>>>>>> 2 files changed, 141 insertions(+) >>>>>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>>>>>> >>>>>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>>>>>> index 06d6f264f292..ece74085a6be 100644 >>>>>>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>>>>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>>>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>>>>>> # Boards with AM64x SoC >>>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>>>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>>>>>> >>>>>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>>>>>> >>>>>>> you may not get the dtbo installed when doing make dtbs_install >>>>>>> >>>>>>> [...] >>>>>>> >>>>>> >>>>>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >>>>>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >>>>>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >>>>>> INSTALL /tmp/ti/k3-am625-sk.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >>>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >>>>>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >>>>>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >>>>>> INSTALL /tmp/ti/k3-am62a7-sk.dtb >>>>>> INSTALL /tmp/ti/k3-am62p5-sk.dtb >>>>>> INSTALL /tmp/ti/k3-am642-evm.dtb >>>>>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >>>>>> ^^^^ >>>>>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >>>>>> INSTALL /tmp/ti/k3-am642-sk.dtb >>>>>> >>>>>> >>>>>> What did I miss? >>>>> >>>>> I missed it, actually. See Rob's comment: >>>>> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ >>>>> >>>>> Having orphan dtbo is apparently frowned upon >>>>> >>>> >>>> And if you apply these overlays to the base DTB then it gets >>>> symbols added automatically, no need for your patch [1/2] here. >>>> >>> >>> Is this OK? >>> >>> k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo >>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb >>> >>> So patch 1 is not required in this case but we have an >>> extra dtb file which is not really required. >>> >> >> While I agree we will end up with several pre-overlayed DTB files >> that are arguably not required as they could be later built/applied, >> until we find a better way to check at build time these overlays >> need applied to something as a test. >> >>> I have 2 more issues to point out >>> >>> 1) >>> With existing examples e.g. J7200 EVM >>> wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? >>> Is this what we really want? >>> >>> likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb >>> >> >> Yes, that is the idea, the base-board.dtb is just the raw main board, but >> the "EVM" when you buy it comes with the quad-port daughtercard attached. >> That is what we consider the "EVM" and the DTB names match that. >> >>> 2) >>> Another issue (unrelated to this change) is the below warning: >>> >>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value >>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value >>> >>> This is because we use the 'ranges' property in the gpmc0 node >>> and the compiler doesn't know the #address/size-cells of the >>> parent node. >>> >>> Is there a trick to specify it in the dtso file? >>> >> >> Hmm, seems like a tricky one. Do you really need to do the ranges here? >> Could you use the default `ranges;` for gpmc0? Then do the range translation >> down inside the nand node to keep the partition addresses sane. > > GPMC has separate address spaces per chip select. > > From Documentation/devicetree/bindings/memory-controllers/ti,gpmc.yaml > ranges: > minItems: 1 > description: | > Must be set up to reflect the memory layout with four > integer values for each chip-select line in use, > <cs-number> 0 <physical address of mapping> <size> > > The ranges location in the device tree overlay is correct. The overlay is > meaningless without the base tree. > > The correct solution would be to fix dtc so it doesn't print this warning > for DT overlays. > This may be too much and we would miss valid cases for this warning. Maybe that is okay here, but we would need to add a warning/check when applying overlays for mismatch sizes, right now that seems to be missing. Andrew > i.e. > > diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c > index 9f31d2607182..dcb0a6f6f3fb 100644 > --- a/scripts/dtc/checks.c > +++ b/scripts/dtc/checks.c > @@ -1203,6 +1203,9 @@ static void check_avoid_default_addr_size(struct check *c, struct dt_info *dti, > if (!reg && !ranges) > return; > > + if (streq(node->name, "__overlay__")) > + return; > + > if (node->parent->addr_cells == -1) > FAIL(c, dti, node, "Relying on default #address-cells value"); > >
On Fri, Sep 22, 2023 at 4:03 AM Roger Quadros <rogerq@kernel.org> wrote: > > > > On 21/09/2023 20:23, Andrew Davis wrote: > > On 9/21/23 6:37 AM, Roger Quadros wrote: > >> On 20/09/2023 20:06, Andrew Davis wrote: > >>> On 9/20/23 11:44 AM, Nishanth Menon wrote: > >>>> On 18:18-20230920, Roger Quadros wrote: > >>>>> > >>>>> > >>>>> On 20/09/2023 16:58, Nishanth Menon wrote: > >>>>>> On 16:34-20230920, Roger Quadros wrote: > >>>>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) > >>>>>>> connector. Add support for it. > >>>>>>> > >>>>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> > >>>>>>> --- > >>>>>>> arch/arm64/boot/dts/ti/Makefile | 1 + > >>>>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ > >>>>>>> 2 files changed, 141 insertions(+) > >>>>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso > >>>>>>> > >>>>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > >>>>>>> index 06d6f264f292..ece74085a6be 100644 > >>>>>>> --- a/arch/arm64/boot/dts/ti/Makefile > >>>>>>> +++ b/arch/arm64/boot/dts/ti/Makefile > >>>>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb > >>>>>>> # Boards with AM64x SoC > >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb > >>>>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo > >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb > >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb > >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb > >>>>>> > >>>>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ > >>>>>> > >>>>>> you may not get the dtbo installed when doing make dtbs_install > >>>>>> > >>>>>> [...] > >>>>>> > >>>>> > >>>>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp > >>>>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb > >>>>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb > >>>>> INSTALL /tmp/ti/k3-am625-sk.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb > >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb > >>>>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb > >>>>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo > >>>>> INSTALL /tmp/ti/k3-am62a7-sk.dtb > >>>>> INSTALL /tmp/ti/k3-am62p5-sk.dtb > >>>>> INSTALL /tmp/ti/k3-am642-evm.dtb > >>>>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo > >>>>> ^^^^ > >>>>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb > >>>>> INSTALL /tmp/ti/k3-am642-sk.dtb > >>>>> > >>>>> > >>>>> What did I miss? > >>>> > >>>> I missed it, actually. See Rob's comment: > >>>> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ > >>>> > >>>> Having orphan dtbo is apparently frowned upon > >>>> > >>> > >>> And if you apply these overlays to the base DTB then it gets > >>> symbols added automatically, no need for your patch [1/2] here. > >>> > >> > >> Is this OK? > >> > >> k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo > >> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb > >> > >> So patch 1 is not required in this case but we have an > >> extra dtb file which is not really required. > >> > > > > While I agree we will end up with several pre-overlayed DTB files > > that are arguably not required as they could be later built/applied, > > until we find a better way to check at build time these overlays > > need applied to something as a test. > > > >> I have 2 more issues to point out > >> > >> 1) > >> With existing examples e.g. J7200 EVM > >> wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? > >> Is this what we really want? > >> > >> likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb > >> > > > > Yes, that is the idea, the base-board.dtb is just the raw main board, but > > the "EVM" when you buy it comes with the quad-port daughtercard attached. > > That is what we consider the "EVM" and the DTB names match that. > > > >> 2) > >> Another issue (unrelated to this change) is the below warning: > >> > >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value > >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value > >> > >> This is because we use the 'ranges' property in the gpmc0 node > >> and the compiler doesn't know the #address/size-cells of the > >> parent node. > >> > >> Is there a trick to specify it in the dtso file? > >> > > > > Hmm, seems like a tricky one. Do you really need to do the ranges here? > > Could you use the default `ranges;` for gpmc0? Then do the range translation > > down inside the nand node to keep the partition addresses sane. > > GPMC has separate address spaces per chip select. > > From Documentation/devicetree/bindings/memory-controllers/ti,gpmc.yaml > ranges: > minItems: 1 > description: | > Must be set up to reflect the memory layout with four > integer values for each chip-select line in use, > <cs-number> 0 <physical address of mapping> <size> > > The ranges location in the device tree overlay is correct. The overlay is > meaningless without the base tree. > > The correct solution would be to fix dtc so it doesn't print this warning > for DT overlays. https://www.spinics.net/lists/devicetree-compiler/msg04036.html
Hi, On 21/09/2023 20:23, Andrew Davis wrote: > On 9/21/23 6:37 AM, Roger Quadros wrote: >> On 20/09/2023 20:06, Andrew Davis wrote: >>> On 9/20/23 11:44 AM, Nishanth Menon wrote: >>>> On 18:18-20230920, Roger Quadros wrote: >>>>> >>>>> >>>>> On 20/09/2023 16:58, Nishanth Menon wrote: >>>>>> On 16:34-20230920, Roger Quadros wrote: >>>>>>> The NAND expansion card plugs in over the HSE (High Speed Expansion) >>>>>>> connector. Add support for it. >>>>>>> >>>>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org> >>>>>>> --- >>>>>>> arch/arm64/boot/dts/ti/Makefile | 1 + >>>>>>> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso | 140 ++++++++++++++++++ >>>>>>> 2 files changed, 141 insertions(+) >>>>>>> create mode 100644 arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso >>>>>>> >>>>>>> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile >>>>>>> index 06d6f264f292..ece74085a6be 100644 >>>>>>> --- a/arch/arm64/boot/dts/ti/Makefile >>>>>>> +++ b/arch/arm64/boot/dts/ti/Makefile >>>>>>> @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb >>>>>>> # Boards with AM64x SoC >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb >>>>>>> +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb >>>>>>> dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb >>>>>> >>>>>> Also see https://lore.kernel.org/all/20230911165610.GA1362932-robh@kernel.org/ >>>>>> >>>>>> you may not get the dtbo installed when doing make dtbs_install >>>>>> >>>>>> [...] >>>>>> >>>>> >>>>> $ v8make dtbs_install INSTALL_DTBS_PATH=/tmp >>>>> INSTALL /tmp/ti/k3-am625-beagleplay.dtb >>>>> INSTALL /tmp/ti/k3-am625-phyboard-lyra-rdk.dtb >>>>> INSTALL /tmp/ti/k3-am625-sk.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dahlia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-dev.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-nonwifi-yavia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dahlia.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-dev.dtb >>>>> INSTALL /tmp/ti/k3-am625-verdin-wifi-yavia.dtb >>>>> INSTALL /tmp/ti/k3-am62-lp-sk.dtb >>>>> INSTALL /tmp/ti/k3-am62x-sk-hdmi-audio.dtbo >>>>> INSTALL /tmp/ti/k3-am62a7-sk.dtb >>>>> INSTALL /tmp/ti/k3-am62p5-sk.dtb >>>>> INSTALL /tmp/ti/k3-am642-evm.dtb >>>>> INSTALL /tmp/ti/k3-am642-evm-nand.dtbo >>>>> ^^^^ >>>>> INSTALL /tmp/ti/k3-am642-phyboard-electra-rdk.dtb >>>>> INSTALL /tmp/ti/k3-am642-sk.dtb >>>>> >>>>> >>>>> What did I miss? >>>> >>>> I missed it, actually. See Rob's comment: >>>> https://lore.kernel.org/all/CAL_Jsq+GR3hP6hFvFn2z5aXvSXnh9butD3aKZ-y_XJgx0_YPTw@mail.gmail.com/ >>>> >>>> Having orphan dtbo is apparently frowned upon >>>> >>> >>> And if you apply these overlays to the base DTB then it gets >>> symbols added automatically, no need for your patch [1/2] here. >>> >> >> Is this OK? >> >> k3-am642-evm-nand-dtbs := k3-am642-evm.dtb k3-am642-evm-nand.dtbo >> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtb >> >> So patch 1 is not required in this case but we have an >> extra dtb file which is not really required. >> > > While I agree we will end up with several pre-overlayed DTB files > that are arguably not required as they could be later built/applied, > until we find a better way to check at build time these overlays > need applied to something as a test. > >> I have 2 more issues to point out >> >> 1) >> With existing examples e.g. J7200 EVM >> wouldn't k3-j7200-evm.dtb include the k3-j7200-evm-quad-port-eth-exp.dtbo? >> Is this what we really want? >> >> likewise for k3-j721e-evm.dtb and k3-am654-gp-evm.dtb >> > > Yes, that is the idea, the base-board.dtb is just the raw main board, but > the "EVM" when you buy it comes with the quad-port daughtercard attached. > That is what we consider the "EVM" and the DTB names match that. > >> 2) >> Another issue (unrelated to this change) is the below warning: >> >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #address-cells value >> arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso:65.8-140.3: Warning (avoid_default_addr_size): /fragment@3/__overlay__: Relying on default #size-cells value >> >> This is because we use the 'ranges' property in the gpmc0 node >> and the compiler doesn't know the #address/size-cells of the >> parent node. >> >> Is there a trick to specify it in the dtso file? >> > > Hmm, seems like a tricky one. Do you really need to do the ranges here? > Could you use the default `ranges;` for gpmc0? Then do the range translation > down inside the nand node to keep the partition addresses sane. I think we need to go down this route. Your suggestion about using ranges in gpmc0 node in the EVM DT file is fine I guess as for this board there is no other use case for GPMC. So it should be OK to reserve Chip Select0 address space at k3-am642-evm.dts
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index 06d6f264f292..ece74085a6be 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb # Boards with AM64x SoC dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb +dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-nand.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso b/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso new file mode 100644 index 000000000000..12593836eaab --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am642-evm-nand.dtso @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: GPL-2.0 +/** + * DT overlay for HSE NAND expansion card on AM642 EVM + * + * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/ + */ + +/dts-v1/; +/plugin/; +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include "k3-pinctrl.h" + +&main_pmx0 { + gpmc0_pins_default: gpmc0-pins-default { + pinctrl-single,pins = < + AM64X_IOPAD(0x0094, PIN_INPUT, 7) /* (T19) GPMC0_BE1n.GPIO0_36 */ + + AM64X_IOPAD(0x003c, PIN_INPUT, 0) /* (T20) GPMC0_AD0 */ + AM64X_IOPAD(0x0040, PIN_INPUT, 0) /* (U21) GPMC0_AD1 */ + AM64X_IOPAD(0x0064, PIN_INPUT, 0) /* (R16) GPMC0_AD10 */ + AM64X_IOPAD(0x0068, PIN_INPUT, 0) /* (W20) GPMC0_AD11 */ + AM64X_IOPAD(0x006c, PIN_INPUT, 0) /* (W21) GPMC0_AD12 */ + AM64X_IOPAD(0x0070, PIN_INPUT, 0) /* (V18) GPMC0_AD13 */ + AM64X_IOPAD(0x0074, PIN_INPUT, 0) /* (Y21) GPMC0_AD14 */ + AM64X_IOPAD(0x0078, PIN_INPUT, 0) /* (Y20) GPMC0_AD15 */ + AM64X_IOPAD(0x0044, PIN_INPUT, 0) /* (T18) GPMC0_AD2 */ + AM64X_IOPAD(0x0048, PIN_INPUT, 0) /* (U20) GPMC0_AD3 */ + AM64X_IOPAD(0x004c, PIN_INPUT, 0) /* (U18) GPMC0_AD4 */ + AM64X_IOPAD(0x0050, PIN_INPUT, 0) /* (U19) GPMC0_AD5 */ + AM64X_IOPAD(0x0054, PIN_INPUT, 0) /* (V20) GPMC0_AD6 */ + AM64X_IOPAD(0x0058, PIN_INPUT, 0) /* (V21) GPMC0_AD7 */ + AM64X_IOPAD(0x005c, PIN_INPUT, 0) /* (V19) GPMC0_AD8 */ + AM64X_IOPAD(0x0060, PIN_INPUT, 0) /* (T17) GPMC0_AD9 */ + AM64X_IOPAD(0x0098, PIN_INPUT_PULLUP, 0) /* (W19) GPMC0_WAIT0 */ + AM64X_IOPAD(0x009c, PIN_INPUT_PULLUP, 0) /* (Y18) GPMC0_WAIT1 */ + AM64X_IOPAD(0x00a8, PIN_OUTPUT_PULLUP, 0) /* (R19) GPMC0_CSn0 */ + AM64X_IOPAD(0x00ac, PIN_OUTPUT_PULLUP, 0) /* (R20) GPMC0_CSn1 */ + AM64X_IOPAD(0x00b0, PIN_OUTPUT_PULLUP, 0) /* (P19) GPMC0_CSn2 */ + AM64X_IOPAD(0x00b4, PIN_OUTPUT_PULLUP, 0) /* (R21) GPMC0_CSn3 */ + AM64X_IOPAD(0x007c, PIN_OUTPUT, 0) /* (R17) GPMC0_CLK */ + AM64X_IOPAD(0x0084, PIN_OUTPUT, 0) /* (P16) GPMC0_ADVn_ALE */ + AM64X_IOPAD(0x0088, PIN_OUTPUT, 0) /* (R18) GPMC0_OEn_REn */ + AM64X_IOPAD(0x008c, PIN_OUTPUT, 0) /* (T21) GPMC0_WEn */ + AM64X_IOPAD(0x0090, PIN_OUTPUT, 0) /* (P17) GPMC0_BE0n_CLE */ + AM64X_IOPAD(0x00a0, PIN_OUTPUT_PULLUP, 0) /* (N16) GPMC0_WPn */ + AM64X_IOPAD(0x00a4, PIN_OUTPUT, 0) /* (N17) GPMC0_DIR */ + >; + }; +}; + +&main_gpio0 { + gpio0-36 { + gpio-hog; + gpios = <36 0>; + input; + line-name = "GPMC0_MUX_DIR"; + }; +}; + +&elm0 { + status = "okay"; +}; + +&gpmc0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&gpmc0_pins_default>; + ranges = <0 0 0x00 0x51000000 0x01000000>; /* CS0 space. Min partition = 16MB */ + #address-cells = <2>; + #size-cells = <1>; + + nand@0,0 { + compatible = "ti,am64-nand"; + reg = <0 0 64>; /* device IO registers */ + interrupt-parent = <&gpmc0>; + interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ + <1 IRQ_TYPE_NONE>; /* termcount */ + rb-gpios = <&gpmc0 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ + ti,nand-xfer-type = "prefetch-polled"; + ti,nand-ecc-opt = "bch8"; /* BCH8: Bootrom limitation */ + ti,elm-id = <&elm0>; + nand-bus-width = <8>; + gpmc,device-width = <1>; + gpmc,sync-clk-ps = <0>; + gpmc,cs-on-ns = <0>; + gpmc,cs-rd-off-ns = <40>; + gpmc,cs-wr-off-ns = <40>; + gpmc,adv-on-ns = <0>; + gpmc,adv-rd-off-ns = <25>; + gpmc,adv-wr-off-ns = <25>; + gpmc,we-on-ns = <0>; + gpmc,we-off-ns = <20>; + gpmc,oe-on-ns = <3>; + gpmc,oe-off-ns = <30>; + gpmc,access-ns = <30>; + gpmc,rd-cycle-ns = <40>; + gpmc,wr-cycle-ns = <40>; + gpmc,bus-turnaround-ns = <0>; + gpmc,cycle2cycle-delay-ns = <0>; + gpmc,clk-activation-ns = <0>; + gpmc,wr-access-ns = <40>; + gpmc,wr-data-mux-bus-ns = <0>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "NAND.tiboot3"; + reg = <0x00000000 0x00200000>; /* 2M */ + }; + partition@200000 { + label = "NAND.tispl"; + reg = <0x00200000 0x00200000>; /* 2M */ + }; + partition@400000 { + label = "NAND.tiboot3.backup"; /* 2M */ + reg = <0x00400000 0x00200000>; /* BootROM looks at 4M */ + }; + partition@600000 { + label = "NAND.u-boot"; + reg = <0x00600000 0x00400000>; /* 4M */ + }; + partition@a00000 { + label = "NAND.u-boot-env"; + reg = <0x00a00000 0x00040000>; /* 256K */ + }; + partition@a40000 { + label = "NAND.u-boot-env.backup"; + reg = <0x00a40000 0x00040000>; /* 256K */ + }; + partition@a80000 { + label = "NAND.file-system"; + reg = <0x00a80000 0x3f580000>; + }; + }; + }; +};