blob: 69a337c7e345eac4b191bee816beb29f00d85b1f [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/qcom,ethqos.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Ethernet ETHQOS device
8
9maintainers:
10 - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11
12description:
13 dwmmac based Qualcomm ethernet devices which support Gigabit
14 ethernet (version v2.3.0 and onwards).
15
16allOf:
17 - $ref: snps,dwmac.yaml#
18
19properties:
20 compatible:
21 enum:
22 - qcom,qcs404-ethqos
23 - qcom,sa8775p-ethqos
24 - qcom,sc8280xp-ethqos
25 - qcom,sm8150-ethqos
26
27 reg:
28 maxItems: 2
29
30 reg-names:
31 items:
32 - const: stmmaceth
33 - const: rgmii
34
35 interrupts:
36 minItems: 1
37 items:
38 - description: Combined signal for various interrupt events
39 - description: The interrupt that occurs when Rx exits the LPI state
Tom Rini6bb92fc2024-05-20 09:54:58 -060040 - description: The interrupt that occurs when HW safety error triggered
Tom Rini53633a82024-02-29 12:33:36 -050041
42 interrupt-names:
43 minItems: 1
44 items:
45 - const: macirq
Tom Rini6bb92fc2024-05-20 09:54:58 -060046 - enum: [eth_lpi, sfty]
47 - const: sfty
Tom Rini53633a82024-02-29 12:33:36 -050048
49 clocks:
50 maxItems: 4
51
52 clock-names:
53 items:
54 - const: stmmaceth
55 - const: pclk
56 - const: ptp_ref
57 - enum:
58 - rgmii
59 - phyaux
60
61 iommus:
62 maxItems: 1
63
64 phys: true
65
66 phy-names:
67 const: serdes
68
69required:
70 - compatible
71 - clocks
72 - clock-names
73 - reg-names
74
75unevaluatedProperties: false
76
77examples:
78 - |
79 #include <dt-bindings/interrupt-controller/arm-gic.h>
80 #include <dt-bindings/clock/qcom,gcc-qcs404.h>
81 #include <dt-bindings/gpio/gpio.h>
82
83 ethernet: ethernet@7a80000 {
84 compatible = "qcom,qcs404-ethqos";
85 reg = <0x07a80000 0x10000>,
86 <0x07a96000 0x100>;
87 reg-names = "stmmaceth", "rgmii";
88 clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
89 clocks = <&gcc GCC_ETH_AXI_CLK>,
90 <&gcc GCC_ETH_SLAVE_AHB_CLK>,
91 <&gcc GCC_ETH_PTP_CLK>,
92 <&gcc GCC_ETH_RGMII_CLK>;
93 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
Tom Rini6bb92fc2024-05-20 09:54:58 -060094 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
95 <GIC_SPI 782 IRQ_TYPE_LEVEL_HIGH>;
96 interrupt-names = "macirq", "eth_lpi", "sfty";
Tom Rini53633a82024-02-29 12:33:36 -050097
98 rx-fifo-depth = <4096>;
99 tx-fifo-depth = <4096>;
100
101 snps,tso;
102 snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
103 snps,reset-active-low;
104 snps,reset-delays-us = <0 10000 10000>;
105
106 pinctrl-names = "default";
107 pinctrl-0 = <&ethernet_defaults>;
108
109 phy-handle = <&phy1>;
110 phy-mode = "rgmii";
111 mdio {
112 #address-cells = <0x1>;
113 #size-cells = <0x0>;
114
115 compatible = "snps,dwmac-mdio";
116 phy1: phy@4 {
117 compatible = "ethernet-phy-ieee802.3-c22";
118 device_type = "ethernet-phy";
119 reg = <0x4>;
120
121 #phy-cells = <0>;
122 };
123 };
124 };