| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/altr,tse.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Altera Triple Speed Ethernet MAC driver (TSE) |
| |
| maintainers: |
| - Maxime Chevallier <maxime.chevallier@bootlin.com> |
| |
| properties: |
| compatible: |
| oneOf: |
| - const: altr,tse-1.0 |
| - const: ALTR,tse-1.0 |
| deprecated: true |
| - const: altr,tse-msgdma-1.0 |
| |
| interrupts: |
| minItems: 2 |
| |
| interrupt-names: |
| items: |
| - const: rx_irq |
| - const: tx_irq |
| |
| rx-fifo-depth: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| Depth in bytes of the RX FIFO |
| |
| tx-fifo-depth: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| Depth in bytes of the TX FIFO |
| |
| altr,has-supplementary-unicast: |
| type: boolean |
| description: |
| If present, TSE supports additional unicast addresses. |
| |
| altr,has-hash-multicast-filter: |
| type: boolean |
| description: |
| If present, TSE supports hash based multicast filter. |
| |
| mdio: |
| $ref: mdio.yaml# |
| unevaluatedProperties: false |
| description: |
| Creates and registers an MDIO bus. |
| |
| properties: |
| compatible: |
| const: altr,tse-mdio |
| |
| required: |
| - compatible |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - rx-fifo-depth |
| - tx-fifo-depth |
| |
| allOf: |
| - $ref: "ethernet-controller.yaml#" |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - const: altr,tse-1.0 |
| - const: ALTR,tse-1.0 |
| then: |
| properties: |
| reg: |
| minItems: 4 |
| reg-names: |
| items: |
| - const: control_port |
| - const: rx_csr |
| - const: tx_csr |
| - const: s1 |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - altr,tse-msgdma-1.0 |
| then: |
| properties: |
| reg: |
| minItems: 6 |
| maxItems: 7 |
| reg-names: |
| minItems: 6 |
| items: |
| - const: control_port |
| - const: rx_csr |
| - const: rx_desc |
| - const: rx_resp |
| - const: tx_csr |
| - const: tx_desc |
| - const: pcs |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| tse_sub_0: ethernet@c0100000 { |
| compatible = "altr,tse-msgdma-1.0"; |
| reg = <0xc0100000 0x00000400>, |
| <0xc0101000 0x00000020>, |
| <0xc0102000 0x00000020>, |
| <0xc0103000 0x00000008>, |
| <0xc0104000 0x00000020>, |
| <0xc0105000 0x00000020>, |
| <0xc0106000 0x00000100>; |
| reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc", "pcs"; |
| interrupt-parent = <&intc>; |
| interrupts = <0 44 4>,<0 45 4>; |
| interrupt-names = "rx_irq","tx_irq"; |
| rx-fifo-depth = <2048>; |
| tx-fifo-depth = <2048>; |
| max-frame-size = <1500>; |
| local-mac-address = [ 00 00 00 00 00 00 ]; |
| altr,has-supplementary-unicast; |
| altr,has-hash-multicast-filter; |
| sfp = <&sfp0>; |
| phy-mode = "sgmii"; |
| managed = "in-band-status"; |
| }; |
| - | |
| tse_sub_1_eth_tse_0: ethernet@1,00001000 { |
| compatible = "altr,tse-msgdma-1.0"; |
| reg = <0x00001000 0x00000400>, |
| <0x00001460 0x00000020>, |
| <0x00001480 0x00000020>, |
| <0x000014A0 0x00000008>, |
| <0x00001400 0x00000020>, |
| <0x00001420 0x00000020>; |
| reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; |
| interrupt-parent = <&hps_0_arm_gic_0>; |
| interrupts = <0 43 4>, <0 42 4>; |
| interrupt-names = "rx_irq", "tx_irq"; |
| rx-fifo-depth = <2048>; |
| tx-fifo-depth = <2048>; |
| max-frame-size = <1500>; |
| local-mac-address = [ 00 00 00 00 00 00 ]; |
| phy-mode = "gmii"; |
| altr,has-supplementary-unicast; |
| altr,has-hash-multicast-filter; |
| phy-handle = <&phy1>; |
| mdio { |
| compatible = "altr,tse-mdio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| phy1: ethernet-phy@1 { |
| reg = <0x1>; |
| }; |
| }; |
| }; |
| |
| ... |