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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
...
|