[PATCH net-next v3 10/17] dt-bindings: net: pse-pd: Add another way of describing several PSE PIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx>
---

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@xxxxxxxxxxxxxx>
+  - Kory Maincent <kory.maincent@xxxxxxxxxxx>
 
 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





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux