xref: /linux/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml (revision 8be4d31cb8aaeea27bde4b7ddb26e28a89062ebf)
1*6a971e48SInochi Amaoto# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*6a971e48SInochi Amaoto%YAML 1.2
3*6a971e48SInochi Amaoto---
4*6a971e48SInochi Amaoto$id: http://devicetree.org/schemas/net/sophgo,cv1800b-dwmac.yaml#
5*6a971e48SInochi Amaoto$schema: http://devicetree.org/meta-schemas/core.yaml#
6*6a971e48SInochi Amaoto
7*6a971e48SInochi Amaototitle: Sophgo CV1800B DWMAC glue layer
8*6a971e48SInochi Amaoto
9*6a971e48SInochi Amaotomaintainers:
10*6a971e48SInochi Amaoto  - Inochi Amaoto <inochiama@gmail.com>
11*6a971e48SInochi Amaoto
12*6a971e48SInochi Amaotoselect:
13*6a971e48SInochi Amaoto  properties:
14*6a971e48SInochi Amaoto    compatible:
15*6a971e48SInochi Amaoto      contains:
16*6a971e48SInochi Amaoto        enum:
17*6a971e48SInochi Amaoto          - sophgo,cv1800b-dwmac
18*6a971e48SInochi Amaoto  required:
19*6a971e48SInochi Amaoto    - compatible
20*6a971e48SInochi Amaoto
21*6a971e48SInochi Amaotoproperties:
22*6a971e48SInochi Amaoto  compatible:
23*6a971e48SInochi Amaoto    items:
24*6a971e48SInochi Amaoto      - const: sophgo,cv1800b-dwmac
25*6a971e48SInochi Amaoto      - const: snps,dwmac-3.70a
26*6a971e48SInochi Amaoto
27*6a971e48SInochi Amaoto  reg:
28*6a971e48SInochi Amaoto    maxItems: 1
29*6a971e48SInochi Amaoto
30*6a971e48SInochi Amaoto  clocks:
31*6a971e48SInochi Amaoto    items:
32*6a971e48SInochi Amaoto      - description: GMAC main clock
33*6a971e48SInochi Amaoto      - description: PTP clock
34*6a971e48SInochi Amaoto
35*6a971e48SInochi Amaoto  clock-names:
36*6a971e48SInochi Amaoto    items:
37*6a971e48SInochi Amaoto      - const: stmmaceth
38*6a971e48SInochi Amaoto      - const: ptp_ref
39*6a971e48SInochi Amaoto
40*6a971e48SInochi Amaoto  interrupts:
41*6a971e48SInochi Amaoto    maxItems: 1
42*6a971e48SInochi Amaoto
43*6a971e48SInochi Amaoto  interrupt-names:
44*6a971e48SInochi Amaoto    maxItems: 1
45*6a971e48SInochi Amaoto
46*6a971e48SInochi Amaoto  resets:
47*6a971e48SInochi Amaoto    maxItems: 1
48*6a971e48SInochi Amaoto
49*6a971e48SInochi Amaoto  reset-names:
50*6a971e48SInochi Amaoto    const: stmmaceth
51*6a971e48SInochi Amaoto
52*6a971e48SInochi Amaotorequired:
53*6a971e48SInochi Amaoto  - compatible
54*6a971e48SInochi Amaoto  - reg
55*6a971e48SInochi Amaoto  - clocks
56*6a971e48SInochi Amaoto  - clock-names
57*6a971e48SInochi Amaoto  - interrupts
58*6a971e48SInochi Amaoto  - interrupt-names
59*6a971e48SInochi Amaoto  - resets
60*6a971e48SInochi Amaoto  - reset-names
61*6a971e48SInochi Amaoto
62*6a971e48SInochi AmaotoallOf:
63*6a971e48SInochi Amaoto  - $ref: snps,dwmac.yaml#
64*6a971e48SInochi Amaoto
65*6a971e48SInochi AmaotounevaluatedProperties: false
66*6a971e48SInochi Amaoto
67*6a971e48SInochi Amaotoexamples:
68*6a971e48SInochi Amaoto  - |
69*6a971e48SInochi Amaoto    #include <dt-bindings/interrupt-controller/irq.h>
70*6a971e48SInochi Amaoto
71*6a971e48SInochi Amaoto    ethernet@4070000 {
72*6a971e48SInochi Amaoto      compatible = "sophgo,cv1800b-dwmac", "snps,dwmac-3.70a";
73*6a971e48SInochi Amaoto      reg = <0x04070000 0x10000>;
74*6a971e48SInochi Amaoto      clocks = <&clk 35>, <&clk 36>;
75*6a971e48SInochi Amaoto      clock-names = "stmmaceth", "ptp_ref";
76*6a971e48SInochi Amaoto      interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
77*6a971e48SInochi Amaoto      interrupt-names = "macirq";
78*6a971e48SInochi Amaoto      phy-handle = <&internal_ephy>;
79*6a971e48SInochi Amaoto      phy-mode = "internal";
80*6a971e48SInochi Amaoto      resets = <&rst 12>;
81*6a971e48SInochi Amaoto      reset-names = "stmmaceth";
82*6a971e48SInochi Amaoto      rx-fifo-depth = <8192>;
83*6a971e48SInochi Amaoto      tx-fifo-depth = <8192>;
84*6a971e48SInochi Amaoto      snps,multicast-filter-bins = <0>;
85*6a971e48SInochi Amaoto      snps,perfect-filter-entries = <1>;
86*6a971e48SInochi Amaoto      snps,aal;
87*6a971e48SInochi Amaoto      snps,txpbl = <8>;
88*6a971e48SInochi Amaoto      snps,rxpbl = <8>;
89*6a971e48SInochi Amaoto      snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
90*6a971e48SInochi Amaoto      snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
91*6a971e48SInochi Amaoto      snps,axi-config = <&gmac0_stmmac_axi_setup>;
92*6a971e48SInochi Amaoto
93*6a971e48SInochi Amaoto      mdio {
94*6a971e48SInochi Amaoto        compatible = "snps,dwmac-mdio";
95*6a971e48SInochi Amaoto        #address-cells = <1>;
96*6a971e48SInochi Amaoto        #size-cells = <0>;
97*6a971e48SInochi Amaoto      };
98*6a971e48SInochi Amaoto
99*6a971e48SInochi Amaoto      gmac0_mtl_rx_setup: rx-queues-config {
100*6a971e48SInochi Amaoto        snps,rx-queues-to-use = <1>;
101*6a971e48SInochi Amaoto        queue0 {};
102*6a971e48SInochi Amaoto      };
103*6a971e48SInochi Amaoto
104*6a971e48SInochi Amaoto      gmac0_mtl_tx_setup: tx-queues-config {
105*6a971e48SInochi Amaoto        snps,tx-queues-to-use = <1>;
106*6a971e48SInochi Amaoto        queue0 {};
107*6a971e48SInochi Amaoto      };
108*6a971e48SInochi Amaoto
109*6a971e48SInochi Amaoto      gmac0_stmmac_axi_setup: stmmac-axi-config {
110*6a971e48SInochi Amaoto        snps,blen = <16 8 4 0 0 0 0>;
111*6a971e48SInochi Amaoto        snps,rd_osr_lmt = <2>;
112*6a971e48SInochi Amaoto        snps,wr_osr_lmt = <1>;
113*6a971e48SInochi Amaoto      };
114*6a971e48SInochi Amaoto    };
115