1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/nvmem/layouts/onie,tlv-layout.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NVMEM layout of the ONIE tlv table 8 9maintainers: 10 - Miquel Raynal <miquel.raynal@bootlin.com> 11 12description: 13 Modern networking hardware implementing the Open Compute Project ONIE 14 infrastructure shall provide a non-volatile memory with a table whose the 15 content is well specified and gives many information about the manufacturer 16 (name, country of manufacture, etc) as well as device caracteristics (serial 17 number, hardware version, mac addresses, etc). The underlaying device type 18 (flash, EEPROM,...) is not specified. The exact location of each value is also 19 dynamic and should be discovered at run time because it depends on the 20 parameters the manufacturer decided to embed. 21 22select: false 23 24properties: 25 compatible: 26 const: onie,tlv-layout 27 28 product-name: 29 type: object 30 additionalProperties: false 31 32 part-number: 33 type: object 34 additionalProperties: false 35 36 serial-number: 37 type: object 38 additionalProperties: false 39 40 mac-address: 41 type: object 42 description: 43 Base MAC address for all on-module network interfaces. The first 44 argument of the phandle will be treated as an offset. 45 46 properties: 47 "#nvmem-cell-cells": 48 const: 1 49 50 additionalProperties: false 51 52 manufacture-date: 53 type: object 54 additionalProperties: false 55 56 device-version: 57 type: object 58 additionalProperties: false 59 60 label-revision: 61 type: object 62 additionalProperties: false 63 64 platforn-name: 65 type: object 66 additionalProperties: false 67 68 onie-version: 69 type: object 70 additionalProperties: false 71 72 num-macs: 73 type: object 74 additionalProperties: false 75 76 manufacturer: 77 type: object 78 additionalProperties: false 79 80 country-code: 81 type: object 82 additionalProperties: false 83 84 vendor: 85 type: object 86 additionalProperties: false 87 88 diag-version: 89 type: object 90 additionalProperties: false 91 92 service-tag: 93 type: object 94 additionalProperties: false 95 96 vendor-extension: 97 type: object 98 additionalProperties: false 99 100required: 101 - compatible 102 103additionalProperties: false 104 105examples: 106 - | 107 spi { 108 #address-cells = <1>; 109 #size-cells = <0>; 110 111 eeprom@56 { 112 compatible = "atmel,24c64"; 113 read-only; 114 reg = <0x56>; 115 116 nvmem-layout { 117 compatible = "onie,tlv-layout"; 118 119 serial-number { 120 }; 121 }; 122 }; 123 }; 124 125 - | 126 spi { 127 #address-cells = <1>; 128 #size-cells = <0>; 129 130 flash@0 { 131 compatible = "m25p80", "jedec,spi-nor"; 132 reg = <0>; 133 134 otp { 135 compatible = "user-otp"; 136 137 nvmem-layout { 138 compatible = "onie,tlv-layout"; 139 140 mac-address { 141 #nvmem-cell-cells = <1>; 142 }; 143 }; 144 }; 145 }; 146 }; 147... 148