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