On Tue, 21 Aug 2018 10:50:07 +0100
Srinivas Kandagatla [off-list ref] wrote:
Just curious...Is there a reason why we can't do it like this?:
Is this because of issue of #address-cells and #size-cells Or mtd
bindings always prefer subnodes?
mtdnode {
reg = <0x0123000 0x40000>;
#address-cells = <1>;
#size-cells = <1>;
cell@0 {
compatible = "nvmem-cell";
reg = <0x0 0x14>;
};
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
cell@0 {
compatible = "nvmem-cell";
reg = <0x0 0x10>;
};
};
};
};
That would work, the MTD partitions parser ignore child nodes with a
compatible string when looking for "old style" partitions, see [1].
However we still have the a potential address space clash between the
nvmem cells and the main device binding.
Alban
[1]: https://elixir.bootlin.com/linux/latest/source/drivers/mtd/ofpart.c#L28