[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221028092337.822840-3-miquel.raynal@bootlin.com>
Date: Fri, 28 Oct 2022 11:23:34 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
<linux-kernel@...r.kernel.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
devicetree@...r.kernel.org
Cc: Marcin Wojtas <mw@...ihalf.com>,
Russell King <linux@...linux.org.uk>,
Maxime Chevallier <maxime.chevallier@...tlin.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org,
Robert Marko <robert.marko@...tura.hr>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Michael Walle <michael@...le.cc>,
Miquel Raynal <miquel.raynal@...tlin.com>
Subject: [PATCH 2/5] dt-bindings: nvmem: add YAML schema for the ONIE tlv layout
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@...tlin.com>
---
.../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@...tlin.com>
+
+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
Powered by blists - more mailing lists