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