Thread (41 messages) 41 messages, 6 authors, 2022-09-23

Re: [PATCH v2 15/20] dt-bindings: nvmem: add YAML schema for the sl28 vpd layout

From: Rob Herring <robh@kernel.org>
Date: 2022-09-12 19:20:50
Also in: linux-arm-kernel, lkml

On Fri, Sep 02, 2022 at 12:18:52AM +0200, Michael Walle wrote:
quoted hunk ↗ jump to hunk
Add a schema for the NVMEM layout on Kontron's sl28 boards.

Signed-off-by: Michael Walle <redacted>
---
changes since v1:
 - add custom select
 - add description
 - add "additionalProperties: false", I wasn't sure if all the
   subnodes needs it. I'd say yes, but the brcm,nvram binding
   doesn't have them neither.

 .../nvmem/layouts/kontron,sl28-vpd.yaml       | 67 +++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
diff --git a/Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml b/Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
new file mode 100644
index 000000000000..0c180f29e880
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/nvmem/layouts/kontron,sl28-vpd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVMEM layout of the Kontron SMARC-sAL28 vital product data
+
+maintainers:
+  - Michael Walle <michael@walle.cc>
+
+description:
+  The vital product data (VPD) of the sl28 boards contains a serial
+  number and a base MAC address. The actual MAC addresses for the
+  on-board ethernet devices are derived from this base MAC address by
+  adding an offset.
+
+# We need a select here so we don't match all nodes with 'user-otp'
+select:
+  properties:
+    compatible:
+      contains:
+        const: kontron,sl28-vpd
+  required:
+    - compatible
+
+properties:
+  compatible:
+    items:
+      - const: kontron,sl28-vpd
+      - const: user-otp
+
+  serial-number:
+    type: object
+    description: The board's serial number
+
+  base-mac-address:
+    type: object
+    description:
+      Base MAC address for all on-module network interfaces. The first
+      argument of the phandle will be treated as an offset.
+
+    properties:
+      "#nvmem-cell-cells":
You can't just add a new #.*-cells buried in a device binding. I'm fine 
with the concept though having more than 1 user would be nice.

Any case that doesn't match foos->#foo-cells or has a default # of 
cells if missing (as this does) has to be added to dtschema to decode it 
properly. It won't really matter until there's a user with 2 or more 
entries. I'm happy to do update the dtschema part, but I'd prefer to see 
the schema in dtschema rather than the kernel.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help