[net-next,v3,10/17] dt-bindings: net: pse-pd: Add another way of describing several PSE PIs
Message ID | 20240208-feature_poe-v3-10-531d2674469e@bootlin.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp157333dyd; Thu, 8 Feb 2024 05:15:43 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCULChwT9mIYGUFC1VAD7p/uMYfuFHJ/4qDeq+clmgXUzxhjepL/BlKiJ3Hk4SLLK1Y1HvX3UhplkaCtHa1AvQuOdwP8dw== X-Google-Smtp-Source: AGHT+IHmezZ8A5tsCUNmqzgpmXOn64L3LHEK8QlppVMDdNapuJuNJoWu2trZRt3lHp9UiZkBtlB2 X-Received: by 2002:a2e:3a19:0:b0:2d0:d59f:3d72 with SMTP id h25-20020a2e3a19000000b002d0d59f3d72mr1271830lja.9.1707398143080; Thu, 08 Feb 2024 05:15:43 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707398143; cv=pass; d=google.com; s=arc-20160816; b=s9X0o3IdQA/h/u+vmDdE0lJmqvxF91kXy3haM4iHHpEtk4N3/Z7V6K23ocqcJ4y86t nUGJy94Mh0p8gmdRDo2s3YqAY1hg9NjUXotjCa2pNQnppkxbqilX/xW2t95VOYX8yV9Z oymmKjmkVNdOFUFyKi3xqF7HyzPLyeAp1DRHMK9UFblVIXVC7JTNsr/ySzIINCZ+zfgM V4TckjJxJ8A5m8lQU25llcuGORd8HSXKpfjWCIOK8d/lI9urZ4sYNMnOjnW4qVXygJ47 iOk8cnZ3SYOk/mDWtRdYqnRVf4yiGrx+oQoYxp1fT61dkYil4crw8qO+Wyelan6Y4La1 hZKQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=3H2Ec9U+2SamwK2cExtznkCvvslX9Qvet9UIGOsPGrc=; fh=ULqh0oWUMspcBdYvkGz+E/BoKxo+Uu7okV8dgo0o0fE=; b=gbJmBaDmV1rhxMLqUDrl+7SxSvol1E8gPctCWkCBR/028SHMxSGAfpBoX/iZLZT65r XVZ6y5oZLwy7LMt6yW35dL9XD/WNK0uP6MWDTA5Uw6lHXZEBSNi7EiCJS9v5sfX/W+/h Q2169gNOcUlj/X/YWPUmDujgUXLFsGG9GOsj7wfTV3PDbu9b4HHNWLb5BH0EXXtKu5e9 Wxb5Byi4VZWk69iiVclnLM9cbDkYyfcLzz0U7poLay0ic1TnilXZsT49adOp4O0ZHLkv W+qwVXIvpbb7v3w9achsu74bV3WShA8UZ8wvYrbhxG4R4yWAxBxfylyCB7GmZeYJpOpH C+DA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=CxE8zJnX; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com X-Forwarded-Encrypted: i=2; AJvYcCWdVcasj4XqK2MvIzLBmWl+bc7UY33PYBTTE2IFF9elkT/747iPPgNOxekYiyuSWuIUxzPbzk2xzSe3pCdyiUDWJhdspg== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id m11-20020a056402430b00b0055d399cff3fsi929214edc.578.2024.02.08.05.15.42 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 05:15:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=CxE8zJnX; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58121-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com 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 am.mirrors.kernel.org (Postfix) with ESMTPS id 40DBC1F21CD3 for <ouuuleilei@gmail.com>; Thu, 8 Feb 2024 13:15:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 745FD85C72; Thu, 8 Feb 2024 13:10:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="CxE8zJnX" Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.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 3384779921; Thu, 8 Feb 2024 13:10:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707397810; cv=none; b=FFH5UyY9YZ89hNOCP4uhcc05x4m+azY95prYnNs7RTu0sn+DA//qU/0L1f+NfSYix3aUlcn2c69Hzainrw7a7vVVtYnezBO6z7/clwrNTU7gMg9wsEpjZLDbID72+SLU9ZcrhRm8UCmtd/BsT9M1gqd+IsK8Ljm4dQFqNqcelgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707397810; c=relaxed/simple; bh=t+8GVeREjAhAch7uWEnhrNh1JKLhOtncglwxCrxWkNY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f/UsC9RL0rBpYj2pO/KIInFV1Auc9m6egnkWD5qISjSdEgDDRX7deEDc9Ti9vw8oYrW32dFmBa0V7REziPfFWgYf+NmKHZyKYMsV9E5zOUXEnOkJn/xSYoF/gPPghTbaYGMihCCi4pHbjhlzFkOvst1OdR/VeVZTqrkugrYQa00= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=CxE8zJnX; arc=none smtp.client-ip=217.70.183.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 39C001BF219; Thu, 8 Feb 2024 13:10:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1707397804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3H2Ec9U+2SamwK2cExtznkCvvslX9Qvet9UIGOsPGrc=; b=CxE8zJnXOr0S7LyJ37lz6Eo4bJvHNZkznk5mQ5SoUVL/gAZxBJ2rzkpB8AOH+heUJebJZ/ ruD4tNRobSu+7GxHZSGS/i9QKwJeTV4aO3pWHVfhhPFHCJ6OWLFon4CA9qb8lbkLhHy2EB JR8ULd34DeqTJevf7iETRLdjHjhqnvEUPuX7QqJETA82QH6HRtOqvq/0yv6YWPp51wfNK3 1joSsyZ+VNpzad2kkUMORMN6mxqhYggRyMkVBhGlYFXoCvqT19pOOqYhddAIX2HvTpEV5q 5BIQ8kpQp5fbUZ3cFXcLtXdtibCAYUcjfco+a9eNNDqA7TO6Q6qqGfezPH1wnQ== From: Kory Maincent <kory.maincent@bootlin.com> Date: Thu, 08 Feb 2024 14:08:47 +0100 Subject: [PATCH net-next v3 10/17] dt-bindings: net: pse-pd: Add another way of describing several PSE PIs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20240208-feature_poe-v3-10-531d2674469e@bootlin.com> References: <20240208-feature_poe-v3-0-531d2674469e@bootlin.com> In-Reply-To: <20240208-feature_poe-v3-0-531d2674469e@bootlin.com> To: "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Jonathan Corbet <corbet@lwn.net>, Luis Chamberlain <mcgrof@kernel.org>, Russ Weight <russ.weight@linux.dev>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Oleksij Rempel <o.rempel@pengutronix.de>, Mark Brown <broonie@kernel.org>, Frank Rowand <frowand.list@gmail.com>, Andrew Lunn <andrew@lunn.ch>, Heiner Kallweit <hkallweit1@gmail.com>, Russell King <linux@armlinux.org.uk> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, devicetree@vger.kernel.org, Dent Project <dentproject@linuxfoundation.org>, Kory Maincent <kory.maincent@bootlin.com> X-Mailer: b4 0.12.4 X-GND-Sasl: kory.maincent@bootlin.com X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790336715331919140 X-GMAIL-MSGID: 1790336715331919140 |
Series |
net: Add support for Power over Ethernet (PoE)
|
|
Commit Message
Köry Maincent
Feb. 8, 2024, 1:08 p.m. UTC
Before hand we set "#pse-cell" to 1 to define a PSE controller with
several PIs (Power Interface). The drawback of this was that we could not
have any information on the PI except its number.
Add support for pse_pis and pse_pi node to be able to have more information
on the PI like the number of pairset used and the pairset pinout.
Sponsored-by: Dent Project <dentproject@linuxfoundation.org>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
Changes in v3:
- New patch
---
.../bindings/net/pse-pd/pse-controller.yaml | 101 ++++++++++++++++++++-
1 file changed, 98 insertions(+), 3 deletions(-)
Comments
On Thu, 08 Feb 2024 14:08:47 +0100, Kory Maincent wrote: > Before hand we set "#pse-cell" to 1 to define a PSE controller with > several PIs (Power Interface). The drawback of this was that we could not > have any information on the PI except its number. > Add support for pse_pis and pse_pi node to be able to have more information > on the PI like the number of pairset used and the pairset pinout. > > Sponsored-by: Dent Project <dentproject@linuxfoundation.org> > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> > --- > > Changes in v3: > - New patch > --- > .../bindings/net/pse-pd/pse-controller.yaml | 101 ++++++++++++++++++++- > 1 file changed, 98 insertions(+), 3 deletions(-) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: /Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml:80:13: [warning] wrong indentation: expected 14 but found 12 (indentation) /Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml:80:15: [error] string value is redundantly quoted with any quotes (quoted-strings) /Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml:81:15: [error] string value is redundantly quoted with any quotes (quoted-strings) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml: $defs:pse_pi:properties:pairset-names: {'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 should correspond to a phandle in the \'pairset\' property pointing to the power supply for that pairset.', '$ref': '/schemas/types.yaml#/definitions/string-array', 'minItems': 1, 'maxItems': 2, 'items': [{'enum': ['alternative-a', 'alternative-b']}]} should not be valid under {'required': ['maxItems']} hint: "maxItems" is not needed with an "items" list from schema $id: http://devicetree.org/meta-schemas/items.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml: $defs:pse_pi:properties:pairset-names: 'oneOf' conditional failed, one must be fixed: [{'enum': ['alternative-a', 'alternative-b']}] is too short False schema does not allow 1 hint: "minItems" is only needed if less than the "items" list length from schema $id: http://devicetree.org/meta-schemas/items.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240208-feature_poe-v3-10-531d2674469e@bootlin.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Thu, Feb 08, 2024 at 02:08:47PM +0100, Kory Maincent wrote: > Before hand we set "#pse-cell" to 1 to define a PSE controller with #pse-cells > several PIs (Power Interface). The drawback of this was that we could not > have any information on the PI except its number. Then increase it to what you need. The whole point of #foo-cells is that it is variable depending on what the provider needs. > Add support for pse_pis and pse_pi node to be able to have more information > on the PI like the number of pairset used and the pairset pinout. Please explain the problem you are trying to solve, not your solution. I don't understand what the problem is to provide any useful suggestions on the design. > > Sponsored-by: Dent Project <dentproject@linuxfoundation.org> Is this a recognized tag? First I've seen it. > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> > --- > > Changes in v3: > - New patch > --- > .../bindings/net/pse-pd/pse-controller.yaml | 101 ++++++++++++++++++++- > 1 file changed, 98 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..dd5fb53e527a 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 <o.rempel@pengutronix.de> > + - Kory Maincent <kory.maincent@bootlin.com> > > properties: > $nodename: > @@ -22,11 +23,105 @@ 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: > + $ref: "#/$defs/pse_pis" > + > +$defs: $defs is for when you need multiple copies of the same thing. I don't see that here. > + pse_pis: > + type: object > + description: > + Kind of a matrix to identify the concordance between a PSE Power > + Interface and one or two (PoE4) physical ports. > + > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + patternProperties: > + "^pse_pi@[0-9]+$": Unit-addresses are hex. > + $ref: "#/$defs/pse_pi" > + > + required: > + - "#address-cells" > + - "#size-cells" > + > + pse_pi: > + description: > + PSE PI device 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. > + type: object > + properties: > + reg: > + maxItems: 1 As you are defining the addressing here, you need to define what the "addresses" are. > + > + "#pse-cells": > + const: 0 > + > + pairset-names: > + 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 should > + correspond to a phandle in the 'pairset' property pointing to the > + power supply for that pairset. > + $ref: /schemas/types.yaml#/definitions/string-array > + minItems: 1 > + maxItems: 2 > + items: > + - enum: > + - "alternative-a" > + - "alternative-b" This leaves the 2nd entry undefined. You need the dictionary form of 'items' rather than a list. IOW, Drop the '-' under items. > + > + pairsets: > + 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–3) > + | Conductor | Alternative A (MDI-X) | Alternative A (MDI) | Alternative B(X) | Alternative B(S) | > + |-----------|-----------------------|---------------------|------------------|------------------| > + | 1 | Negative VPSE | Positive VPSE | — | — | > + | 2 | Negative VPSE | Positive VPSE | — | — | > + | 3 | Positive VPSE | Negative VPSE | — | — | > + | 4 | — | — | Negative VPSE | Positive VPSE | > + | 5 | — | — | Negative VPSE | Positive VPSE | > + | 6 | Positive VPSE | Negative VPSE | — | — | > + | 7 | — | — | Positive VPSE | Negative VPSE | > + | 8 | — | — | Positive VPSE | Negative VPSE | > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 1 > + maxItems: 2 > + > + required: > + - reg > + - "#pse-cells" > + - pairset-names > + - pairsets > + > +allOf: > + - if: > + required: > + - "#pse-cells" > + then: > + not: > + required: > + - pse-pis > + > + - if: > + required: > + - pse-pis > + then: > + not: > + required: > + - "#pse-cells" > > additionalProperties: true > > > -- > 2.25.1 >
Hello Rob, Thanks for your review! On Fri, 9 Feb 2024 14:43:49 +0000 Rob Herring <robh@kernel.org> wrote: > On Thu, Feb 08, 2024 at 02:08:47PM +0100, Kory Maincent wrote: > > Before hand we set "#pse-cell" to 1 to define a PSE controller with > > #pse-cells > > > several PIs (Power Interface). The drawback of this was that we could not > > have any information on the PI except its number. > > Then increase it to what you need. The whole point of #foo-cells is that > it is variable depending on what the provider needs. > > > Add support for pse_pis and pse_pi node to be able to have more information > > on the PI like the number of pairset used and the pairset pinout. > > Please explain the problem you are trying to solve, not your solution. I > don't understand what the problem is to provide any useful suggestions > on the design. Please see Oleksij's reply. Thank you Oleksij, for the documentation!! > > > > Sponsored-by: Dent Project <dentproject@linuxfoundation.org> > > Is this a recognized tag? First I've seen it. This is not a standard tag but it has been used several times in the past. > > > > -required: > > - - "#pse-cells" > > + pse_pis: > > + $ref: "#/$defs/pse_pis" > > + > > +$defs: > > $defs is for when you need multiple copies of the same thing. I don't > see that here. I made this choice for better readability but indeed it is used only once. I will remove it then. > > + pse_pis: > > + type: object > > + description: > > + Kind of a matrix to identify the concordance between a PSE Power > > + Interface and one or two (PoE4) physical ports. > > + > > + properties: > > + "#address-cells": > > + const: 1 > > + > > + "#size-cells": > > + const: 0 > > + > > + patternProperties: > > + "^pse_pi@[0-9]+$": > > Unit-addresses are hex. Oops sorry for the mistake. > > > + $ref: "#/$defs/pse_pi" > > + > > + required: > > + - "#address-cells" > > + - "#size-cells" > > + > > + pse_pi: > > + description: > > + PSE PI device 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. > > + type: object > > + properties: > > + reg: > > + maxItems: 1 > > As you are defining the addressing here, you need to define what the > "addresses" are. Yes I will add some documentation in next version. > > + values are "alternative-a" and "alternative-b". Each name should > > + correspond to a phandle in the 'pairset' property pointing to the > > + power supply for that pairset. > > + $ref: /schemas/types.yaml#/definitions/string-array > > + minItems: 1 > > + maxItems: 2 > > + items: > > + - enum: > > + - "alternative-a" > > + - "alternative-b" > > This leaves the 2nd entry undefined. You need the dictionary form of > 'items' rather than a list. IOW, Drop the '-' under items. Oh thanks! That is what I was looking for. I was struggling using the right description. Regards,
On Wed, 14 Feb 2024 14:13:10 +0100 Köry Maincent <kory.maincent@bootlin.com> wrote: > Hello Rob, > > Thanks for your review! > > On Fri, 9 Feb 2024 14:43:49 +0000 > Rob Herring <robh@kernel.org> wrote: > > > On Thu, Feb 08, 2024 at 02:08:47PM +0100, Kory Maincent wrote: > > > Before hand we set "#pse-cell" to 1 to define a PSE controller with > > > > #pse-cells > > > > > several PIs (Power Interface). The drawback of this was that we could not > > > have any information on the PI except its number. > > > > Then increase it to what you need. The whole point of #foo-cells is that > > it is variable depending on what the provider needs. > > > > > Add support for pse_pis and pse_pi node to be able to have more > > > information on the PI like the number of pairset used and the pairset > > > pinout. > > > > Please explain the problem you are trying to solve, not your solution. I > > don't understand what the problem is to provide any useful suggestions > > on the design. > > Please see Oleksij's reply. > Thank you Oleksij, for the documentation!! > > > > > > > Sponsored-by: Dent Project <dentproject@linuxfoundation.org> > > > > Is this a recognized tag? First I've seen it. > > This is not a standard tag but it has been used several times in the past. Not so much used indeed: $ git log --grep="Sponsored" | grep Sponsored Sponsored by: The FreeBSD Foundation Sponsored by: The FreeBSD Foundation Sponsored by: The FreeBSD Foundation Sponsored by: The FreeBSD Foundation Sponsored-by: Google Chromium project Sponsored: Google ChromeOS Sponsored: Google ChromeOS Is it ok to keep it? Regards,
On Wed, Feb 14, 2024 at 04:41:50PM +0100, Köry Maincent wrote: > On Wed, 14 Feb 2024 14:13:10 +0100 > Köry Maincent <kory.maincent@bootlin.com> wrote: > > > Hello Rob, > > > > Thanks for your review! > > > > On Fri, 9 Feb 2024 14:43:49 +0000 > > Rob Herring <robh@kernel.org> wrote: > > > > > On Thu, Feb 08, 2024 at 02:08:47PM +0100, Kory Maincent wrote: > > > > Before hand we set "#pse-cell" to 1 to define a PSE controller with > > > > > > #pse-cells > > > > > > > several PIs (Power Interface). The drawback of this was that we could not > > > > have any information on the PI except its number. > > > > > > Then increase it to what you need. The whole point of #foo-cells is that > > > it is variable depending on what the provider needs. > > > > > > > Add support for pse_pis and pse_pi node to be able to have more > > > > information on the PI like the number of pairset used and the pairset > > > > pinout. > > > > > > Please explain the problem you are trying to solve, not your solution. I > > > don't understand what the problem is to provide any useful suggestions > > > on the design. > > > > Please see Oleksij's reply. > > Thank you Oleksij, for the documentation!! > > > > > > > > > > Sponsored-by: Dent Project <dentproject@linuxfoundation.org> > > > > > > Is this a recognized tag? First I've seen it. > > > > This is not a standard tag but it has been used several times in the past. > > Not so much used indeed: > $ git log --grep="Sponsored" | grep Sponsored > Sponsored by: The FreeBSD Foundation > Sponsored by: The FreeBSD Foundation > Sponsored by: The FreeBSD Foundation > Sponsored by: The FreeBSD Foundation > Sponsored-by: Google Chromium project > Sponsored: Google ChromeOS > Sponsored: Google ChromeOS > > Is it ok to keep it? IMO, its use should be documented like other tags, or it should not be used. Just write a sentence to the same effect. Rob
> > Not so much used indeed: > > $ git log --grep="Sponsored" | grep Sponsored > > Sponsored by: The FreeBSD Foundation > > Sponsored by: The FreeBSD Foundation > > Sponsored by: The FreeBSD Foundation > > Sponsored by: The FreeBSD Foundation > > Sponsored-by: Google Chromium project > > Sponsored: Google ChromeOS > > Sponsored: Google ChromeOS > > > > Is it ok to keep it? > > IMO, its use should be documented like other tags, or it should not be > used. Just write a sentence to the same effect. Or include a patch to document it :-) Andrew
On Thu, 15 Feb 2024 15:01:08 +0100 Andrew Lunn <andrew@lunn.ch> wrote: > > > Not so much used indeed: > > > $ git log --grep="Sponsored" | grep Sponsored > > > Sponsored by: The FreeBSD Foundation > > > Sponsored by: The FreeBSD Foundation > > > Sponsored by: The FreeBSD Foundation > > > Sponsored by: The FreeBSD Foundation > > > Sponsored-by: Google Chromium project > > > Sponsored: Google ChromeOS > > > Sponsored: Google ChromeOS > > > > > > Is it ok to keep it? > > > > IMO, its use should be documented like other tags, or it should not be > > used. Just write a sentence to the same effect. > > Or include a patch to document it :-) It seems someone has already tried to send a patch to add this tag but it has not been accepted due to maintainers extra works bring by the tag: https://lore.kernel.org/lkml/20230817220957.41582-1-giulio.benetti@benettiengineering.com/ I will replace it by a small sentence then. Regards,
diff --git a/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml index 2d382faca0e6..dd5fb53e527a 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 <o.rempel@pengutronix.de> + - Kory Maincent <kory.maincent@bootlin.com> properties: $nodename: @@ -22,11 +23,105 @@ 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: + $ref: "#/$defs/pse_pis" + +$defs: + pse_pis: + type: object + description: + Kind of a matrix to identify the concordance between a PSE Power + Interface and one or two (PoE4) physical ports. + + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + patternProperties: + "^pse_pi@[0-9]+$": + $ref: "#/$defs/pse_pi" + + required: + - "#address-cells" + - "#size-cells" + + pse_pi: + description: + PSE PI device 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. + type: object + properties: + reg: + maxItems: 1 + + "#pse-cells": + const: 0 + + pairset-names: + 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 should + correspond to a phandle in the 'pairset' property pointing to the + power supply for that pairset. + $ref: /schemas/types.yaml#/definitions/string-array + minItems: 1 + maxItems: 2 + items: + - enum: + - "alternative-a" + - "alternative-b" + + pairsets: + 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–3) + | Conductor | Alternative A (MDI-X) | Alternative A (MDI) | Alternative B(X) | Alternative B(S) | + |-----------|-----------------------|---------------------|------------------|------------------| + | 1 | Negative VPSE | Positive VPSE | — | — | + | 2 | Negative VPSE | Positive VPSE | — | — | + | 3 | Positive VPSE | Negative VPSE | — | — | + | 4 | — | — | Negative VPSE | Positive VPSE | + | 5 | — | — | Negative VPSE | Positive VPSE | + | 6 | Positive VPSE | Negative VPSE | — | — | + | 7 | — | — | Positive VPSE | Negative VPSE | + | 8 | — | — | Positive VPSE | Negative VPSE | + $ref: /schemas/types.yaml#/definitions/phandle-array + minItems: 1 + maxItems: 2 + + required: + - reg + - "#pse-cells" + - pairset-names + - pairsets + +allOf: + - if: + required: + - "#pse-cells" + then: + not: + required: + - pse-pis + + - if: + required: + - pse-pis + then: + not: + required: + - "#pse-cells" additionalProperties: true