1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*2eb4d8dcSEmmanuel Vadot%YAML 1.2 3*2eb4d8dcSEmmanuel Vadot--- 4*2eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/net/actions,owl-emac.yaml# 5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2eb4d8dcSEmmanuel Vadot 7*2eb4d8dcSEmmanuel Vadottitle: Actions Semi Owl SoCs Ethernet MAC Controller 8*2eb4d8dcSEmmanuel Vadot 9*2eb4d8dcSEmmanuel Vadotmaintainers: 10*2eb4d8dcSEmmanuel Vadot - Cristian Ciocaltea <cristian.ciocaltea@gmail.com> 11*2eb4d8dcSEmmanuel Vadot 12*2eb4d8dcSEmmanuel Vadotdescription: | 13*2eb4d8dcSEmmanuel Vadot This Ethernet MAC is used on the Owl family of SoCs from Actions Semi. 14*2eb4d8dcSEmmanuel Vadot It provides the RMII and SMII interfaces and is compliant with the 15*2eb4d8dcSEmmanuel Vadot IEEE 802.3 CSMA/CD standard, supporting both half-duplex and full-duplex 16*2eb4d8dcSEmmanuel Vadot operation modes at 10/100 Mb/s data transfer rates. 17*2eb4d8dcSEmmanuel Vadot 18*2eb4d8dcSEmmanuel VadotallOf: 19*2eb4d8dcSEmmanuel Vadot - $ref: "ethernet-controller.yaml#" 20*2eb4d8dcSEmmanuel Vadot 21*2eb4d8dcSEmmanuel Vadotproperties: 22*2eb4d8dcSEmmanuel Vadot compatible: 23*2eb4d8dcSEmmanuel Vadot oneOf: 24*2eb4d8dcSEmmanuel Vadot - const: actions,owl-emac 25*2eb4d8dcSEmmanuel Vadot - items: 26*2eb4d8dcSEmmanuel Vadot - enum: 27*2eb4d8dcSEmmanuel Vadot - actions,s500-emac 28*2eb4d8dcSEmmanuel Vadot - const: actions,owl-emac 29*2eb4d8dcSEmmanuel Vadot 30*2eb4d8dcSEmmanuel Vadot reg: 31*2eb4d8dcSEmmanuel Vadot maxItems: 1 32*2eb4d8dcSEmmanuel Vadot 33*2eb4d8dcSEmmanuel Vadot interrupts: 34*2eb4d8dcSEmmanuel Vadot maxItems: 1 35*2eb4d8dcSEmmanuel Vadot 36*2eb4d8dcSEmmanuel Vadot clocks: 37*2eb4d8dcSEmmanuel Vadot minItems: 2 38*2eb4d8dcSEmmanuel Vadot maxItems: 2 39*2eb4d8dcSEmmanuel Vadot 40*2eb4d8dcSEmmanuel Vadot clock-names: 41*2eb4d8dcSEmmanuel Vadot additionalItems: false 42*2eb4d8dcSEmmanuel Vadot items: 43*2eb4d8dcSEmmanuel Vadot - const: eth 44*2eb4d8dcSEmmanuel Vadot - const: rmii 45*2eb4d8dcSEmmanuel Vadot 46*2eb4d8dcSEmmanuel Vadot resets: 47*2eb4d8dcSEmmanuel Vadot maxItems: 1 48*2eb4d8dcSEmmanuel Vadot 49*2eb4d8dcSEmmanuel Vadot actions,ethcfg: 50*2eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 51*2eb4d8dcSEmmanuel Vadot description: 52*2eb4d8dcSEmmanuel Vadot Phandle to the device containing custom config. 53*2eb4d8dcSEmmanuel Vadot 54*2eb4d8dcSEmmanuel Vadotrequired: 55*2eb4d8dcSEmmanuel Vadot - compatible 56*2eb4d8dcSEmmanuel Vadot - reg 57*2eb4d8dcSEmmanuel Vadot - interrupts 58*2eb4d8dcSEmmanuel Vadot - clocks 59*2eb4d8dcSEmmanuel Vadot - clock-names 60*2eb4d8dcSEmmanuel Vadot - resets 61*2eb4d8dcSEmmanuel Vadot - phy-mode 62*2eb4d8dcSEmmanuel Vadot - phy-handle 63*2eb4d8dcSEmmanuel Vadot 64*2eb4d8dcSEmmanuel VadotunevaluatedProperties: false 65*2eb4d8dcSEmmanuel Vadot 66*2eb4d8dcSEmmanuel Vadotexamples: 67*2eb4d8dcSEmmanuel Vadot - | 68*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/clock/actions,s500-cmu.h> 69*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 70*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/reset/actions,s500-reset.h> 71*2eb4d8dcSEmmanuel Vadot 72*2eb4d8dcSEmmanuel Vadot ethernet@b0310000 { 73*2eb4d8dcSEmmanuel Vadot compatible = "actions,s500-emac", "actions,owl-emac"; 74*2eb4d8dcSEmmanuel Vadot reg = <0xb0310000 0x10000>; 75*2eb4d8dcSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 76*2eb4d8dcSEmmanuel Vadot clocks = <&cmu 59 /*CLK_ETHERNET*/>, <&cmu CLK_RMII_REF>; 77*2eb4d8dcSEmmanuel Vadot clock-names = "eth", "rmii"; 78*2eb4d8dcSEmmanuel Vadot resets = <&cmu RESET_ETHERNET>; 79*2eb4d8dcSEmmanuel Vadot phy-mode = "rmii"; 80*2eb4d8dcSEmmanuel Vadot phy-handle = <ð_phy>; 81*2eb4d8dcSEmmanuel Vadot 82*2eb4d8dcSEmmanuel Vadot mdio { 83*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 84*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 85*2eb4d8dcSEmmanuel Vadot 86*2eb4d8dcSEmmanuel Vadot eth_phy: ethernet-phy@3 { 87*2eb4d8dcSEmmanuel Vadot reg = <0x3>; 88*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&sirq>; 89*2eb4d8dcSEmmanuel Vadot interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 90*2eb4d8dcSEmmanuel Vadot }; 91*2eb4d8dcSEmmanuel Vadot }; 92*2eb4d8dcSEmmanuel Vadot }; 93