1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# 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
platform-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>;
};
};
};
};
};
...
|