[net-next,8/9] dt-bindings: net: pse-pd: Add bindings for PD692x0 PSE controller
Commit Message
Add the PD692x0 I2C Power Sourcing Equipment controller device tree
bindings documentation.
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
.../bindings/net/pse-pd/microchip,pd692x0_i2c.yaml | 70 ++++++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 76 insertions(+)
Comments
On 16/11/2023 15:01, Kory Maincent wrote:
> Add the PD692x0 I2C Power Sourcing Equipment controller device tree
> bindings documentation.
>
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> ---
> .../bindings/net/pse-pd/microchip,pd692x0_i2c.yaml | 70 ++++++++++++++++++++++
> MAINTAINERS | 6 ++
> 2 files changed, 76 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/pse-pd/microchip,pd692x0_i2c.yaml b/Documentation/devicetree/bindings/net/pse-pd/microchip,pd692x0_i2c.yaml
> new file mode 100644
> index 000000000000..c42bbc427988
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/pse-pd/microchip,pd692x0_i2c.yaml
Filename should match compatibles, so drop i2c suffix.
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/pse-pd/microchip,pd692x0_i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip PD692x0 Power Sourcing Equipment controller
> +
> +maintainers:
> + - Kory Maincent <kory.maincent@bootlin.com>
> +
> +allOf:
> + - $ref: pse-controller.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - microchip,pd69200
> + - microchip,pd69210
> + - microchip,pd69220
Your driver suggests these are compatible.
> +
> + reg:
> + maxItems: 1
> +
> + '#pse-cells':
> + const: 1
> +
> + ports-matrix:
> + description: Port conversion matrix configuration
I do not see such property defined anywhere. Your description should
explain what the purpose is and what it is exactly. Currently you just
repeat property name, so quite pointless.
> + $ref: /schemas/types.yaml#/definitions/uint32-matrix
> + minItems: 1
> + maxItems: 48
> + items:
> + items:
> + - description: Logical port number
> + minimum: 0
> + maximum: 47
> + - description: Physical port number A (0xff for undefined)
> + oneOf:
> + - minimum: 0
> + maximum: 95
> + - const: 0xff
> + - description: Physical port number B (0xff for undefined)
> + oneOf:
> + - minimum: 0
> + maximum: 95
> + - const: 0xff
> +
> +additionalProperties: false
unevaluatedProperties: false instead
> +
> +required:
> + - compatible
> + - reg
>
Best regards,
Krzysztof
> > + ports-matrix:
> > + description: Port conversion matrix configuration
>
> I do not see such property defined anywhere. Your description should
> explain what the purpose is and what it is exactly. Currently you just
> repeat property name, so quite pointless.
I have to agree. You appear to have a device which can supply power to
48 RJ-45 connectors on the front panel? Which probably maps to 48
ports of a Ethernet switch. How do i use these properties described
here to say that eth42 connects to port 42 of the PSE?
> > + $ref: /schemas/types.yaml#/definitions/uint32-matrix
> > + minItems: 1
> > + maxItems: 48
> > + items:
> > + items:
> > + - description: Logical port number
> > + minimum: 0
> > + maximum: 47
> > + - description: Physical port number A (0xff for undefined)
> > + oneOf:
> > + - minimum: 0
> > + maximum: 95
> > + - const: 0xff
> > + - description: Physical port number B (0xff for undefined)
It would be good to explain what Port A and B are. It might be obvious
to somebody who knows PSE, but i have no idea...
Andrew
new file mode 100644
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/pse-pd/microchip,pd692x0_i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip PD692x0 Power Sourcing Equipment controller
+
+maintainers:
+ - Kory Maincent <kory.maincent@bootlin.com>
+
+allOf:
+ - $ref: pse-controller.yaml#
+
+properties:
+ compatible:
+ enum:
+ - microchip,pd69200
+ - microchip,pd69210
+ - microchip,pd69220
+
+ reg:
+ maxItems: 1
+
+ '#pse-cells':
+ const: 1
+
+ ports-matrix:
+ description: Port conversion matrix configuration
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
+ minItems: 1
+ maxItems: 48
+ items:
+ items:
+ - description: Logical port number
+ minimum: 0
+ maximum: 47
+ - description: Physical port number A (0xff for undefined)
+ oneOf:
+ - minimum: 0
+ maximum: 95
+ - const: 0xff
+ - description: Physical port number B (0xff for undefined)
+ oneOf:
+ - minimum: 0
+ maximum: 95
+ - const: 0xff
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet-pse@3c {
+ compatible = "microchip,pd69200";
+ reg = <0x3c>;
+ #pse-cells = <1>;
+ ports-matrix = <0 2 5
+ 1 3 6
+ 2 0 0xff
+ 3 1 0xff>;
+ };
+ };
@@ -14248,6 +14248,12 @@ L: linux-serial@vger.kernel.org
S: Maintained
F: drivers/tty/serial/8250/8250_pci1xxxx.c
+MICROCHIP PD692X0 PSE DRIVER
+M: Kory Maincent <kory.maincent@bootlin.com>
+L: netdev@vger.kernel.org
+S: Maintained
+F: Documentation/devicetree/bindings/net/pse-pd/microchip,pd692x0_i2c.yaml
+
MICROCHIP POLARFIRE FPGA DRIVERS
M: Conor Dooley <conor.dooley@microchip.com>
R: Vladimir Georgiev <v.georgiev@metrotek.ru>