[PATCH 2/5] dt-bindings: nvmem: add YAML schema for the ONIE tlv layout

From: Miquel Raynal
Date: Fri Oct 28 2022 - 05:23:54 EST


Add a schema for the ONIE tlv NVMEM layout that can be found on any ONIE
compatible networking device.

Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
.../nvmem/layouts/onie,tlv-layout.yaml | 96 +++++++++++++++++++
1 file changed, 96 insertions(+)
create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml

diff --git a/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml
new file mode 100644
index 000000000000..388547d46646
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/nvmem/layouts/onie,tlv-layout.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVMEM layout of the ONIE tlv table
+
+maintainers:
+ - Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
+
+description:
+ Modern networking hardware implementing the Open Compute Project ONIE
+ infrastructure shall provide a non-volatile memory with a table whose the
+ content is well specified and gives many information about the manufacturer
+ (name, country of manufacture, etc) as well as device caracteristics (serial
+ number, hardware version, mac addresses, etc). The underlaying device type
+ (flash, EEPROM,...) is not specified. The exact location of each value is also
+ dynamic and should be discovered at run time because it depends on the
+ parameters the manufacturer decided to embed.
+
+allOf:
+ - $ref: "../nvmem.yaml#"
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: onie,tlv-layout
+ required:
+ - compatible
+
+properties:
+ compatible: true
+
+ product-name: true
+
+ part-number: true
+
+ serial-number: true
+
+ 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
+
+ manufacture-date: true
+
+ device-version: true
+
+ label-revision: true
+
+ platforn-name: true
+
+ onie-version: true
+
+ num-macs: true
+
+ manufacturer: true
+
+ country-code: true
+
+ vendor: true
+
+ diag-version: true
+
+ service-tag: true
+
+ vendor-extension: true
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ onie {
+ compatible = "onie,tlv-layout", "vendor,device";
+
+ serial_number: serial-number {
+ };
+
+ mac_address: mac-address {
+ #nvmem-cell-cells = <1>;
+ };
+ };
+
+...
--
2.34.1