xref: /linux/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml (revision 68993ced0f618e36cf33388f1e50223e5e6e78cc)
1888bd0ecSShangjuan Wei# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2888bd0ecSShangjuan Wei%YAML 1.2
3888bd0ecSShangjuan Wei---
4888bd0ecSShangjuan Wei$id: http://devicetree.org/schemas/net/eswin,eic7700-eth.yaml#
5888bd0ecSShangjuan Wei$schema: http://devicetree.org/meta-schemas/core.yaml#
6888bd0ecSShangjuan Wei
7888bd0ecSShangjuan Weititle: Eswin EIC7700 SOC Eth Controller
8888bd0ecSShangjuan Wei
9888bd0ecSShangjuan Weimaintainers:
10888bd0ecSShangjuan Wei  - Shuang Liang <liangshuang@eswincomputing.com>
11888bd0ecSShangjuan Wei  - Zhi Li <lizhi2@eswincomputing.com>
12888bd0ecSShangjuan Wei  - Shangjuan Wei <weishangjuan@eswincomputing.com>
13888bd0ecSShangjuan Wei
14888bd0ecSShangjuan Weidescription:
15888bd0ecSShangjuan Wei  Platform glue layer implementation for STMMAC Ethernet driver.
16888bd0ecSShangjuan Wei
17888bd0ecSShangjuan Weiselect:
18888bd0ecSShangjuan Wei  properties:
19888bd0ecSShangjuan Wei    compatible:
20888bd0ecSShangjuan Wei      contains:
21888bd0ecSShangjuan Wei        enum:
22888bd0ecSShangjuan Wei          - eswin,eic7700-qos-eth
23888bd0ecSShangjuan Wei  required:
24888bd0ecSShangjuan Wei    - compatible
25888bd0ecSShangjuan Wei
26888bd0ecSShangjuan WeiallOf:
27888bd0ecSShangjuan Wei  - $ref: snps,dwmac.yaml#
28888bd0ecSShangjuan Wei
29888bd0ecSShangjuan Weiproperties:
30888bd0ecSShangjuan Wei  compatible:
31888bd0ecSShangjuan Wei    items:
32888bd0ecSShangjuan Wei      - const: eswin,eic7700-qos-eth
33888bd0ecSShangjuan Wei      - const: snps,dwmac-5.20
34888bd0ecSShangjuan Wei
35888bd0ecSShangjuan Wei  reg:
36888bd0ecSShangjuan Wei    maxItems: 1
37888bd0ecSShangjuan Wei
38888bd0ecSShangjuan Wei  interrupts:
39888bd0ecSShangjuan Wei    maxItems: 1
40888bd0ecSShangjuan Wei
41888bd0ecSShangjuan Wei  interrupt-names:
42888bd0ecSShangjuan Wei    const: macirq
43888bd0ecSShangjuan Wei
44888bd0ecSShangjuan Wei  clocks:
45888bd0ecSShangjuan Wei    items:
46888bd0ecSShangjuan Wei      - description: AXI clock
47888bd0ecSShangjuan Wei      - description: Configuration clock
48888bd0ecSShangjuan Wei      - description: GMAC main clock
49888bd0ecSShangjuan Wei      - description: Tx clock
50888bd0ecSShangjuan Wei
51888bd0ecSShangjuan Wei  clock-names:
52888bd0ecSShangjuan Wei    items:
53888bd0ecSShangjuan Wei      - const: axi
54888bd0ecSShangjuan Wei      - const: cfg
55888bd0ecSShangjuan Wei      - const: stmmaceth
56888bd0ecSShangjuan Wei      - const: tx
57888bd0ecSShangjuan Wei
58888bd0ecSShangjuan Wei  resets:
59888bd0ecSShangjuan Wei    maxItems: 1
60888bd0ecSShangjuan Wei
61888bd0ecSShangjuan Wei  reset-names:
62888bd0ecSShangjuan Wei    items:
63888bd0ecSShangjuan Wei      - const: stmmaceth
64888bd0ecSShangjuan Wei
65888bd0ecSShangjuan Wei  rx-internal-delay-ps:
66888bd0ecSShangjuan Wei    enum: [0, 200, 600, 1200, 1600, 1800, 2000, 2200, 2400]
67888bd0ecSShangjuan Wei
68888bd0ecSShangjuan Wei  tx-internal-delay-ps:
69888bd0ecSShangjuan Wei    enum: [0, 200, 600, 1200, 1600, 1800, 2000, 2200, 2400]
70888bd0ecSShangjuan Wei
71888bd0ecSShangjuan Wei  eswin,hsp-sp-csr:
720567c84dSShangjuan Wei    description:
730567c84dSShangjuan Wei      HSP CSR is to control and get status of different high-speed peripherals
740567c84dSShangjuan Wei      (such as Ethernet, USB, SATA, etc.) via register, which can tune
750567c84dSShangjuan Wei      board-level's parameters of PHY, etc.
76*c36069c6SZhi Li
77*c36069c6SZhi Li      Additional background information about the High-Speed Subsystem
78*c36069c6SZhi Li      and the HSP CSR block is available in Chapter 10 ("High-Speed Interface")
79*c36069c6SZhi Li      of the EIC7700X SoC Technical Reference Manual, Part 4
80*c36069c6SZhi Li      (EIC7700X_SoC_Technical_Reference_Manual_Part4.pdf). The manual is
81*c36069c6SZhi Li      publicly available at
82*c36069c6SZhi Li      https://github.com/eswincomputing/EIC7700X-SoC-Technical-Reference-Manual/releases
83*c36069c6SZhi Li
84*c36069c6SZhi Li      This reference is provided for background information only.
85888bd0ecSShangjuan Wei    $ref: /schemas/types.yaml#/definitions/phandle-array
86888bd0ecSShangjuan Wei    items:
870567c84dSShangjuan Wei      - items:
88888bd0ecSShangjuan Wei          - description: Phandle to HSP(High-Speed Peripheral) device
89888bd0ecSShangjuan Wei          - description: Offset of phy control register for internal
90888bd0ecSShangjuan Wei                         or external clock selection
91888bd0ecSShangjuan Wei          - description: Offset of AXI clock controller Low-Power request
92888bd0ecSShangjuan Wei                         register
93888bd0ecSShangjuan Wei          - description: Offset of register controlling TX/RX clock delay
94*c36069c6SZhi Li          - description: Optional offset of register controlling TXD delay
95*c36069c6SZhi Li          - description: Optional offset of register controlling RXD delay
96888bd0ecSShangjuan Wei
97888bd0ecSShangjuan Weirequired:
98888bd0ecSShangjuan Wei  - compatible
99888bd0ecSShangjuan Wei  - reg
100888bd0ecSShangjuan Wei  - clocks
101888bd0ecSShangjuan Wei  - clock-names
102888bd0ecSShangjuan Wei  - interrupts
103888bd0ecSShangjuan Wei  - interrupt-names
104888bd0ecSShangjuan Wei  - phy-mode
105888bd0ecSShangjuan Wei  - resets
106888bd0ecSShangjuan Wei  - reset-names
107888bd0ecSShangjuan Wei  - rx-internal-delay-ps
108888bd0ecSShangjuan Wei  - tx-internal-delay-ps
109888bd0ecSShangjuan Wei  - eswin,hsp-sp-csr
110888bd0ecSShangjuan Wei
111888bd0ecSShangjuan WeiunevaluatedProperties: false
112888bd0ecSShangjuan Wei
113888bd0ecSShangjuan Weiexamples:
114888bd0ecSShangjuan Wei  - |
115888bd0ecSShangjuan Wei    ethernet@50400000 {
116888bd0ecSShangjuan Wei        compatible = "eswin,eic7700-qos-eth", "snps,dwmac-5.20";
117888bd0ecSShangjuan Wei        reg = <0x50400000 0x10000>;
118888bd0ecSShangjuan Wei        clocks = <&d0_clock 186>, <&d0_clock 171>, <&d0_clock 40>,
119888bd0ecSShangjuan Wei                <&d0_clock 193>;
120888bd0ecSShangjuan Wei        clock-names = "axi", "cfg", "stmmaceth", "tx";
121888bd0ecSShangjuan Wei        interrupt-parent = <&plic>;
122888bd0ecSShangjuan Wei        interrupts = <61>;
123888bd0ecSShangjuan Wei        interrupt-names = "macirq";
124888bd0ecSShangjuan Wei        phy-mode = "rgmii-id";
125888bd0ecSShangjuan Wei        phy-handle = <&phy0>;
126888bd0ecSShangjuan Wei        resets = <&reset 95>;
127888bd0ecSShangjuan Wei        reset-names = "stmmaceth";
128888bd0ecSShangjuan Wei        rx-internal-delay-ps = <200>;
129888bd0ecSShangjuan Wei        tx-internal-delay-ps = <200>;
130*c36069c6SZhi Li        eswin,hsp-sp-csr = <&hsp_sp_csr 0x100 0x108 0x118 0x114 0x11c>;
131888bd0ecSShangjuan Wei        snps,axi-config = <&stmmac_axi_setup>;
132888bd0ecSShangjuan Wei        snps,aal;
133888bd0ecSShangjuan Wei        snps,fixed-burst;
134888bd0ecSShangjuan Wei        snps,tso;
135888bd0ecSShangjuan Wei        stmmac_axi_setup: stmmac-axi-config {
136888bd0ecSShangjuan Wei            snps,blen = <0 0 0 0 16 8 4>;
137888bd0ecSShangjuan Wei            snps,rd_osr_lmt = <2>;
138888bd0ecSShangjuan Wei            snps,wr_osr_lmt = <2>;
139888bd0ecSShangjuan Wei        };
140888bd0ecSShangjuan Wei    };
141