Documentation / devicetree / bindings / net / renesas,ether.yaml


Based on kernel version 6.15. Page generated on 2025-05-29 09:09 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 120 121 122 123 124 125 126 127 128 129 130 131
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/renesas,ether.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas Electronics SH EtherMAC

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

maintainers:
  - Sergei Shtylyov <sergei.shtylyov@gmail.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - renesas,gether-r8a7740   # device is a part of R8A7740 SoC
              - renesas,gether-r8a77980  # device is a part of R8A77980 SoC
              - renesas,ether-r7s72100   # device is a part of R7S72100 SoC
              - renesas,ether-r7s9210    # device is a part of R7S9210 SoC
      - items:
          - enum:
              - renesas,ether-r8a7778    # device is a part of R8A7778 SoC
              - renesas,ether-r8a7779    # device is a part of R8A7779 SoC
          - enum:
              - renesas,rcar-gen1-ether  # a generic R-Car Gen1 device
      - items:
          - enum:
              - renesas,ether-r8a7742    # device is a part of R8A7742 SoC
              - renesas,ether-r8a7743    # device is a part of R8A7743 SoC
              - renesas,ether-r8a7745    # device is a part of R8A7745 SoC
              - renesas,ether-r8a7790    # device is a part of R8A7790 SoC
              - renesas,ether-r8a7791    # device is a part of R8A7791 SoC
              - renesas,ether-r8a7793    # device is a part of R8A7793 SoC
              - renesas,ether-r8a7794    # device is a part of R8A7794 SoC
          - enum:
              - renesas,rcar-gen2-ether  # a generic R-Car Gen2 or RZ/G1 device

  reg:
    items:
      - description: E-DMAC/feLic registers
      - description: TSU registers
    minItems: 1

  interrupts:
    maxItems: 1
 
  '#address-cells':
    description: number of address cells for the MDIO bus
    const: 1
 
  '#size-cells':
    description: number of size cells on the MDIO bus
    const: 0

  clocks:
    maxItems: 1

  iommus:
    maxItems: 1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  phy-mode: true

  phy-handle: true

  renesas,no-ether-link:
    type: boolean
    description:
      specify when a board does not provide a proper Ether LINK signal

  renesas,ether-link-active-low:
    type: boolean
    description:
      specify when the Ether LINK signal is active-low instead of normal
      active-high

patternProperties:
  "@[0-9a-f]$":
    type: object

required:
  - compatible
  - reg
  - interrupts
  - phy-mode
  - phy-handle
  - '#address-cells'
  - '#size-cells'
  - clocks

additionalProperties: false

examples:
  # Lager board
  - |
    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/power/r8a7790-sysc.h>
    #include <dt-bindings/gpio/gpio.h>
 
    ethernet@ee700000 {
        compatible = "renesas,ether-r8a7790", "renesas,rcar-gen2-ether";
        reg = <0xee700000 0x400>;
        interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&cpg CPG_MOD 813>;
        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
        resets = <&cpg 813>;
        phy-mode = "rmii";
        phy-handle = <&phy1>;
        renesas,ether-link-active-low;
        #address-cells = <1>;
        #size-cells = <0>;
 
        phy1: ethernet-phy@1 {
            compatible = "ethernet-phy-id0022.1537",
                         "ethernet-phy-ieee802.3-c22";
            reg = <1>;
            interrupt-parent = <&irqc0>;
            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
            reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>;
        };
    };