From: Rafał Miłecki <rafal@xxxxxxxxxx> Some NVMEM devices don't have NVMEM cells at hardcoded offsets and they can't be strictly specified in a binding. Those devices usually store NVMEM cells in some internal format. We still need a way of referencing such hidden / dynamic NVMEM cells. This patchset adds support for bindings like: nvram@1eff0000 { compatible = "brcm,nvram"; reg = <0x1eff0000 0x10000>; mac_addr: cell-0 { label = "et0macaddr"; }; }; ethernet@18024000 { compatible = "brcm,amac"; reg = <0x18024000 0x800>; nvmem-cells = <&mac_addr>; nvmem-cell-names = "mac-address"; }; Rafał Miłecki (5): dt-bindings: nvmem: add "label" property to allow more flexible cells names nvmem: core: read OF defined NVMEM cell name from "label" property dt-bindings: nvmem: allow referencing device defined cells by names dt-bindings: nvmem: brcm,nvram: add NVMEM cell to example nvmem: core: add cell name based matching of DT cell nodes .../devicetree/bindings/nvmem/brcm,nvram.yaml | 8 +++-- .../devicetree/bindings/nvmem/nvmem.yaml | 16 +++++++-- drivers/nvmem/core.c | 36 ++++++++++++++++++- 3 files changed, 55 insertions(+), 5 deletions(-) -- 2.31.1