From patchwork Mon Nov 14 08:56:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 19602 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2041691wru; Mon, 14 Nov 2022 01:01:47 -0800 (PST) X-Google-Smtp-Source: AA0mqf4GTqYB3TXUvU/IHmmZ0zpaVSc48V/R2lCs8J3TtwES+E5ESe3PAnC4HQoQ2izncFShAtpd X-Received: by 2002:aa7:d907:0:b0:460:f0c0:f9c8 with SMTP id a7-20020aa7d907000000b00460f0c0f9c8mr10527832edr.181.1668416506845; Mon, 14 Nov 2022 01:01:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668416506; cv=none; d=google.com; s=arc-20160816; b=piV74X017eDb8C8rOJ3wIZKwb89lOvGs7m4/Gok3sv7KzblKTSzOAXl3oGDyarasZU Mpys0O8sN0YmvaQaExMifY3joGs7eJLnQQs5lvnbYArDJCidZQve0Nt31kBAC3P1gadt 1YnmBASOm9HqM1J1USjI4AT0Gxdo6xhj5mkCeh4lSzuS4w2QoGm0MKcHhVB94zD/ryrv wwmDNKfCBYPUsDbXoKnFEwTfwtcr8Oq1RdhUrtqP5kDyZmNW4sDPmldhajKMiej9D9w4 cjcf0VE7wgLrkVBSyaKsWVJiapA3uuc+gI9sxntsPdlvll9IKppbBjzCseabLurh+J/h 5xzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4HG/iT/mzETZVhKM6zL2vs6fGxz+0PlYq2xmoenZCzQ=; b=g6nCFu0EmJtRSauPb/cwJxD+WrVODSc3IPnroX3b0lGYrZOTULN+kvj3g9w60Gx89y qQQzXtwEq6I423tdkTfRBXQXeyCAvHaz9wAjoMUSlwMTmodp4iHFWCTQMuWho673rpdr Za1t1DMoK5iLbOUQlKn96enJm3pD3TCq4QULqQm/gaxp7NEe+A/HQtQAF5QPLVLvtotd gHDQmxUhUducRfag1JWlieMyW9/FVz7JbxfMRk/R5h9GtcSbDOC1No8ZWzmcUieE3ZIM zNnEumXGaOqtj/HBkYJvqUXn/JzwwKXBOkKsKiwRw+ZYPEYoz3TDm6ksTUXylO/QJC6Q /c/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=EE2EyoU2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ss17-20020a170907c01100b007ac9a51342asi7230838ejc.188.2022.11.14.01.01.23; Mon, 14 Nov 2022 01:01:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=EE2EyoU2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236665AbiKNI5u (ORCPT + 99 others); Mon, 14 Nov 2022 03:57:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236662AbiKNI5X (ORCPT ); Mon, 14 Nov 2022 03:57:23 -0500 Received: from relay11.mail.gandi.net (relay11.mail.gandi.net [IPv6:2001:4b98:dc4:8::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5FED91CFF9; Mon, 14 Nov 2022 00:57:15 -0800 (PST) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id DEABA100008; Mon, 14 Nov 2022 08:57:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1668416233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4HG/iT/mzETZVhKM6zL2vs6fGxz+0PlYq2xmoenZCzQ=; b=EE2EyoU2XiXxfqcb5iTj6B8Fx0GBBnzPeUpEidTGTu0cRaS/hm3IBaTeoocAa8NCp+tJOp hwsBz3GcxksSXT2WgC2hqrQ76AGhDIUF5ArdknTdPPqlbgdp6J2+IA25OZPy4uC00ax/VS AmQUHbrQjuxCImRZNjYbJVgyJuFQCKXK0Us6x3RBNK6yb/lA4Rz7IA2BeoUrAg1Mst/vf0 X6tf6pRAkCXVIbp/48/CVk+CaMiNbny6ZyCE5FrGtbX6m5lik8/SkN+3KDn24MZjHV+7pY L4SkKDj+3wG7oOHt+xjSfXwuV3CF7LFul1CgI7vVhzONJ2FYN+wkDUBZ8RXtsQ== From: Miquel Raynal To: Rob Herring , Krzysztof Kozlowski , devicetree@vger.kernel.org Cc: Robert Marko , Luka Perkov , Thomas Petazzoni , Michael Walle , Bartosz Golaszewski , Srinivas Kandagatla , , Miquel Raynal Subject: [PATCH v4 5/5] dt-bindings: nvmem: add YAML schema for the ONIE tlv layout Date: Mon, 14 Nov 2022 09:56:59 +0100 Message-Id: <20221114085659.847611-6-miquel.raynal@bootlin.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221114085659.847611-1-miquel.raynal@bootlin.com> References: <20221114085659.847611-1-miquel.raynal@bootlin.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749461506776019644?= X-GMAIL-MSGID: =?utf-8?q?1749461506776019644?= 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 Reviewed-by: Rob Herring --- .../bindings/nvmem/layouts/nvmem-layout.yaml | 1 + .../nvmem/layouts/onie,tlv-layout.yaml | 147 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml diff --git a/Documentation/devicetree/bindings/nvmem/layouts/nvmem-layout.yaml b/Documentation/devicetree/bindings/nvmem/layouts/nvmem-layout.yaml index f64ea2fa362d..8512ee538c4c 100644 --- a/Documentation/devicetree/bindings/nvmem/layouts/nvmem-layout.yaml +++ b/Documentation/devicetree/bindings/nvmem/layouts/nvmem-layout.yaml @@ -19,6 +19,7 @@ description: | oneOf: - $ref: kontron,sl28-vpd.yaml + - $ref: onie,tlv-layout.yaml properties: compatible: true diff --git a/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml new file mode 100644 index 000000000000..5a0e7671aa3f --- /dev/null +++ b/Documentation/devicetree/bindings/nvmem/layouts/onie,tlv-layout.yaml @@ -0,0 +1,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 + +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>; + }; + }; + }; + }; + }; +...