diff mbox series

[net-next,v5,6/7] dt-bindings: net: pse-dt: add bindings for regulator based PoDL PSE controller

Message ID 20220831133240.3236779-7-o.rempel@pengutronix.de
State Changes Requested, archived
Headers show
Series add generic PSE support | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Oleksij Rempel Aug. 31, 2022, 1:32 p.m. UTC
Add bindings for the regulator based Ethernet PoDL PSE controller and
generic bindings for all PSE controllers.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
changes v5:
- rename to podl-pse-regulator.yaml
- remove compatible description
- remove "-1" on node name
- add pse-controller.yaml for common properties
changes v4:
- rename to PSE regulator
- drop currently unused properties
- use own compatible for PoDL PSE
changes v2:
- rename compatible to more generic "ieee802.3-pse"
- add class and type properties for PoDL and PoE variants
- add pairs property
---
 .../net/pse-pd/podl-pse-regulator.yaml        | 40 +++++++++++++++++++
 .../bindings/net/pse-pd/pse-controller.yaml   | 28 +++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
 create mode 100644 Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml

Comments

Rob Herring (Arm) Sept. 2, 2022, 8:50 p.m. UTC | #1
On Wed, Aug 31, 2022 at 03:32:39PM +0200, Oleksij Rempel wrote:
> Add bindings for the regulator based Ethernet PoDL PSE controller and
> generic bindings for all PSE controllers.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
> changes v5:
> - rename to podl-pse-regulator.yaml
> - remove compatible description
> - remove "-1" on node name
> - add pse-controller.yaml for common properties
> changes v4:
> - rename to PSE regulator
> - drop currently unused properties
> - use own compatible for PoDL PSE
> changes v2:
> - rename compatible to more generic "ieee802.3-pse"
> - add class and type properties for PoDL and PoE variants
> - add pairs property
> ---
>  .../net/pse-pd/podl-pse-regulator.yaml        | 40 +++++++++++++++++++
>  .../bindings/net/pse-pd/pse-controller.yaml   | 28 +++++++++++++
>  2 files changed, 68 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
>  create mode 100644 Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml b/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
> new file mode 100644
> index 0000000000000..c6b1c188abf7e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/pse-pd/podl-pse-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Regulator based Power Sourcing Equipment
> +
> +maintainers:
> +  - Oleksij Rempel <o.rempel@pengutronix.de>
> +
> +description: Regulator based PoDL PSE controller. The device must be referenced
> +  by the PHY node to control power injection to the Ethernet cable.
> +
> +allOf:
> +  - $ref: "pse-controller.yaml#"
> +
> +properties:
> +  compatible:
> +    const: podl-pse-regulator
> +
> +  '#pse-cells':
> +    const: 0
> +
> +  pse-supply:
> +    description: Power supply for the PSE controller
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - pse-supply
> +
> +examples:
> +  - |
> +    ethernet-pse {
> +      compatible = "podl-pse-regulator";
> +      pse-supply = <&reg_t1l1>;
> +      #pse-cells = <0>;
> +    };
> diff --git a/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
> new file mode 100644
> index 0000000000000..36e398fea220c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
> @@ -0,0 +1,28 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/pse-pd/pse-controller.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: PSE Generic Bindings

What is PSE?

When would I use this binding? Does this follow some spec? Who is 
the consumer? Please answer all those questions in this doc.

> +
> +maintainers:
> +  - Oleksij Rempel <o.rempel@pengutronix.de>
> +
> +properties:
> +  $nodename:
> +    pattern: "^ethernet-pse(@[a-f0-9]+)?$"

The format of the unit-address depends on the bus, so it shouldn't be 
defined here. Just '^ethernet-pse(@.*)?$'.

> +
> +  "#pse-cells":
> +    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.
> +    enum: [0, 1]
> +
> +required:
> +  - "#pse-cells"
> +
> +additionalProperties: true
> +
> +...
> -- 
> 2.30.2
> 
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml b/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
new file mode 100644
index 0000000000000..c6b1c188abf7e
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/pse-pd/podl-pse-regulator.yaml
@@ -0,0 +1,40 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/pse-pd/podl-pse-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Regulator based Power Sourcing Equipment
+
+maintainers:
+  - Oleksij Rempel <o.rempel@pengutronix.de>
+
+description: Regulator based PoDL PSE controller. The device must be referenced
+  by the PHY node to control power injection to the Ethernet cable.
+
+allOf:
+  - $ref: "pse-controller.yaml#"
+
+properties:
+  compatible:
+    const: podl-pse-regulator
+
+  '#pse-cells':
+    const: 0
+
+  pse-supply:
+    description: Power supply for the PSE controller
+
+additionalProperties: false
+
+required:
+  - compatible
+  - pse-supply
+
+examples:
+  - |
+    ethernet-pse {
+      compatible = "podl-pse-regulator";
+      pse-supply = <&reg_t1l1>;
+      #pse-cells = <0>;
+    };
diff --git a/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
new file mode 100644
index 0000000000000..36e398fea220c
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml
@@ -0,0 +1,28 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/pse-pd/pse-controller.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: PSE Generic Bindings
+
+maintainers:
+  - Oleksij Rempel <o.rempel@pengutronix.de>
+
+properties:
+  $nodename:
+    pattern: "^ethernet-pse(@[a-f0-9]+)?$"
+
+  "#pse-cells":
+    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.
+    enum: [0, 1]
+
+required:
+  - "#pse-cells"
+
+additionalProperties: true
+
+...