Re: [PATCH v6 11/11] arm64: dts: mt7986: add BPI-R3 nand/nor overlays
From: Frank Wunderlich <hidden>
Date: 2022-11-18 22:05:59
Also in:
linux-devicetree, linux-mediatek, linux-pci, linux-phy, linux-usb, lkml
Am 18. November 2022 22:39:52 MEZ schrieb Rob Herring [off-list ref]:
On Fri, Nov 18, 2022 at 1:01 PM Frank Wunderlich [off-list ref] wrote:quoted
From: Frank Wunderlich <redacted> 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. 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). 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.
quoted
Signed-off-by: Frank Wunderlich <redacted> --- 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?
quoted
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.
quoted
--- 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.dtboThese 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
Rob
Hi, regards Frank _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel