1*3a470447SFlorian Fainelli# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*3a470447SFlorian Fainelli%YAML 1.2 3*3a470447SFlorian Fainelli--- 4*3a470447SFlorian Fainelli$id: http://devicetree.org/schemas/net/brcm,bcmgenet.yaml# 5*3a470447SFlorian Fainelli$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3a470447SFlorian Fainelli 7*3a470447SFlorian Fainellititle: Broadcom BCM7xxx Ethernet Controller (GENET) binding 8*3a470447SFlorian Fainelli 9*3a470447SFlorian Fainellimaintainers: 10*3a470447SFlorian Fainelli - Doug Berger <opendmb@gmail.com> 11*3a470447SFlorian Fainelli - Florian Fainelli <f.fainelli@gmail.com> 12*3a470447SFlorian Fainelli 13*3a470447SFlorian Fainelliproperties: 14*3a470447SFlorian Fainelli compatible: 15*3a470447SFlorian Fainelli enum: 16*3a470447SFlorian Fainelli - brcm,genet-v1 17*3a470447SFlorian Fainelli - brcm,genet-v2 18*3a470447SFlorian Fainelli - brcm,genet-v3 19*3a470447SFlorian Fainelli - brcm,genet-v4 20*3a470447SFlorian Fainelli - brcm,genet-v5 21*3a470447SFlorian Fainelli - brcm,bcm2711-genet-v5 22*3a470447SFlorian Fainelli - brcm,bcm7712-genet-v5 23*3a470447SFlorian Fainelli 24*3a470447SFlorian Fainelli reg: 25*3a470447SFlorian Fainelli maxItems: 1 26*3a470447SFlorian Fainelli 27*3a470447SFlorian Fainelli interrupts: 28*3a470447SFlorian Fainelli minItems: 2 29*3a470447SFlorian Fainelli items: 30*3a470447SFlorian Fainelli - description: general purpose interrupt line 31*3a470447SFlorian Fainelli - description: RX and TX rings interrupt line 32*3a470447SFlorian Fainelli - description: Wake-on-LAN interrupt line 33*3a470447SFlorian Fainelli 34*3a470447SFlorian Fainelli 35*3a470447SFlorian Fainelli clocks: 36*3a470447SFlorian Fainelli minItems: 1 37*3a470447SFlorian Fainelli items: 38*3a470447SFlorian Fainelli - description: main clock 39*3a470447SFlorian Fainelli - description: EEE clock 40*3a470447SFlorian Fainelli - description: Wake-on-LAN clock 41*3a470447SFlorian Fainelli 42*3a470447SFlorian Fainelli clock-names: 43*3a470447SFlorian Fainelli minItems: 1 44*3a470447SFlorian Fainelli items: 45*3a470447SFlorian Fainelli - const: enet 46*3a470447SFlorian Fainelli - const: enet-eee 47*3a470447SFlorian Fainelli - const: enet-wol 48*3a470447SFlorian Fainelli 49*3a470447SFlorian Fainelli "#address-cells": 50*3a470447SFlorian Fainelli const: 1 51*3a470447SFlorian Fainelli 52*3a470447SFlorian Fainelli "#size-cells": 53*3a470447SFlorian Fainelli const: 1 54*3a470447SFlorian Fainelli 55*3a470447SFlorian FainellipatternProperties: 56*3a470447SFlorian Fainelli "^mdio@[0-9a-f]+$": 57*3a470447SFlorian Fainelli type: object 58*3a470447SFlorian Fainelli $ref: "brcm,unimac-mdio.yaml" 59*3a470447SFlorian Fainelli 60*3a470447SFlorian Fainelli description: 61*3a470447SFlorian Fainelli GENET internal UniMAC MDIO bus 62*3a470447SFlorian Fainelli 63*3a470447SFlorian Fainellirequired: 64*3a470447SFlorian Fainelli - reg 65*3a470447SFlorian Fainelli - interrupts 66*3a470447SFlorian Fainelli - phy-mode 67*3a470447SFlorian Fainelli - "#address-cells" 68*3a470447SFlorian Fainelli - "#size-cells" 69*3a470447SFlorian Fainelli 70*3a470447SFlorian FainelliallOf: 71*3a470447SFlorian Fainelli - $ref: ethernet-controller.yaml 72*3a470447SFlorian Fainelli 73*3a470447SFlorian FainelliunevaluatedProperties: false 74*3a470447SFlorian Fainelli 75*3a470447SFlorian Fainelliexamples: 76*3a470447SFlorian Fainelli #include <dt-bindings/interrupt-controller/arm-gic.h> 77*3a470447SFlorian Fainelli 78*3a470447SFlorian Fainelli - | 79*3a470447SFlorian Fainelli ethernet@f0b60000 { 80*3a470447SFlorian Fainelli phy-mode = "internal"; 81*3a470447SFlorian Fainelli phy-handle = <&phy1>; 82*3a470447SFlorian Fainelli mac-address = [ 00 10 18 36 23 1a ]; 83*3a470447SFlorian Fainelli compatible = "brcm,genet-v4"; 84*3a470447SFlorian Fainelli reg = <0xf0b60000 0xfc4c>; 85*3a470447SFlorian Fainelli interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>; 86*3a470447SFlorian Fainelli #address-cells = <1>; 87*3a470447SFlorian Fainelli #size-cells = <1>; 88*3a470447SFlorian Fainelli 89*3a470447SFlorian Fainelli mdio0: mdio@e14 { 90*3a470447SFlorian Fainelli compatible = "brcm,genet-mdio-v4"; 91*3a470447SFlorian Fainelli #address-cells = <1>; 92*3a470447SFlorian Fainelli #size-cells = <0>; 93*3a470447SFlorian Fainelli reg = <0xe14 0x8>; 94*3a470447SFlorian Fainelli 95*3a470447SFlorian Fainelli phy1: ethernet-phy@1 { 96*3a470447SFlorian Fainelli max-speed = <1000>; 97*3a470447SFlorian Fainelli reg = <1>; 98*3a470447SFlorian Fainelli compatible = "ethernet-phy-ieee802.3-c22"; 99*3a470447SFlorian Fainelli }; 100*3a470447SFlorian Fainelli }; 101*3a470447SFlorian Fainelli }; 102*3a470447SFlorian Fainelli 103*3a470447SFlorian Fainelli - | 104*3a470447SFlorian Fainelli ethernet@f0b80000 { 105*3a470447SFlorian Fainelli phy-mode = "moca"; 106*3a470447SFlorian Fainelli fixed-link = <1 0 1000 0 0>; 107*3a470447SFlorian Fainelli mac-address = [ 00 10 18 36 24 1a ]; 108*3a470447SFlorian Fainelli compatible = "brcm,genet-v4"; 109*3a470447SFlorian Fainelli #address-cells = <1>; 110*3a470447SFlorian Fainelli #size-cells = <1>; 111*3a470447SFlorian Fainelli reg = <0xf0b80000 0xfc4c>; 112*3a470447SFlorian Fainelli interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>; 113*3a470447SFlorian Fainelli 114*3a470447SFlorian Fainelli mdio1: mdio@e14 { 115*3a470447SFlorian Fainelli compatible = "brcm,genet-mdio-v4"; 116*3a470447SFlorian Fainelli #address-cells = <1>; 117*3a470447SFlorian Fainelli #size-cells = <0>; 118*3a470447SFlorian Fainelli reg = <0xe14 0x8>; 119*3a470447SFlorian Fainelli }; 120*3a470447SFlorian Fainelli }; 121*3a470447SFlorian Fainelli 122*3a470447SFlorian Fainelli - | 123*3a470447SFlorian Fainelli ethernet@f0ba0000 { 124*3a470447SFlorian Fainelli phy-mode = "rgmii"; 125*3a470447SFlorian Fainelli phy-handle = <&phy0>; 126*3a470447SFlorian Fainelli mac-address = [ 00 10 18 36 26 1a ]; 127*3a470447SFlorian Fainelli compatible = "brcm,genet-v4"; 128*3a470447SFlorian Fainelli #address-cells = <1>; 129*3a470447SFlorian Fainelli #size-cells = <1>; 130*3a470447SFlorian Fainelli reg = <0xf0ba0000 0xfc4c>; 131*3a470447SFlorian Fainelli interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>; 132*3a470447SFlorian Fainelli 133*3a470447SFlorian Fainelli mdio2: mdio@e14 { 134*3a470447SFlorian Fainelli compatible = "brcm,genet-mdio-v4"; 135*3a470447SFlorian Fainelli #address-cells = <1>; 136*3a470447SFlorian Fainelli #size-cells = <0>; 137*3a470447SFlorian Fainelli reg = <0xe14 0x8>; 138*3a470447SFlorian Fainelli 139*3a470447SFlorian Fainelli phy0: ethernet-phy@0 { 140*3a470447SFlorian Fainelli max-speed = <1000>; 141*3a470447SFlorian Fainelli reg = <0>; 142*3a470447SFlorian Fainelli compatible = "ethernet-phy-ieee802.3-c22"; 143*3a470447SFlorian Fainelli }; 144*3a470447SFlorian Fainelli }; 145*3a470447SFlorian Fainelli }; 146