[PATCH dt-schema.git] schemas: add NVMEM cell with #nvmem-cell-cells

Rafał Miłecki zajec5 at gmail.com
Mon Nov 21 02:58:30 PST 2022


From: Rafał Miłecki <rafal at milecki.pl>

Some NVMEM cells may provide more than 1 value. An example can be base
MAC address that is used for calculating multiple MACs (for few
different devices). For specifying value to read phandle needs to be
used with an argument.

Cc: Srinivas Kandagatla" <srinivas.kandagatla at linaro.org>
Cc: Michael Walle <michael at walle.cc>
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
This bit is required for moving forward with the
[PATCH v2 00/20] nvmem: core: introduce NVMEM layouts
https://lore.kernel.org/linux-arm-kernel/20220901221857.2600340-1-michael@walle.cc/

As pointed out by Rob #nvmem-cell-cells should be added to the dt-schema
and not a Linux binding:
Re: [PATCH v2 15/20] dt-bindings: nvmem: add YAML schema for the sl28 vpd layout
https://lore.kernel.org/linux-arm-kernel/20220912192038.GA1661550-robh@kernel.org/

sl28 is one example that needs #nvmem-cell-cells
u-boot,env is another one

Please let me know if I got this binding right at all.
---
 dtschema/schemas/nvmem/nvmem-cell.yaml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 dtschema/schemas/nvmem/nvmem-cell.yaml

diff --git a/dtschema/schemas/nvmem/nvmem-cell.yaml b/dtschema/schemas/nvmem/nvmem-cell.yaml
new file mode 100644
index 0000000..dfa99b8
--- /dev/null
+++ b/dtschema/schemas/nvmem/nvmem-cell.yaml
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: BSD-2-Clause
+$id: "http://devicetree.org/schemas/nvmem/nvmem-cell.yaml#"
+$schema: "http://devicetree.org/meta-schemas/base.yaml#"
+
+title: NVMEM Cell Common Properties
+description: "Schema for NVMEM cell devicetree bindings"
+maintainers:
+  - Rafał Miłecki <rafal at milecki.pl>
+  - Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
+
+# always select the core schema
+select: true
+
+properties:
+  "#nvmem-cell-cells":
+    $ref: "/schemas/types.yaml#/definitions/uint32"
+    description: >
+      Some NVMEM cells may consist of raw data that requires some extra
+      processing. They may provide more than 1 value.
+
+      Passing extra argument(s) allows selecting data to access.
+
+additionalProperties: true
-- 
2.34.1




More information about the linux-mtd mailing list