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

From: Rob Herring <[email-masked]>
Date: Fri, 2 Sep 2022 15:50:50 -0500

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 <[email-masked]>
> ---
> 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 <[email-masked]>
> +
> +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 <[email-masked]>
> +
> +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
> 
>