Received: by 2002:ab2:1149:0:b0:1f3:1f8c:d0c6 with SMTP id z9csp2069695lqz; Tue, 2 Apr 2024 06:34:00 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUGaiXLgcYilVpwTALMm5/9FFH0tfbTbaMK7dbOabQXRddOAIP+bIRq8OuZ10qBM8hWAZBl/ao9+ByBUM9I3fMnKxzEpXS4r3KeukS63g== X-Google-Smtp-Source: AGHT+IGQgmZbGl+bxAmY1TTLc2BotrB3Tlb2enIV/hnVZ/Cr9u0TtLJ5E9759KIvvAmBASJrMvLj X-Received: by 2002:a17:902:d508:b0:1e0:cdbf:24c2 with SMTP id b8-20020a170902d50800b001e0cdbf24c2mr13673897plg.29.1712064840292; Tue, 02 Apr 2024 06:34:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712064840; cv=pass; d=google.com; s=arc-20160816; b=TlUvMu9D8Oszbm7yJi5w7DEaxh4aW2fNVMLZeNbG+gk7c0ixt/1jaUvoXaByoujc5/ HcLxnzZE3qnque17xK8gevstCwjfwV38VHPP/4AR0UsK0pl1R2M9TwVziWWnY+gz+rFv WCjszA/1fO6B0eOcjEkdXp0ojV5NUxKJdPtNs6PTaskULjEO9QMJ546lEFh4m9PUVQno AUOS5m3lWBwLtlMcqKWbAUm3YcsMsMWLjPgtJoMEP2rSs/ODL2yMAMrDsaL7X17UxdNe x3kRvQkGzRgZmsRT5RA/02NeakD2ex16LDyxNUym5cAUXcpmL0UbqwgYAMyR1wNDGn/H f+Bw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=2V6A0cmsFiWEsZOf1cAYbCupUNdJ3qaXUgLuK0efZuQ=; fh=Ok3fju5l7ZBL8u1sq0yZgGzlqTb70OwV+IMtrQYi7jw=; b=PbyWKy9e2fO1qaOPgYvaONzh6okPzdi9ZozBCagiRtxqLpWXZfNWorMxsE4D+tJZg8 8vE8PnwkQ4zAc0xwi99+Q4A4pV3XZTQFAhr/pZtdRSI10ovedTmw+hx4h5G2uz3f1Vef bKT6KtFmnlsxbA5NA41gO5NN69GprBtw6YauAPe0Kuv5BeEmpSUP+rJ2VEID93jiPDTh M68JPwnQSyD7rFsj7OAyun4Rcc9UWgmoVNgz6ZaGg4ulfJOiFN9Abz5L9XtbbyPrL3WQ CDET1De2BCkTj2q94v0KdzvpWzrGP3Uqwwd3OxZ7QVegG0BTWKiK22HifYFWVqMpEmib c2/A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=J0QvUGak; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-128040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-128040-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id lq14-20020a170903144e00b001dcc8769137si11336259plb.598.2024.04.02.06.34.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 06:34:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-128040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=J0QvUGak; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-128040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-128040-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7A41E28DC10 for ; Tue, 2 Apr 2024 13:26:51 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5F18A84037; Tue, 2 Apr 2024 13:26:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="J0QvUGak" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B1AD60B96; Tue, 2 Apr 2024 13:26:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712064400; cv=none; b=C5DtNcgA1AK47FSGSup5SVCrYoqMq+sopbR0bfeKFvGTnmF3rxdwgbONW5vFxfdLyc0J6YqTQS5yGRAMAA2BGzMG9KJZjyaqPBcmQ8l0QxMuJUZqspsGPmQGY86jPldQnp8+QsyOUOTy3Pj1JFY2JdDzSSyk9oqDlb8djMcPpR0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712064400; c=relaxed/simple; bh=hlqVVxyxG9QM5oLoAbqmZw1d52KMspKeP5w+isXcmUU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=nLBcZ9+we1dbJSXInThoDvENohMDzPABVUJUvZtzwsonUMYi9wtqvLSJ5ySnsmR7/7rBwoUA04XiEy4AAZsgbjv7THEQhlGLGwjHCQIcRGdQ4O4zgVXWeVhqEpkadYLPEmROErgcMbneW7RyouHsG3ZCk0+lh2pJ3ewO3/MqQrE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J0QvUGak; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 71B01C433F1; Tue, 2 Apr 2024 13:26:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712064399; bh=hlqVVxyxG9QM5oLoAbqmZw1d52KMspKeP5w+isXcmUU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=J0QvUGakpXWyePXz3YTw9UULDkBXS8HtxsPzUwn3eHy3mDLAVRUKrHObi27q2RJvn bmrgx1/nPFt8iR7FvNti3ADybQDmbXLZqgO3bmEcTihr7zKjZjCrSbocAKlD5S05pQ VVO41SLuxOzHlVtoVUPLkNquXKs/g3koyxBRPqVuLSmSWYuFnHug0hwYTMGJSiNXms Mgbnps1L/GRy2pgbMMp31/rcwQghSfhjowzBw5F+PsosXirsDyGWbhZ3lj95Pan0sJ 6MbAagg+umYcYoFBAePZ4JR0c0IIkW5vOtEKVU1yCyJ0Rcu9zdkCB/ze/NOkngD1Z/ 5hVV4kbZktECA== Date: Tue, 2 Apr 2024 08:26:37 -0500 From: Rob Herring To: Kory Maincent Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jonathan Corbet , Luis Chamberlain , Russ Weight , Greg Kroah-Hartman , "Rafael J. Wysocki" , Krzysztof Kozlowski , Conor Dooley , Oleksij Rempel , Mark Brown , Frank Rowand , Andrew Lunn , Heiner Kallweit , Russell King , Thomas Petazzoni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, devicetree@vger.kernel.org, Dent Project Subject: Re: [PATCH net-next v6 11/17] dt-bindings: net: pse-pd: Add another way of describing several PSE PIs Message-ID: <20240402132637.GA3744978-robh@kernel.org> References: <20240326-feature_poe-v6-0-c1011b6ea1cb@bootlin.com> <20240326-feature_poe-v6-11-c1011b6ea1cb@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240326-feature_poe-v6-11-c1011b6ea1cb@bootlin.com> On Tue, Mar 26, 2024 at 03:04:48PM +0100, Kory Maincent wrote: > From: Kory Maincent (Dent Project) > > PSE PI setup may encompass multiple PSE controllers or auxiliary circuits > that collectively manage power delivery to one Ethernet port. > Such configurations might support a range of PoE standards and require > the capability to dynamically configure power delivery based on the > operational mode (e.g., PoE2 versus PoE4) or specific requirements of > connected devices. In these instances, a dedicated PSE PI node becomes > essential for accurately documenting the system architecture. This node > would serve to detail the interactions between different PSE controllers, > the support for various PoE modes, and any additional logic required to > coordinate power delivery across the network infrastructure. > > The old usage of "#pse-cells" is unsuficient as it carries only the PSE PI > index information. > > Signed-off-by: Kory Maincent > --- > > Changes in v3: > - New patch > > Changes in v4: > - Remove $def > - Fix pairset-names item list > - Upgrade few properties description > - Update the commit message > > Changes in v5: > - Fix yamllint error. > - Replace underscore by dash in properties names. > - Add polarity-supported property. > > Changes in v6: > - Reorder the pairset pinout table documentation to shrink the lines size. > - Remove pairset and polarity as required fields. > - Add vpwr-supply regulator supply. > --- > .../bindings/net/pse-pd/pse-controller.yaml | 102 ++++++++++++++++++++- > 1 file changed, 99 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml > index 2d382faca0e6..03f7f215c162 100644 > --- a/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml > +++ b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml > @@ -13,6 +13,7 @@ description: Binding for the Power Sourcing Equipment (PSE) as defined in the > > maintainers: > - Oleksij Rempel > + - Kory Maincent > > properties: > $nodename: > @@ -22,11 +23,106 @@ properties: > description: > Used to uniquely identify a PSE instance within an IC. Will be > 0 on PSE nodes with only a single output and at least 1 on nodes > - controlling several outputs. > + controlling several outputs which are not described in the pse-pis > + subnode. This property is deprecated, please use pse-pis instead. > enum: [0, 1] > > -required: > - - "#pse-cells" > + pse-pis: > + type: object > + description: > + Overview of the PSE PIs provided by the controller. > + > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + required: > + - "#address-cells" > + - "#size-cells" > + > + patternProperties: > + "^pse-pi@[0-9a-f]+$": > + type: object > + description: > + PSE PI for power delivery via pairsets, compliant with IEEE > + 802.3-2022, Section 145.2.4. Each pairset comprises a positive and > + a negative VPSE pair, adhering to the pinout configurations > + detailed in the standard. > + See Documentation/networking/pse-pd/pse-pi.rst for details. > + > + properties: > + reg: > + description: > + Address describing the PSE PI index. > + maxItems: 1 > + > + "#pse-cells": > + const: 0 > + > + pairset-names: > + $ref: /schemas/types.yaml#/definitions/string-array > + description: > + Names of the pairsets as per IEEE 802.3-2022, Section 145.2.4. > + Valid values are "alternative-a" and "alternative-b". Each name Don't state constraints in prose which are defined as schema constraints. > + should correspond to a phandle in the 'pairset' property > + pointing to the power supply for that pairset. > + minItems: 1 > + maxItems: 2 > + items: > + enum: > + - alternative-a > + - alternative-b > + > + pairsets: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + description: > + List of phandles, each pointing to the power supply for the > + corresponding pairset named in 'pairset-names'. This property > + aligns with IEEE 802.3-2022, Section 33.2.3 and 145.2.4. > + PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145\u20133) > + |-----------|---------------|---------------|---------------|---------------| > + | Conductor | Alternative A | Alternative A | Alternative B | Alternative B | > + | | (MDI-X) | (MDI) | (X) | (S) | > + |-----------|---------------|---------------|---------------|---------------| > + | 1 | Negative VPSE | Positive VPSE | \u2014 | \u2014 | > + | 2 | Negative VPSE | Positive VPSE | \u2014 | \u2014 | > + | 3 | Positive VPSE | Negative VPSE | \u2014 | \u2014 | > + | 4 | \u2014 | \u2014 | Negative VPSE | Positive VPSE | > + | 5 | \u2014 | \u2014 | Negative VPSE | Positive VPSE | > + | 6 | Positive VPSE | Negative VPSE | \u2014 | \u2014 | > + | 7 | \u2014 | \u2014 | Positive VPSE | Negative VPSE | > + | 8 | \u2014 | \u2014 | Positive VPSE | Negative VPSE | > + minItems: 1 > + maxItems: 2 "pairsets" does not follow the normal design pattern of foos, foo-names, and #foo-cells. You could add #foo-cells I suppose, but what would cells convey? I don't think it's a good fit for what you need. The other oddity is the number of entries and the names are fixed. That is usually defined per consumer. As each entry is just a power rail, why can't the regulator binding be used here? > + > + polarity-supported: > + $ref: /schemas/types.yaml#/definitions/string-array > + description: > + Polarity configuration supported by the PSE PI pairsets. > + minItems: 1 > + maxItems: 4 > + items: > + enum: > + - MDI-X > + - MDI > + - X > + - S > + > + vpwr-supply: > + description: Regulator power supply for the PSE PI. I don't see this being used anywhere. > + > + required: > + - reg > + - "#pse-cells" > + > +oneOf: > + - required: > + - "#pse-cells" > + - required: > + - pse-pis > > additionalProperties: true > > > -- > 2.25.1 >