1*a29401beSFlorian Fainelli# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*a29401beSFlorian Fainelli%YAML 1.2 3*a29401beSFlorian Fainelli--- 4*a29401beSFlorian Fainelli$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml# 5*a29401beSFlorian Fainelli$schema: http://devicetree.org/meta-schemas/core.yaml# 6*a29401beSFlorian Fainelli 7*a29401beSFlorian Fainellititle: Broadcom ASP 2.0 Ethernet controller 8*a29401beSFlorian Fainelli 9*a29401beSFlorian Fainellimaintainers: 10*a29401beSFlorian Fainelli - Justin Chen <justin.chen@broadcom.com> 11*a29401beSFlorian Fainelli - Florian Fainelli <florian.fainelli@broadcom.com> 12*a29401beSFlorian Fainelli 13*a29401beSFlorian Fainellidescription: Broadcom Ethernet controller first introduced with 72165 14*a29401beSFlorian Fainelli 15*a29401beSFlorian Fainelliproperties: 16*a29401beSFlorian Fainelli compatible: 17*a29401beSFlorian Fainelli oneOf: 18*a29401beSFlorian Fainelli - items: 19*a29401beSFlorian Fainelli - enum: 20*a29401beSFlorian Fainelli - brcm,bcm74165-asp 21*a29401beSFlorian Fainelli - const: brcm,asp-v2.1 22*a29401beSFlorian Fainelli - items: 23*a29401beSFlorian Fainelli - enum: 24*a29401beSFlorian Fainelli - brcm,bcm72165-asp 25*a29401beSFlorian Fainelli - const: brcm,asp-v2.0 26*a29401beSFlorian Fainelli 27*a29401beSFlorian Fainelli "#address-cells": 28*a29401beSFlorian Fainelli const: 1 29*a29401beSFlorian Fainelli "#size-cells": 30*a29401beSFlorian Fainelli const: 1 31*a29401beSFlorian Fainelli 32*a29401beSFlorian Fainelli reg: 33*a29401beSFlorian Fainelli maxItems: 1 34*a29401beSFlorian Fainelli 35*a29401beSFlorian Fainelli ranges: true 36*a29401beSFlorian Fainelli 37*a29401beSFlorian Fainelli interrupts: 38*a29401beSFlorian Fainelli minItems: 1 39*a29401beSFlorian Fainelli items: 40*a29401beSFlorian Fainelli - description: RX/TX interrupt 41*a29401beSFlorian Fainelli - description: Port 0 Wake-on-LAN 42*a29401beSFlorian Fainelli - description: Port 1 Wake-on-LAN 43*a29401beSFlorian Fainelli 44*a29401beSFlorian Fainelli clocks: 45*a29401beSFlorian Fainelli maxItems: 1 46*a29401beSFlorian Fainelli 47*a29401beSFlorian Fainelli ethernet-ports: 48*a29401beSFlorian Fainelli type: object 49*a29401beSFlorian Fainelli properties: 50*a29401beSFlorian Fainelli "#address-cells": 51*a29401beSFlorian Fainelli const: 1 52*a29401beSFlorian Fainelli "#size-cells": 53*a29401beSFlorian Fainelli const: 0 54*a29401beSFlorian Fainelli 55*a29401beSFlorian Fainelli patternProperties: 56*a29401beSFlorian Fainelli "^port@[0-9]+$": 57*a29401beSFlorian Fainelli type: object 58*a29401beSFlorian Fainelli 59*a29401beSFlorian Fainelli $ref: ethernet-controller.yaml# 60*a29401beSFlorian Fainelli 61*a29401beSFlorian Fainelli unevaluatedProperties: false 62*a29401beSFlorian Fainelli 63*a29401beSFlorian Fainelli properties: 64*a29401beSFlorian Fainelli reg: 65*a29401beSFlorian Fainelli maxItems: 1 66*a29401beSFlorian Fainelli description: Port number 67*a29401beSFlorian Fainelli 68*a29401beSFlorian Fainelli brcm,channel: 69*a29401beSFlorian Fainelli $ref: /schemas/types.yaml#/definitions/uint32 70*a29401beSFlorian Fainelli description: | 71*a29401beSFlorian Fainelli ASP Channel Number 72*a29401beSFlorian Fainelli 73*a29401beSFlorian Fainelli The depacketizer channel that consumes packets from 74*a29401beSFlorian Fainelli the unimac/port. 75*a29401beSFlorian Fainelli 76*a29401beSFlorian Fainelli required: 77*a29401beSFlorian Fainelli - reg 78*a29401beSFlorian Fainelli - brcm,channel 79*a29401beSFlorian Fainelli 80*a29401beSFlorian Fainelli additionalProperties: false 81*a29401beSFlorian Fainelli 82*a29401beSFlorian FainellipatternProperties: 83*a29401beSFlorian Fainelli "^mdio@[0-9a-f]+$": 84*a29401beSFlorian Fainelli type: object 85*a29401beSFlorian Fainelli $ref: brcm,unimac-mdio.yaml 86*a29401beSFlorian Fainelli 87*a29401beSFlorian Fainelli description: 88*a29401beSFlorian Fainelli ASP internal UniMAC MDIO bus 89*a29401beSFlorian Fainelli 90*a29401beSFlorian Fainellirequired: 91*a29401beSFlorian Fainelli - compatible 92*a29401beSFlorian Fainelli - reg 93*a29401beSFlorian Fainelli - interrupts 94*a29401beSFlorian Fainelli - clocks 95*a29401beSFlorian Fainelli - ranges 96*a29401beSFlorian Fainelli 97*a29401beSFlorian FainelliadditionalProperties: false 98*a29401beSFlorian Fainelli 99*a29401beSFlorian Fainelliexamples: 100*a29401beSFlorian Fainelli - | 101*a29401beSFlorian Fainelli #include <dt-bindings/interrupt-controller/irq.h> 102*a29401beSFlorian Fainelli #include <dt-bindings/interrupt-controller/arm-gic.h> 103*a29401beSFlorian Fainelli 104*a29401beSFlorian Fainelli ethernet@9c00000 { 105*a29401beSFlorian Fainelli compatible = "brcm,bcm72165-asp", "brcm,asp-v2.0"; 106*a29401beSFlorian Fainelli reg = <0x9c00000 0x1fff14>; 107*a29401beSFlorian Fainelli interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 108*a29401beSFlorian Fainelli ranges = <0x0 0x9c00000 0x1fff14>; 109*a29401beSFlorian Fainelli clocks = <&scmi 14>; 110*a29401beSFlorian Fainelli #address-cells = <1>; 111*a29401beSFlorian Fainelli #size-cells = <1>; 112*a29401beSFlorian Fainelli 113*a29401beSFlorian Fainelli mdio@c614 { 114*a29401beSFlorian Fainelli compatible = "brcm,asp-v2.0-mdio"; 115*a29401beSFlorian Fainelli reg = <0xc614 0x8>; 116*a29401beSFlorian Fainelli reg-names = "mdio"; 117*a29401beSFlorian Fainelli #address-cells = <1>; 118*a29401beSFlorian Fainelli #size-cells = <0>; 119*a29401beSFlorian Fainelli 120*a29401beSFlorian Fainelli phy0: ethernet-phy@1 { 121*a29401beSFlorian Fainelli reg = <1>; 122*a29401beSFlorian Fainelli }; 123*a29401beSFlorian Fainelli }; 124*a29401beSFlorian Fainelli 125*a29401beSFlorian Fainelli mdio@ce14 { 126*a29401beSFlorian Fainelli compatible = "brcm,asp-v2.0-mdio"; 127*a29401beSFlorian Fainelli reg = <0xce14 0x8>; 128*a29401beSFlorian Fainelli reg-names = "mdio"; 129*a29401beSFlorian Fainelli #address-cells = <1>; 130*a29401beSFlorian Fainelli #size-cells = <0>; 131*a29401beSFlorian Fainelli 132*a29401beSFlorian Fainelli phy1: ethernet-phy@1 { 133*a29401beSFlorian Fainelli reg = <1>; 134*a29401beSFlorian Fainelli }; 135*a29401beSFlorian Fainelli }; 136*a29401beSFlorian Fainelli 137*a29401beSFlorian Fainelli ethernet-ports { 138*a29401beSFlorian Fainelli #address-cells = <1>; 139*a29401beSFlorian Fainelli #size-cells = <0>; 140*a29401beSFlorian Fainelli 141*a29401beSFlorian Fainelli port@0 { 142*a29401beSFlorian Fainelli reg = <0>; 143*a29401beSFlorian Fainelli brcm,channel = <8>; 144*a29401beSFlorian Fainelli phy-mode = "rgmii"; 145*a29401beSFlorian Fainelli phy-handle = <&phy0>; 146*a29401beSFlorian Fainelli }; 147*a29401beSFlorian Fainelli 148*a29401beSFlorian Fainelli port@1 { 149*a29401beSFlorian Fainelli reg = <1>; 150*a29401beSFlorian Fainelli brcm,channel = <9>; 151*a29401beSFlorian Fainelli phy-mode = "rgmii"; 152*a29401beSFlorian Fainelli phy-handle = <&phy1>; 153*a29401beSFlorian Fainelli }; 154*a29401beSFlorian Fainelli }; 155*a29401beSFlorian Fainelli }; 156