Documentation / devicetree / bindings / net / engleder,tsnep.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
# 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

maintainers:
  - Gerhard Engleder <gerhard@engleder-embedded.com>

allOf:
  - $ref: ethernet-controller.yaml#

properties:
  compatible:
    const: engleder,tsnep

  reg:
    maxItems: 1

  interrupts:
    minItems: 1
    maxItems: 8

  interrupt-names:
    minItems: 1
    items:
      - const: mac
      - const: txrx-1
      - const: txrx-2
      - const: txrx-3
      - const: txrx-4
      - const: txrx-5
      - const: txrx-6
      - const: txrx-7
    description:
      The main interrupt for basic MAC features and the first TX/RX queue pair
      is named "mac". "txrx-[1-7]" are the interrupts for additional TX/RX
      queue pairs.

  dma-coherent: true

  local-mac-address: true

  mac-address: true

  nvmem-cells: true

  nvmem-cell-names: true

  phy-connection-type:
    enum:
      - mii
      - gmii
      - rgmii
      - rgmii-id

  phy-mode: true

  phy-handle: true

  mdio:
    type: object
    $ref: mdio.yaml#
    unevaluatedProperties: false
    description: optional node for embedded MDIO controller

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    axi {
        #address-cells = <2>;
        #size-cells = <2>;
        tsnep0: 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>;
            mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                suppress-preamble;
                phy0: ethernet-phy@1 {
                    reg = <1>;
                    rxc-skew-ps = <1080>;
                };
            };
        };
 
        tsnep1: ethernet@a0010000 {
            compatible = "engleder,tsnep";
            reg = <0x0 0xa0010000 0x0 0x10000>;
            interrupts = <0 93 1>, <0 94 1>, <0 95 1>, <0 96 1>;
            interrupt-names = "mac", "txrx-1", "txrx-2", "txrx-3";
            interrupt-parent = <&gic>;
            local-mac-address = [00 00 00 00 00 00];
            phy-mode = "rgmii";
            phy-handle = <&phy1>;
            mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                suppress-preamble;
                phy1: ethernet-phy@1 {
                    reg = <1>;
                    rxc-skew-ps = <1080>;
                };
            };
        };
    };