lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240208-feature_poe-v3-10-531d2674469e@bootlin.com>
Date: Thu, 08 Feb 2024 14:08:47 +0100
From: Kory Maincent <kory.maincent@...tlin.com>
To: "David S. Miller" <davem@...emloft.net>, 
 Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, 
 Paolo Abeni <pabeni@...hat.com>, Jonathan Corbet <corbet@....net>, 
 Luis Chamberlain <mcgrof@...nel.org>, Russ Weight <russ.weight@...ux.dev>, 
 Greg Kroah-Hartman <gregkh@...uxfoundation.org>, 
 "Rafael J. Wysocki" <rafael@...nel.org>, Rob Herring <robh+dt@...nel.org>, 
 Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, 
 Conor Dooley <conor+dt@...nel.org>, 
 Oleksij Rempel <o.rempel@...gutronix.de>, Mark Brown <broonie@...nel.org>, 
 Frank Rowand <frowand.list@...il.com>, Andrew Lunn <andrew@...n.ch>, 
 Heiner Kallweit <hkallweit1@...il.com>, 
 Russell King <linux@...linux.org.uk>
Cc: Thomas Petazzoni <thomas.petazzoni@...tlin.com>, netdev@...r.kernel.org, 
 linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org, 
 devicetree@...r.kernel.org, Dent Project <dentproject@...uxfoundation.org>, 
 Kory Maincent <kory.maincent@...tlin.com>
Subject: [PATCH net-next v3 10/17] dt-bindings: net: pse-pd: Add another
 way of describing several PSE PIs

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@...uxfoundation.org>
Signed-off-by: Kory Maincent <kory.maincent@...tlin.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@...gutronix.de>
+  - Kory Maincent <kory.maincent@...tlin.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
 

-- 
2.25.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ