xref: /freebsd/sys/contrib/device-tree/Bindings/net/altr,tse.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/net/altr,tse.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Altera Triple Speed Ethernet MAC driver (TSE)
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Maxime Chevallier <maxime.chevallier@bootlin.com>
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadotproperties:
137ef62cebSEmmanuel Vadot  compatible:
147ef62cebSEmmanuel Vadot    oneOf:
157ef62cebSEmmanuel Vadot      - const: altr,tse-1.0
167ef62cebSEmmanuel Vadot      - const: ALTR,tse-1.0
177ef62cebSEmmanuel Vadot        deprecated: true
187ef62cebSEmmanuel Vadot      - const: altr,tse-msgdma-1.0
197ef62cebSEmmanuel Vadot
207ef62cebSEmmanuel Vadot  interrupts:
217ef62cebSEmmanuel Vadot    minItems: 2
227ef62cebSEmmanuel Vadot
237ef62cebSEmmanuel Vadot  interrupt-names:
247ef62cebSEmmanuel Vadot    items:
257ef62cebSEmmanuel Vadot      - const: rx_irq
267ef62cebSEmmanuel Vadot      - const: tx_irq
277ef62cebSEmmanuel Vadot
287ef62cebSEmmanuel Vadot  rx-fifo-depth:
297ef62cebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
307ef62cebSEmmanuel Vadot    description:
317ef62cebSEmmanuel Vadot      Depth in bytes of the RX FIFO
327ef62cebSEmmanuel Vadot
337ef62cebSEmmanuel Vadot  tx-fifo-depth:
347ef62cebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
357ef62cebSEmmanuel Vadot    description:
367ef62cebSEmmanuel Vadot      Depth in bytes of the TX FIFO
377ef62cebSEmmanuel Vadot
387ef62cebSEmmanuel Vadot  altr,has-supplementary-unicast:
397ef62cebSEmmanuel Vadot    type: boolean
407ef62cebSEmmanuel Vadot    description:
417ef62cebSEmmanuel Vadot      If present, TSE supports additional unicast addresses.
427ef62cebSEmmanuel Vadot
437ef62cebSEmmanuel Vadot  altr,has-hash-multicast-filter:
447ef62cebSEmmanuel Vadot    type: boolean
457ef62cebSEmmanuel Vadot    description:
467ef62cebSEmmanuel Vadot      If present, TSE supports hash based multicast filter.
477ef62cebSEmmanuel Vadot
487ef62cebSEmmanuel Vadot  mdio:
497ef62cebSEmmanuel Vadot    $ref: mdio.yaml#
507ef62cebSEmmanuel Vadot    unevaluatedProperties: false
517ef62cebSEmmanuel Vadot    description:
527ef62cebSEmmanuel Vadot      Creates and registers an MDIO bus.
537ef62cebSEmmanuel Vadot
547ef62cebSEmmanuel Vadot    properties:
557ef62cebSEmmanuel Vadot      compatible:
567ef62cebSEmmanuel Vadot        const: altr,tse-mdio
577ef62cebSEmmanuel Vadot
587ef62cebSEmmanuel Vadot    required:
597ef62cebSEmmanuel Vadot      - compatible
607ef62cebSEmmanuel Vadot
617ef62cebSEmmanuel Vadotrequired:
627ef62cebSEmmanuel Vadot  - compatible
637ef62cebSEmmanuel Vadot  - reg
647ef62cebSEmmanuel Vadot  - interrupts
657ef62cebSEmmanuel Vadot  - rx-fifo-depth
667ef62cebSEmmanuel Vadot  - tx-fifo-depth
677ef62cebSEmmanuel Vadot
687ef62cebSEmmanuel VadotallOf:
69fac71e4eSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
707ef62cebSEmmanuel Vadot  - if:
717ef62cebSEmmanuel Vadot      properties:
727ef62cebSEmmanuel Vadot        compatible:
737ef62cebSEmmanuel Vadot          contains:
747ef62cebSEmmanuel Vadot            enum:
75*f126890aSEmmanuel Vadot              - altr,tse-1.0
76*f126890aSEmmanuel Vadot              - ALTR,tse-1.0
777ef62cebSEmmanuel Vadot    then:
787ef62cebSEmmanuel Vadot      properties:
797ef62cebSEmmanuel Vadot        reg:
807ef62cebSEmmanuel Vadot          minItems: 4
817ef62cebSEmmanuel Vadot        reg-names:
827ef62cebSEmmanuel Vadot          items:
837ef62cebSEmmanuel Vadot            - const: control_port
847ef62cebSEmmanuel Vadot            - const: rx_csr
857ef62cebSEmmanuel Vadot            - const: tx_csr
867ef62cebSEmmanuel Vadot            - const: s1
877ef62cebSEmmanuel Vadot
887ef62cebSEmmanuel Vadot  - if:
897ef62cebSEmmanuel Vadot      properties:
907ef62cebSEmmanuel Vadot        compatible:
917ef62cebSEmmanuel Vadot          contains:
927ef62cebSEmmanuel Vadot            enum:
937ef62cebSEmmanuel Vadot              - altr,tse-msgdma-1.0
947ef62cebSEmmanuel Vadot    then:
957ef62cebSEmmanuel Vadot      properties:
967ef62cebSEmmanuel Vadot        reg:
977ef62cebSEmmanuel Vadot          minItems: 6
987ef62cebSEmmanuel Vadot          maxItems: 7
997ef62cebSEmmanuel Vadot        reg-names:
1007ef62cebSEmmanuel Vadot          minItems: 6
1017ef62cebSEmmanuel Vadot          items:
1027ef62cebSEmmanuel Vadot            - const: control_port
1037ef62cebSEmmanuel Vadot            - const: rx_csr
1047ef62cebSEmmanuel Vadot            - const: rx_desc
1057ef62cebSEmmanuel Vadot            - const: rx_resp
1067ef62cebSEmmanuel Vadot            - const: tx_csr
1077ef62cebSEmmanuel Vadot            - const: tx_desc
1087ef62cebSEmmanuel Vadot            - const: pcs
1097ef62cebSEmmanuel Vadot
1107ef62cebSEmmanuel VadotunevaluatedProperties: false
1117ef62cebSEmmanuel Vadot
1127ef62cebSEmmanuel Vadotexamples:
1137ef62cebSEmmanuel Vadot  - |
1147ef62cebSEmmanuel Vadot    tse_sub_0: ethernet@c0100000 {
1157ef62cebSEmmanuel Vadot        compatible = "altr,tse-msgdma-1.0";
1167ef62cebSEmmanuel Vadot        reg = <0xc0100000 0x00000400>,
1177ef62cebSEmmanuel Vadot              <0xc0101000 0x00000020>,
1187ef62cebSEmmanuel Vadot              <0xc0102000 0x00000020>,
1197ef62cebSEmmanuel Vadot              <0xc0103000 0x00000008>,
1207ef62cebSEmmanuel Vadot              <0xc0104000 0x00000020>,
1217ef62cebSEmmanuel Vadot              <0xc0105000 0x00000020>,
1227ef62cebSEmmanuel Vadot              <0xc0106000 0x00000100>;
1237ef62cebSEmmanuel Vadot        reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc", "pcs";
1247ef62cebSEmmanuel Vadot        interrupt-parent = <&intc>;
1257ef62cebSEmmanuel Vadot        interrupts = <0 44 4>,<0 45 4>;
1267ef62cebSEmmanuel Vadot        interrupt-names = "rx_irq","tx_irq";
1277ef62cebSEmmanuel Vadot        rx-fifo-depth = <2048>;
1287ef62cebSEmmanuel Vadot        tx-fifo-depth = <2048>;
1297ef62cebSEmmanuel Vadot        max-frame-size = <1500>;
1307ef62cebSEmmanuel Vadot        local-mac-address = [ 00 00 00 00 00 00 ];
1317ef62cebSEmmanuel Vadot        altr,has-supplementary-unicast;
1327ef62cebSEmmanuel Vadot        altr,has-hash-multicast-filter;
1337ef62cebSEmmanuel Vadot        sfp = <&sfp0>;
1347ef62cebSEmmanuel Vadot        phy-mode = "sgmii";
1357ef62cebSEmmanuel Vadot        managed = "in-band-status";
1367ef62cebSEmmanuel Vadot    };
1377ef62cebSEmmanuel Vadot  - |
1387ef62cebSEmmanuel Vadot    tse_sub_1_eth_tse_0: ethernet@1,00001000 {
1397ef62cebSEmmanuel Vadot        compatible = "altr,tse-msgdma-1.0";
1407ef62cebSEmmanuel Vadot        reg = <0x00001000 0x00000400>,
1417ef62cebSEmmanuel Vadot              <0x00001460 0x00000020>,
1427ef62cebSEmmanuel Vadot              <0x00001480 0x00000020>,
1437ef62cebSEmmanuel Vadot              <0x000014A0 0x00000008>,
1447ef62cebSEmmanuel Vadot              <0x00001400 0x00000020>,
1457ef62cebSEmmanuel Vadot              <0x00001420 0x00000020>;
1467ef62cebSEmmanuel Vadot        reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc";
1477ef62cebSEmmanuel Vadot        interrupt-parent = <&hps_0_arm_gic_0>;
1487ef62cebSEmmanuel Vadot        interrupts = <0 43 4>, <0 42 4>;
1497ef62cebSEmmanuel Vadot        interrupt-names = "rx_irq", "tx_irq";
1507ef62cebSEmmanuel Vadot        rx-fifo-depth = <2048>;
1517ef62cebSEmmanuel Vadot        tx-fifo-depth = <2048>;
1527ef62cebSEmmanuel Vadot        max-frame-size = <1500>;
1537ef62cebSEmmanuel Vadot        local-mac-address = [ 00 00 00 00 00 00 ];
1547ef62cebSEmmanuel Vadot        phy-mode = "gmii";
1557ef62cebSEmmanuel Vadot        altr,has-supplementary-unicast;
1567ef62cebSEmmanuel Vadot        altr,has-hash-multicast-filter;
1577ef62cebSEmmanuel Vadot        phy-handle = <&phy1>;
1587ef62cebSEmmanuel Vadot        mdio {
1597ef62cebSEmmanuel Vadot            compatible = "altr,tse-mdio";
1607ef62cebSEmmanuel Vadot            #address-cells = <1>;
1617ef62cebSEmmanuel Vadot            #size-cells = <0>;
1627ef62cebSEmmanuel Vadot            phy1: ethernet-phy@1 {
1637ef62cebSEmmanuel Vadot                reg = <0x1>;
1647ef62cebSEmmanuel Vadot            };
1657ef62cebSEmmanuel Vadot        };
1667ef62cebSEmmanuel Vadot    };
1677ef62cebSEmmanuel Vadot
1687ef62cebSEmmanuel Vadot...
169