[Rob: please advise] On 16.02.2021 22:26, Ansuel Smith wrote:
Document nvmem-partitions compatible used to treat mtd partitions as a nvmem provider.
Until now we were using "compatible" string in partition node only for parsers (looking for subpartitions). We need to think if this change can break anything from DT / Linux perspective. Compatible strings should be unique, so there is no risk of conflict between NVMEM and parsers. Now: can we ever need mtd partition to: 1. Contain subpartitions 2. Provide NVMEM at the same time? Let's say: partition@0 { compatible = "vendor,dynamic-firmware-partitions", "nvmem-partitions"; label = "firmware"; reg = <0x0 0x100000>; #address-cells = <1>; #size-cells = <1>; ranges = <0 0x0 0x100000>; firmware-version@10 { reg = <0x10 0x4>; }; firmware-date@10 { reg = <0x20 0x4>; }; }; Is that allowed to respect both "compatible" strings and have: 1. Linux parser parse "firmware" for subpartitions 2. Linux MTD register "firmware" as NVMEM device ? If not, what other options do we have? Is that allowed to have a dangling MTD NVMEM node with phandle to MTD partition? firmware: partition@0 { compatible = "vendor,dynamic-firmware-partitions"; label = "firmware"; reg = <0x0 0x100000>; }; (...) firmware-version@10 { compatible = "mtd-nvmem"; reg = <0x10 0x4>; mtd = <&firmware>; }; firmware-date@10 { compatible = "mtd-nvmem"; reg = <0x20 0x4>; mtd = <&firmware>; }; Rob: I'd really appreciate your input & help here.