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