1*02e98ce3SBhupesh Sharma# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2*02e98ce3SBhupesh Sharma%YAML 1.2
3*02e98ce3SBhupesh Sharma---
4*02e98ce3SBhupesh Sharma$id: http://devicetree.org/schemas/net/qcom,ethqos.yaml#
5*02e98ce3SBhupesh Sharma$schema: http://devicetree.org/meta-schemas/core.yaml#
6*02e98ce3SBhupesh Sharma
7*02e98ce3SBhupesh Sharmatitle: Qualcomm Ethernet ETHQOS device
8*02e98ce3SBhupesh Sharma
9*02e98ce3SBhupesh Sharmamaintainers:
10*02e98ce3SBhupesh Sharma  - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11*02e98ce3SBhupesh Sharma
12*02e98ce3SBhupesh Sharmadescription:
13*02e98ce3SBhupesh Sharma  dwmmac based Qualcomm ethernet devices which support Gigabit
14*02e98ce3SBhupesh Sharma  ethernet (version v2.3.0 and onwards).
15*02e98ce3SBhupesh Sharma
16*02e98ce3SBhupesh SharmaallOf:
17*02e98ce3SBhupesh Sharma  - $ref: snps,dwmac.yaml#
18*02e98ce3SBhupesh Sharma
19*02e98ce3SBhupesh Sharmaproperties:
20*02e98ce3SBhupesh Sharma  compatible:
21*02e98ce3SBhupesh Sharma    enum:
22*02e98ce3SBhupesh Sharma      - qcom,qcs404-ethqos
23*02e98ce3SBhupesh Sharma      - qcom,sm8150-ethqos
24*02e98ce3SBhupesh Sharma
25*02e98ce3SBhupesh Sharma  reg:
26*02e98ce3SBhupesh Sharma    maxItems: 2
27*02e98ce3SBhupesh Sharma
28*02e98ce3SBhupesh Sharma  reg-names:
29*02e98ce3SBhupesh Sharma    items:
30*02e98ce3SBhupesh Sharma      - const: stmmaceth
31*02e98ce3SBhupesh Sharma      - const: rgmii
32*02e98ce3SBhupesh Sharma
33*02e98ce3SBhupesh Sharma  interrupts:
34*02e98ce3SBhupesh Sharma    items:
35*02e98ce3SBhupesh Sharma      - description: Combined signal for various interrupt events
36*02e98ce3SBhupesh Sharma      - description: The interrupt that occurs when Rx exits the LPI state
37*02e98ce3SBhupesh Sharma
38*02e98ce3SBhupesh Sharma  interrupt-names:
39*02e98ce3SBhupesh Sharma    items:
40*02e98ce3SBhupesh Sharma      - const: macirq
41*02e98ce3SBhupesh Sharma      - const: eth_lpi
42*02e98ce3SBhupesh Sharma
43*02e98ce3SBhupesh Sharma  clocks:
44*02e98ce3SBhupesh Sharma    maxItems: 4
45*02e98ce3SBhupesh Sharma
46*02e98ce3SBhupesh Sharma  clock-names:
47*02e98ce3SBhupesh Sharma    items:
48*02e98ce3SBhupesh Sharma      - const: stmmaceth
49*02e98ce3SBhupesh Sharma      - const: pclk
50*02e98ce3SBhupesh Sharma      - const: ptp_ref
51*02e98ce3SBhupesh Sharma      - const: rgmii
52*02e98ce3SBhupesh Sharma
53*02e98ce3SBhupesh Sharma  iommus:
54*02e98ce3SBhupesh Sharma    maxItems: 1
55*02e98ce3SBhupesh Sharma
56*02e98ce3SBhupesh Sharmarequired:
57*02e98ce3SBhupesh Sharma  - compatible
58*02e98ce3SBhupesh Sharma  - clocks
59*02e98ce3SBhupesh Sharma  - clock-names
60*02e98ce3SBhupesh Sharma  - reg-names
61*02e98ce3SBhupesh Sharma
62*02e98ce3SBhupesh SharmaunevaluatedProperties: false
63*02e98ce3SBhupesh Sharma
64*02e98ce3SBhupesh Sharmaexamples:
65*02e98ce3SBhupesh Sharma  - |
66*02e98ce3SBhupesh Sharma    #include <dt-bindings/interrupt-controller/arm-gic.h>
67*02e98ce3SBhupesh Sharma    #include <dt-bindings/clock/qcom,gcc-qcs404.h>
68*02e98ce3SBhupesh Sharma    #include <dt-bindings/gpio/gpio.h>
69*02e98ce3SBhupesh Sharma
70*02e98ce3SBhupesh Sharma    ethernet: ethernet@7a80000 {
71*02e98ce3SBhupesh Sharma      compatible = "qcom,qcs404-ethqos";
72*02e98ce3SBhupesh Sharma      reg = <0x07a80000 0x10000>,
73*02e98ce3SBhupesh Sharma            <0x07a96000 0x100>;
74*02e98ce3SBhupesh Sharma      reg-names = "stmmaceth", "rgmii";
75*02e98ce3SBhupesh Sharma      clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
76*02e98ce3SBhupesh Sharma      clocks = <&gcc GCC_ETH_AXI_CLK>,
77*02e98ce3SBhupesh Sharma               <&gcc GCC_ETH_SLAVE_AHB_CLK>,
78*02e98ce3SBhupesh Sharma               <&gcc GCC_ETH_PTP_CLK>,
79*02e98ce3SBhupesh Sharma               <&gcc GCC_ETH_RGMII_CLK>;
80*02e98ce3SBhupesh Sharma      interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
81*02e98ce3SBhupesh Sharma                   <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
82*02e98ce3SBhupesh Sharma      interrupt-names = "macirq", "eth_lpi";
83*02e98ce3SBhupesh Sharma
84*02e98ce3SBhupesh Sharma      rx-fifo-depth = <4096>;
85*02e98ce3SBhupesh Sharma      tx-fifo-depth = <4096>;
86*02e98ce3SBhupesh Sharma
87*02e98ce3SBhupesh Sharma      snps,tso;
88*02e98ce3SBhupesh Sharma      snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
89*02e98ce3SBhupesh Sharma      snps,reset-active-low;
90*02e98ce3SBhupesh Sharma      snps,reset-delays-us = <0 10000 10000>;
91*02e98ce3SBhupesh Sharma
92*02e98ce3SBhupesh Sharma      pinctrl-names = "default";
93*02e98ce3SBhupesh Sharma      pinctrl-0 = <&ethernet_defaults>;
94*02e98ce3SBhupesh Sharma
95*02e98ce3SBhupesh Sharma      phy-handle = <&phy1>;
96*02e98ce3SBhupesh Sharma      phy-mode = "rgmii";
97*02e98ce3SBhupesh Sharma      mdio {
98*02e98ce3SBhupesh Sharma        #address-cells = <0x1>;
99*02e98ce3SBhupesh Sharma        #size-cells = <0x0>;
100*02e98ce3SBhupesh Sharma
101*02e98ce3SBhupesh Sharma        compatible = "snps,dwmac-mdio";
102*02e98ce3SBhupesh Sharma        phy1: phy@4 {
103*02e98ce3SBhupesh Sharma          compatible = "ethernet-phy-ieee802.3-c22";
104*02e98ce3SBhupesh Sharma          device_type = "ethernet-phy";
105*02e98ce3SBhupesh Sharma          reg = <0x4>;
106*02e98ce3SBhupesh Sharma
107*02e98ce3SBhupesh Sharma          #phy-cells = <0>;
108*02e98ce3SBhupesh Sharma        };
109*02e98ce3SBhupesh Sharma      };
110*02e98ce3SBhupesh Sharma    };
111