mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 15:53:59 -04:00
Add a schema for the ONIE tlv NVMEM layout that can be found on any ONIE compatible networking device. Describe all the possible NVMEM cells that can be produced by this layout parser. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20221118063932.6418-14-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
148 lines
3.0 KiB
YAML
148 lines
3.0 KiB
YAML
# 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@bootlin.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.
|
|
|
|
select: false
|
|
|
|
properties:
|
|
compatible:
|
|
const: onie,tlv-layout
|
|
|
|
product-name:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
part-number:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
serial-number:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
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:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
device-version:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
label-revision:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
platforn-name:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
onie-version:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
num-macs:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
manufacturer:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
country-code:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
vendor:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
diag-version:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
service-tag:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
vendor-extension:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
eeprom@56 {
|
|
compatible = "atmel,24c64";
|
|
read-only;
|
|
reg = <0x56>;
|
|
|
|
nvmem-layout {
|
|
compatible = "onie,tlv-layout";
|
|
|
|
serial-number {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
- |
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
flash@0 {
|
|
compatible = "m25p80", "jedec,spi-nor";
|
|
reg = <0>;
|
|
|
|
otp {
|
|
compatible = "user-otp";
|
|
|
|
nvmem-layout {
|
|
compatible = "onie,tlv-layout";
|
|
|
|
mac-address {
|
|
#nvmem-cell-cells = <1>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|