Let say I have a device that use the following binding:
device {
compatible = "example-device";
#address-cells = <2>;
#size-cells = <1>;
child@0,0 {
reg = <0x0 0x0>;
...
};
child@1,2 {
reg = <0x1 0x2>;
...
};
};
Now this binding already use the node address space for something,
so putting a nvmem node as direct child would not work.
quiet clear as we have 2 address cells, however even if the number of
cells and the cells size would match it would still be conceptually
wrong as both bindings then use the same address space for something
different.