On 06/09/18 23:11, Boris Brezillon wrote:
On Thu, 6 Sep 2018 18:14:10 +0200
Bernhard Frauendienst <kernel@xxxxxxxxxxxxxxxxx> wrote:
Hi everybody,
when porting my router board from a mach-file based OpenWRT target to a
device-tree based target, I found that there is no generic way to create
a mtd_concat device from within the dts. The following patches attempt
to provide that possibility.
May I ask what kind of devices you're trying to concatenate? Are they
of the same type? And finally, I'd like to understand the use case.
Absolutely. Specifically, I'm working on specifying the device tree for
the Buffalo WZR-HP-AG300H ([1], [2]). For persistent memory, it uses two
Winbond 25Q128BVFG 16MiB chips and concatenates them to a 32MiB device.
I'm pretty sure the original firmware did this as well, but it's
definitely done like this in the current OpenWRT implementation (using
mach files).
The manufacturer made some other questionable choices (like attaching
USB leds to the WiFi controller's gpio port), but apart from further
Buffalo devices, there are also devices from other vendors that have a
similar setup (e.g. ALFA Network AP120C, and Qihoo C301).
The current draft of the new dts file is here [3] (where the compatible
line is still called virtual,mtd-concat, before I renamed it). As you
can see, one of the partitions is crossing the device boundary, so I
cannot simply distribute across the chips.
Regards
Bernhard
[1] https://wikidevi.com/wiki/Buffalo_WZR-HP-AG300H
[2] https://openwrt.org/toh/buffalo/wzr-hp-ag300h
[3]
https://github.com/oxc/openwrt/blob/wzr-hp-ag300h/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts#L140
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/