xref: /freebsd/sys/contrib/device-tree/Bindings/net/actions,owl-emac.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/net/actions,owl-emac.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
72eb4d8dcSEmmanuel Vadottitle: Actions Semi Owl SoCs Ethernet MAC Controller
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription: |
132eb4d8dcSEmmanuel Vadot  This Ethernet MAC is used on the Owl family of SoCs from Actions Semi.
142eb4d8dcSEmmanuel Vadot  It provides the RMII and SMII interfaces and is compliant with the
152eb4d8dcSEmmanuel Vadot  IEEE 802.3 CSMA/CD standard, supporting both half-duplex and full-duplex
162eb4d8dcSEmmanuel Vadot  operation modes at 10/100 Mb/s data transfer rates.
172eb4d8dcSEmmanuel Vadot
182eb4d8dcSEmmanuel VadotallOf:
19*fac71e4eSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
202eb4d8dcSEmmanuel Vadot
212eb4d8dcSEmmanuel Vadotproperties:
222eb4d8dcSEmmanuel Vadot  compatible:
232eb4d8dcSEmmanuel Vadot    oneOf:
242eb4d8dcSEmmanuel Vadot      - const: actions,owl-emac
252eb4d8dcSEmmanuel Vadot      - items:
262eb4d8dcSEmmanuel Vadot          - enum:
272eb4d8dcSEmmanuel Vadot              - actions,s500-emac
282eb4d8dcSEmmanuel Vadot          - const: actions,owl-emac
292eb4d8dcSEmmanuel Vadot
302eb4d8dcSEmmanuel Vadot  reg:
312eb4d8dcSEmmanuel Vadot    maxItems: 1
322eb4d8dcSEmmanuel Vadot
332eb4d8dcSEmmanuel Vadot  interrupts:
342eb4d8dcSEmmanuel Vadot    maxItems: 1
352eb4d8dcSEmmanuel Vadot
362eb4d8dcSEmmanuel Vadot  clocks:
372eb4d8dcSEmmanuel Vadot    minItems: 2
382eb4d8dcSEmmanuel Vadot    maxItems: 2
392eb4d8dcSEmmanuel Vadot
402eb4d8dcSEmmanuel Vadot  clock-names:
412eb4d8dcSEmmanuel Vadot    additionalItems: false
422eb4d8dcSEmmanuel Vadot    items:
432eb4d8dcSEmmanuel Vadot      - const: eth
442eb4d8dcSEmmanuel Vadot      - const: rmii
452eb4d8dcSEmmanuel Vadot
462eb4d8dcSEmmanuel Vadot  resets:
472eb4d8dcSEmmanuel Vadot    maxItems: 1
482eb4d8dcSEmmanuel Vadot
492eb4d8dcSEmmanuel Vadot  actions,ethcfg:
502eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
512eb4d8dcSEmmanuel Vadot    description:
522eb4d8dcSEmmanuel Vadot      Phandle to the device containing custom config.
532eb4d8dcSEmmanuel Vadot
54e67e8565SEmmanuel Vadot  mdio:
55e67e8565SEmmanuel Vadot    $ref: mdio.yaml#
56e67e8565SEmmanuel Vadot    unevaluatedProperties: false
57e67e8565SEmmanuel Vadot
582eb4d8dcSEmmanuel Vadotrequired:
592eb4d8dcSEmmanuel Vadot  - compatible
602eb4d8dcSEmmanuel Vadot  - reg
612eb4d8dcSEmmanuel Vadot  - interrupts
622eb4d8dcSEmmanuel Vadot  - clocks
632eb4d8dcSEmmanuel Vadot  - clock-names
642eb4d8dcSEmmanuel Vadot  - resets
652eb4d8dcSEmmanuel Vadot  - phy-mode
662eb4d8dcSEmmanuel Vadot  - phy-handle
672eb4d8dcSEmmanuel Vadot
682eb4d8dcSEmmanuel VadotunevaluatedProperties: false
692eb4d8dcSEmmanuel Vadot
702eb4d8dcSEmmanuel Vadotexamples:
712eb4d8dcSEmmanuel Vadot  - |
722eb4d8dcSEmmanuel Vadot    #include <dt-bindings/clock/actions,s500-cmu.h>
732eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
742eb4d8dcSEmmanuel Vadot    #include <dt-bindings/reset/actions,s500-reset.h>
752eb4d8dcSEmmanuel Vadot
762eb4d8dcSEmmanuel Vadot    ethernet@b0310000 {
772eb4d8dcSEmmanuel Vadot        compatible = "actions,s500-emac", "actions,owl-emac";
782eb4d8dcSEmmanuel Vadot        reg = <0xb0310000 0x10000>;
792eb4d8dcSEmmanuel Vadot        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
802eb4d8dcSEmmanuel Vadot        clocks = <&cmu 59 /*CLK_ETHERNET*/>, <&cmu CLK_RMII_REF>;
812eb4d8dcSEmmanuel Vadot        clock-names = "eth", "rmii";
822eb4d8dcSEmmanuel Vadot        resets = <&cmu RESET_ETHERNET>;
832eb4d8dcSEmmanuel Vadot        phy-mode = "rmii";
842eb4d8dcSEmmanuel Vadot        phy-handle = <&eth_phy>;
852eb4d8dcSEmmanuel Vadot
862eb4d8dcSEmmanuel Vadot        mdio {
872eb4d8dcSEmmanuel Vadot            #address-cells = <1>;
882eb4d8dcSEmmanuel Vadot            #size-cells = <0>;
892eb4d8dcSEmmanuel Vadot
902eb4d8dcSEmmanuel Vadot            eth_phy: ethernet-phy@3 {
912eb4d8dcSEmmanuel Vadot                reg = <0x3>;
922eb4d8dcSEmmanuel Vadot                interrupt-parent = <&sirq>;
932eb4d8dcSEmmanuel Vadot                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
942eb4d8dcSEmmanuel Vadot            };
952eb4d8dcSEmmanuel Vadot        };
962eb4d8dcSEmmanuel Vadot    };
97