[PATCH V6 0/3] nvmem: add fixed cells layout

From: Rafał Miłecki
Date: Mon Mar 27 2023 - 10:18:26 EST


From: Rafał Miłecki <rafal@xxxxxxxxxx>

NVMEM bindings received a new feature recently: layouts. They allow
defining NVMEM device content in a separated DT node named
"nvmem-layout". That improvement results in cleaner and more generic
bindings.

New bindings & drivers should use layouts design. If possible we should
also try converting existing bindings & drivers to layouts.

This patchset allows defining NVMEM cells in a new way (using NVMEM
layout feature).

This deprecates support for defining NVMEM cells as direct DT device
node subnodes but IT DOESN'T drop support for that.

PLEASE understand what this patchset handles. It adds new & preferred
way of defining NVMEM cells. This patchset does NOT meant to:
1. Convert ALL existing bindings or drivers (it's a task for later)
2. Add support for new extra features (like multiple layouts)
3. Break any backward compatibility (it WON'T happen)

V5:
Support "fixed-layout" internally in NVMEM core (see PATCH 3/3)
V6:
Rename function & add unevaluatedProperties

Rafał Miłecki (3):
dt-bindings: nvmem: layouts: add fixed-layout
dt-bindings: nvmem: convert base example to use NVMEM fixed cells
layout
nvmem: core: add support for fixed cells *layout*

.../bindings/nvmem/layouts/fixed-cell.yaml | 31 ++++++++++
.../bindings/nvmem/layouts/fixed-layout.yaml | 50 +++++++++++++++
.../bindings/nvmem/layouts/nvmem-layout.yaml | 5 +-
.../devicetree/bindings/nvmem/nvmem.yaml | 61 ++++++++-----------
drivers/nvmem/core.c | 32 +++++++++-
5 files changed, 137 insertions(+), 42 deletions(-)
create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/fixed-cell.yaml
create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/fixed-layout.yaml

--
2.34.1