Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: nvmem: add YAML schema for the ONIE tlv layout

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>

authored by

Miquel Raynal and committed by
Greg Kroah-Hartman
ce9c0b06 b6c88f10

+148
+1
Documentation/devicetree/bindings/nvmem/layouts/nvmem-layout.yaml
··· 19 19 20 20 oneOf: 21 21 - $ref: kontron,sl28-vpd.yaml 22 + - $ref: onie,tlv-layout.yaml 22 23 23 24 properties: 24 25 compatible: true
+147
Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml
··· 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 + 7 + title: NVMEM layout of the ONIE tlv table 8 + 9 + maintainers: 10 + - Miquel Raynal <miquel.raynal@bootlin.com> 11 + 12 + description: 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 + 22 + select: false 23 + 24 + properties: 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 + 100 + required: 101 + - compatible 102 + 103 + additionalProperties: false 104 + 105 + examples: 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 + ...