On Tue, 21 Aug 2018 10:50:07 +0100 Srinivas Kandagatla 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