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