Re: [PATCH net-next 2/5] dt-bindings: net: Add tsnep Ethernet controller
From: Rob Herring <robh+dt@kernel.org>
Date: 2021-07-26 23:35:40
Also in:
linux-devicetree
On Mon, Jul 26, 2021 at 1:46 PM Gerhard Engleder [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The TSN endpoint Ethernet MAC is a FPGA based network device for real-time communication. It is integrated as normal Ethernet controller with ethernet-controller.yaml and ethernet-phy.yaml. Signed-off-by: Gerhard Engleder <redacted> --- .../bindings/net/engleder,tsnep.yaml | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/engleder,tsnep.yamldiff --git a/Documentation/devicetree/bindings/net/engleder,tsnep.yaml b/Documentation/devicetree/bindings/net/engleder,tsnep.yaml new file mode 100644 index 000000000000..ef2ca45d36a0 --- /dev/null +++ b/Documentation/devicetree/bindings/net/engleder,tsnep.yaml@@ -0,0 +1,77 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/engleder,tsnep.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TSN endpoint Ethernet MAC binding + +maintainers: + - Gerhard Engleder <gerhard@engleder-embedded.com> + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: + oneOf:
Don't need oneOf when there is only one entry.
+ - enum: + - engleder,tsnep
tsnep is pretty generic. Only 1 version ever? Or differences are/will be discoverable by other means.
+ + reg: true
How many? And what is each entry if more than 1.
+ interrupts: true
How many?
+ + local-mac-address: true + mac-address: true + nvmem-cells: true
How many?
+ nvmem-cells-names: true
Need to define the names.
+ + phy-connection-type: true + phy-mode: true
All the modes the generic binding support are supported by this device?
+ + phy-handle: true + + '#address-cells': + description: Number of address cells for the MDIO bus.
No need to re-describe common properties unless you have something special to say. Anyway, put an MDIO bus under an 'mdio' node.
+ const: 1 + + '#size-cells': + description: Number of size cells on the MDIO bus. + const: 0 + +patternProperties: + "^ethernet-phy@[0-9a-f]$": + type: object + $ref: ethernet-phy.yaml#
Referencing mdio.yaml will do all this.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - phy-mode
+ - phy-handle
+ - '#address-cells'
+ - '#size-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ axi {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ tnsep0: ethernet@a0000000 {
+ compatible = "engleder,tsnep";
+ reg = <0x0 0xa0000000 0x0 0x10000>;
+ interrupts = <0 89 1>;
+ interrupt-parent = <&gic>;
+ local-mac-address = [00 00 00 00 00 00];
+ phy-mode = "rgmii";
+ phy-handle = <&phy0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ };
+ };
+ };
--
2.20.1