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

From: Michael Walle
Date: Thu Sep 01 2022 - 18:22:53 EST


Add a schema for the NVMEM layout on Kontron's sl28 boards.

Signed-off-by: Michael Walle <michael@xxxxxxxx>
---
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@xxxxxxxx>
+
+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":
+ const: 1
+
+ additionalProperties: false
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ otp-1 {
+ compatible = "kontron,sl28-vpd", "user-otp";
+
+ serial_number: serial-number {
+ };
+
+ base_mac_address: base-mac-address {
+ #nvmem-cell-cells = <1>;
+ };
+ };
+
+...
--
2.30.2