[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.

Reply via email to