From: Rob Herring <robh@kernel.org>
To: Frank Wunderlich <linux@fw-web.de>
Cc: frank-w@public-files.de, linux-mediatek@lists.infradead.org,
Ryder Lee <ryder.lee@mediatek.com>,
Jianjun Wang <jianjun.wang@mediatek.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Chunfeng Yun <chunfeng.yun@mediatek.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Vinod Koul <vkoul@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Paolo Abeni <pabeni@redhat.com>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Bo Jiao <Bo.Jiao@mediatek.com>,
linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-phy@lists.infradead.org, linux-usb@vger.kernel.org
Subject: Re: [PATCH v6 11/11] arm64: dts: mt7986: add BPI-R3 nand/nor overlays
Date: Sun, 20 Nov 2022 10:12:51 -0600 [thread overview]
Message-ID: <20221120161251.GA3133853-robh@kernel.org> (raw)
In-Reply-To: <192D4414-DC88-4321-BB2A-4345C48E3C12@fw-web.de>
On Sat, Nov 19, 2022 at 08:19:52AM +0100, Frank Wunderlich wrote:
> Am 8. November 2022 15:45:49 MEZ schrieb Rob Herring <robh+dt@kernel.org>:
> >On Fri, Nov 18, 2022 at 4:05 PM Frank Wunderlich
> ><frank-w@public-files.de> wrote:
> >>
> >> Am 18. November 2022 22:39:52 MEZ schrieb Rob Herring <robh+dt@kernel.org>:
> >> >On Fri, Nov 18, 2022 at 1:01 PM Frank Wunderlich <linux@fw-web.de> wrote:
> >> >>
> >> >> From: Frank Wunderlich <frank-w@public-files.de>
> >> >>
> >> >> Add devicetree overlays for using nand and nor on BPI-R3.
> >> >
> >> >Can you not tell at runtime which one you booted from? If not, how
> >> >does one choose which overlay to apply? If you can, why not populate
> >> >both nodes and enable the right one? IMO, if all h/w is present, it
> >> >should all be in the DT. Selecting what h/w to use is a separate
> >> >problem and overlays aren't a great solution for that.
> >>
> >> It is not the decision about bootdevice,more available devices.
> >>
> >> Only 1 spi device (nand OR nor) is available
> >> at boottime as they share same spi bus and
> >> chipselect is set via hw jumper.
> >> Both nodes have reg 0,which is imho not
> >> supported in linux.
> >
> >As long as one is set to disabled, it should be fine.
> >
> >
> >> I choosed overlays to add the right spi
> >> device on the right mmc device where
> >> similar selection happens (see patch 10).
> >> Either sd OR emmc can be used (1 mmc
> >> controller,first 4bits from bus switched by
> >> hardware jumper).But for mmc i use it as
> >> base fdt because i see mmc as primary
> >> device which holds rootfs too. Nand/nor is
> >> imho helping device for accessing emmc or
> >> like rescue system (only uboot).
> >
> >No way to read the jumper state or know what you booted from I gues?
> >
> >> I probe in uboot if emmc is available (mmc
> >> partconf) and choose emmc else sd. For
> >> spi i try with sf command to check for nor,if
> >> this does not work i apply nand overlay.
> >
> >Instead of applying overlays, wouldn't just changing 'status' be easier?
>
> It will be easier,but requires dts for all
> combinations,we have have sd/emmc
> combination twice (once for nand
> enabling,once for nor) and we have then 4
> full dts instead of smaller overlays in fit.
No, I mean can't you have 1 dtb with everything, but nand, nor, emmc,
and sd are all disabled. Then at boot change 'status' for what's
enabled.
> So i should add spi subnodes both disabled
> in base dtsi and create 4 dts (sd-nand,sd-nor,emmc-nand,emmc-nor) with
> mmc node and enabling the right spi node?
> >>
> >> >> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> >> >> ---
> >> >> maybe rename to dtso?
> >> >>
> >> >> "kbuild: Allow DTB overlays to built from .dtso named source files"
> >> >> https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/commit/?h=dt/next&id=363547d2191cbc32ca954ba75d72908712398ff2
> >>
> >> Should i do this?
> >
> >Yes. .dts -> .dtbo is going to be removed.
>
> Do this if still using overlays,will test new way.
>
> Maybe we can apply parts 1-9 first?
Sure.
>
> >> >> more comments about the dt overlay-support:
> >> >>
> >> >> https://patchwork.kernel.org/comment/25092116/
> >> >> https://patchwork.kernel.org/comment/25085681/
> >>
> >> Daniel suggest define sd/emmc as overlay too...with way you mention below we could create 4 full fdt without applying overlays in uboot.
> >
> >Yes, but if you are going to do that, then you can just do all this
> >with includes.
>
> This is a third way if i understand correctly
>
> Make all of them as overlay (dtso?) but
> build dtb by combining them in makefile.
>
> This looks the best way because it avoids
> redundand code for mmc node and allows
> my current spi config (not the status way
> which may break due to same unit address).
>
> I guess my base dtsi is then a dts too?
Yes, it can be.
>
> Or should these overlays only duplicated and either include sd dts or emmc dts (but this creates again redundant code)?
> >> >> --- a/arch/arm64/boot/dts/mediatek/Makefile
> >> >> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> >> >> @@ -8,6 +8,8 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
> >> >> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
> >> >> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
> >> >> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-emmc.dtb
> >> >> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-nand.dtbo
> >> >> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-nor.dtbo
> >> >
> >> >These need rules to apply them to the base dtb(s). You just need:
> >> >
> >> >full.dtb := base.dtb overlay.dtb
> >> >dtb-y += full.dtb
> >>
> >> I would prefer to do this in bootloader to allow all 4 possible configurations:
> >>
> >> Sd+nand
> >> Sd+nor
> >> Emmc+nand
> >> Emmc+nor
> >
> >That's fine. The purpose here is to document what the overlays apply
> >to, check that they actually apply, and validate them when applied
> >(unless someone wants to figure out all the issues with validating
> >just an overlay and make that work). You for example have an
> >undocumented compatible in yours (denx,fit).
>
> Oh,need to check,copied partitions from my
> uboot dts...maybe there is a linux version
> for marking it as fit partition,else i drop
> completely.
You just need to document it. But the first thing I'm going to say, is
'u-boot' is the vendor, not 'denx'. So 'u-boot,fit'.
Rob
next prev parent reply other threads:[~2022-11-20 16:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-18 19:01 [PATCH v6 00/11] Add BananaPi R3 Frank Wunderlich
2022-11-18 19:01 ` [PATCH v6 01/11] arm64: dts: mt7986: move wed_pcie node Frank Wunderlich
2022-11-21 17:04 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 02/11] dt-bindings: phy: mediatek,tphy: add support for mt7986 Frank Wunderlich
2022-11-21 17:04 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 03/11] dt-bindings: usb: mtk-xhci: " Frank Wunderlich
2022-11-21 17:04 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 04/11] dt-bindings: PCI: mediatek-gen3: add SoC based clock config Frank Wunderlich
2022-11-21 17:05 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 05/11] dt-bindings: PCI: mediatek-gen3: add support for mt7986 Frank Wunderlich
2022-11-21 17:13 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 06/11] arm64: dts: mt7986: add spi related device nodes Frank Wunderlich
2022-11-21 17:20 ` Matthias Brugger
2022-11-18 19:01 ` [PATCH v6 07/11] arm64: dts: mt7986: add usb " Frank Wunderlich
2022-11-21 7:38 ` Chunfeng Yun (云春峰)
2022-11-18 19:01 ` [PATCH v6 08/11] arm64: dts: mt7986: add mmc " Frank Wunderlich
2022-11-18 19:01 ` [PATCH v6 09/11] arm64: dts: mt7986: add pcie " Frank Wunderlich
2022-11-18 19:01 ` [PATCH v6 10/11] arm64: dts: mt7986: add Bananapi R3 Frank Wunderlich
2022-11-18 19:01 ` [PATCH v6 11/11] arm64: dts: mt7986: add BPI-R3 nand/nor overlays Frank Wunderlich
2022-11-18 21:39 ` Rob Herring
2022-11-18 21:45 ` Rob Herring
2022-11-18 22:05 ` Frank Wunderlich
2022-11-08 14:45 ` Rob Herring
2022-11-19 7:19 ` Frank Wunderlich
2022-11-20 16:12 ` Rob Herring [this message]
2022-11-20 16:47 ` Aw: " Frank Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221120161251.GA3133853-robh@kernel.org \
--to=robh@kernel.org \
--cc=Bo.Jiao@mediatek.com \
--cc=bhelgaas@google.com \
--cc=chunfeng.yun@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=frank-w@public-files.de \
--cc=gregkh@linuxfoundation.org \
--cc=jianjun.wang@mediatek.com \
--cc=kishon@ti.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@fw-web.de \
--cc=lorenzo@kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=pabeni@redhat.com \
--cc=ryder.lee@mediatek.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).