xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/loongson,ls1c-emac.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*84943d6fSEmmanuel Vadot%YAML 1.2
3*84943d6fSEmmanuel Vadot---
4*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/loongson,ls1c-emac.yaml#
5*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*84943d6fSEmmanuel Vadot
7*84943d6fSEmmanuel Vadottitle: Loongson-1C Ethernet MAC Controller
8*84943d6fSEmmanuel Vadot
9*84943d6fSEmmanuel Vadotmaintainers:
10*84943d6fSEmmanuel Vadot  - Keguang Zhang <keguang.zhang@gmail.com>
11*84943d6fSEmmanuel Vadot
12*84943d6fSEmmanuel Vadotdescription: |
13*84943d6fSEmmanuel Vadot  Loongson-1C Ethernet MAC Controller is based on
14*84943d6fSEmmanuel Vadot  Synopsys DesignWare MAC (version 3.50a).
15*84943d6fSEmmanuel Vadot
16*84943d6fSEmmanuel Vadot  Main features
17*84943d6fSEmmanuel Vadot  - 10/100Mbps
18*84943d6fSEmmanuel Vadot  - Full-duplex operation (IEEE 802.3x flow control automatic transmission)
19*84943d6fSEmmanuel Vadot  - Half-duplex operation (CSMA/CD Protocol and back-pressure support)
20*84943d6fSEmmanuel Vadot  - IEEE 802.1Q VLAN tag detection for reception frames
21*84943d6fSEmmanuel Vadot  - MII interface
22*84943d6fSEmmanuel Vadot  - RMII interface
23*84943d6fSEmmanuel Vadot
24*84943d6fSEmmanuel Vadotselect:
25*84943d6fSEmmanuel Vadot  properties:
26*84943d6fSEmmanuel Vadot    compatible:
27*84943d6fSEmmanuel Vadot      contains:
28*84943d6fSEmmanuel Vadot        enum:
29*84943d6fSEmmanuel Vadot          - loongson,ls1c-emac
30*84943d6fSEmmanuel Vadot  required:
31*84943d6fSEmmanuel Vadot    - compatible
32*84943d6fSEmmanuel Vadot
33*84943d6fSEmmanuel Vadotproperties:
34*84943d6fSEmmanuel Vadot  compatible:
35*84943d6fSEmmanuel Vadot    items:
36*84943d6fSEmmanuel Vadot      - enum:
37*84943d6fSEmmanuel Vadot          - loongson,ls1c-emac
38*84943d6fSEmmanuel Vadot      - const: snps,dwmac-3.50a
39*84943d6fSEmmanuel Vadot
40*84943d6fSEmmanuel Vadot  reg:
41*84943d6fSEmmanuel Vadot    maxItems: 1
42*84943d6fSEmmanuel Vadot
43*84943d6fSEmmanuel Vadot  clocks:
44*84943d6fSEmmanuel Vadot    maxItems: 1
45*84943d6fSEmmanuel Vadot
46*84943d6fSEmmanuel Vadot  clock-names:
47*84943d6fSEmmanuel Vadot    items:
48*84943d6fSEmmanuel Vadot      - const: stmmaceth
49*84943d6fSEmmanuel Vadot
50*84943d6fSEmmanuel Vadot  interrupts:
51*84943d6fSEmmanuel Vadot    maxItems: 1
52*84943d6fSEmmanuel Vadot
53*84943d6fSEmmanuel Vadot  interrupt-names:
54*84943d6fSEmmanuel Vadot    items:
55*84943d6fSEmmanuel Vadot      - const: macirq
56*84943d6fSEmmanuel Vadot
57*84943d6fSEmmanuel Vadot  loongson,ls1-syscon:
58*84943d6fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
59*84943d6fSEmmanuel Vadot    description:
60*84943d6fSEmmanuel Vadot      Phandle to the syscon containing some extra configurations
61*84943d6fSEmmanuel Vadot      including PHY interface mode.
62*84943d6fSEmmanuel Vadot
63*84943d6fSEmmanuel Vadot  phy-mode:
64*84943d6fSEmmanuel Vadot    enum:
65*84943d6fSEmmanuel Vadot      - mii
66*84943d6fSEmmanuel Vadot      - rmii
67*84943d6fSEmmanuel Vadot
68*84943d6fSEmmanuel Vadotrequired:
69*84943d6fSEmmanuel Vadot  - compatible
70*84943d6fSEmmanuel Vadot  - reg
71*84943d6fSEmmanuel Vadot  - clocks
72*84943d6fSEmmanuel Vadot  - clock-names
73*84943d6fSEmmanuel Vadot  - interrupts
74*84943d6fSEmmanuel Vadot  - interrupt-names
75*84943d6fSEmmanuel Vadot  - loongson,ls1-syscon
76*84943d6fSEmmanuel Vadot
77*84943d6fSEmmanuel VadotallOf:
78*84943d6fSEmmanuel Vadot  - $ref: snps,dwmac.yaml#
79*84943d6fSEmmanuel Vadot
80*84943d6fSEmmanuel VadotunevaluatedProperties: false
81*84943d6fSEmmanuel Vadot
82*84943d6fSEmmanuel Vadotexamples:
83*84943d6fSEmmanuel Vadot  - |
84*84943d6fSEmmanuel Vadot    #include <dt-bindings/clock/loongson,ls1x-clk.h>
85*84943d6fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
86*84943d6fSEmmanuel Vadot
87*84943d6fSEmmanuel Vadot    emac: ethernet@1fe10000 {
88*84943d6fSEmmanuel Vadot        compatible = "loongson,ls1c-emac", "snps,dwmac-3.50a";
89*84943d6fSEmmanuel Vadot        reg = <0x1fe10000 0x10000>;
90*84943d6fSEmmanuel Vadot
91*84943d6fSEmmanuel Vadot        clocks = <&clkc LS1X_CLKID_AHB>;
92*84943d6fSEmmanuel Vadot        clock-names = "stmmaceth";
93*84943d6fSEmmanuel Vadot
94*84943d6fSEmmanuel Vadot        interrupt-parent = <&intc1>;
95*84943d6fSEmmanuel Vadot        interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
96*84943d6fSEmmanuel Vadot        interrupt-names = "macirq";
97*84943d6fSEmmanuel Vadot
98*84943d6fSEmmanuel Vadot        loongson,ls1-syscon = <&syscon>;
99*84943d6fSEmmanuel Vadot
100*84943d6fSEmmanuel Vadot        phy-handle = <&phy0>;
101*84943d6fSEmmanuel Vadot        phy-mode = "mii";
102*84943d6fSEmmanuel Vadot        snps,pbl = <1>;
103*84943d6fSEmmanuel Vadot
104*84943d6fSEmmanuel Vadot        mdio {
105*84943d6fSEmmanuel Vadot            #address-cells = <1>;
106*84943d6fSEmmanuel Vadot            #size-cells = <0>;
107*84943d6fSEmmanuel Vadot            compatible = "snps,dwmac-mdio";
108*84943d6fSEmmanuel Vadot
109*84943d6fSEmmanuel Vadot            phy0: ethernet-phy@13 {
110*84943d6fSEmmanuel Vadot                reg = <0x13>;
111*84943d6fSEmmanuel Vadot            };
112*84943d6fSEmmanuel Vadot        };
113*84943d6fSEmmanuel Vadot    };
114