102e98ce3SBhupesh Sharma# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
202e98ce3SBhupesh Sharma%YAML 1.2
302e98ce3SBhupesh Sharma---
402e98ce3SBhupesh Sharma$id: http://devicetree.org/schemas/net/qcom,ethqos.yaml#
502e98ce3SBhupesh Sharma$schema: http://devicetree.org/meta-schemas/core.yaml#
602e98ce3SBhupesh Sharma
702e98ce3SBhupesh Sharmatitle: Qualcomm Ethernet ETHQOS device
802e98ce3SBhupesh Sharma
902e98ce3SBhupesh Sharmamaintainers:
1002e98ce3SBhupesh Sharma  - Bhupesh Sharma <bhupesh.sharma@linaro.org>
1102e98ce3SBhupesh Sharma
1202e98ce3SBhupesh Sharmadescription:
1302e98ce3SBhupesh Sharma  dwmmac based Qualcomm ethernet devices which support Gigabit
1402e98ce3SBhupesh Sharma  ethernet (version v2.3.0 and onwards).
1502e98ce3SBhupesh Sharma
1602e98ce3SBhupesh SharmaallOf:
1702e98ce3SBhupesh Sharma  - $ref: snps,dwmac.yaml#
1802e98ce3SBhupesh Sharma
1902e98ce3SBhupesh Sharmaproperties:
2002e98ce3SBhupesh Sharma  compatible:
2102e98ce3SBhupesh Sharma    enum:
2202e98ce3SBhupesh Sharma      - qcom,qcs404-ethqos
23*25926a70SAndrew Halaney      - qcom,sc8280xp-ethqos
2402e98ce3SBhupesh Sharma      - qcom,sm8150-ethqos
2502e98ce3SBhupesh Sharma
2602e98ce3SBhupesh Sharma  reg:
2702e98ce3SBhupesh Sharma    maxItems: 2
2802e98ce3SBhupesh Sharma
2902e98ce3SBhupesh Sharma  reg-names:
3002e98ce3SBhupesh Sharma    items:
3102e98ce3SBhupesh Sharma      - const: stmmaceth
3202e98ce3SBhupesh Sharma      - const: rgmii
3302e98ce3SBhupesh Sharma
3402e98ce3SBhupesh Sharma  interrupts:
3502e98ce3SBhupesh Sharma    items:
3602e98ce3SBhupesh Sharma      - description: Combined signal for various interrupt events
3702e98ce3SBhupesh Sharma      - description: The interrupt that occurs when Rx exits the LPI state
3802e98ce3SBhupesh Sharma
3902e98ce3SBhupesh Sharma  interrupt-names:
4002e98ce3SBhupesh Sharma    items:
4102e98ce3SBhupesh Sharma      - const: macirq
4202e98ce3SBhupesh Sharma      - const: eth_lpi
4302e98ce3SBhupesh Sharma
4402e98ce3SBhupesh Sharma  clocks:
4502e98ce3SBhupesh Sharma    maxItems: 4
4602e98ce3SBhupesh Sharma
4702e98ce3SBhupesh Sharma  clock-names:
4802e98ce3SBhupesh Sharma    items:
4902e98ce3SBhupesh Sharma      - const: stmmaceth
5002e98ce3SBhupesh Sharma      - const: pclk
5102e98ce3SBhupesh Sharma      - const: ptp_ref
5202e98ce3SBhupesh Sharma      - const: rgmii
5302e98ce3SBhupesh Sharma
5402e98ce3SBhupesh Sharma  iommus:
5502e98ce3SBhupesh Sharma    maxItems: 1
5602e98ce3SBhupesh Sharma
5702e98ce3SBhupesh Sharmarequired:
5802e98ce3SBhupesh Sharma  - compatible
5902e98ce3SBhupesh Sharma  - clocks
6002e98ce3SBhupesh Sharma  - clock-names
6102e98ce3SBhupesh Sharma  - reg-names
6202e98ce3SBhupesh Sharma
6302e98ce3SBhupesh SharmaunevaluatedProperties: false
6402e98ce3SBhupesh Sharma
6502e98ce3SBhupesh Sharmaexamples:
6602e98ce3SBhupesh Sharma  - |
6702e98ce3SBhupesh Sharma    #include <dt-bindings/interrupt-controller/arm-gic.h>
6802e98ce3SBhupesh Sharma    #include <dt-bindings/clock/qcom,gcc-qcs404.h>
6902e98ce3SBhupesh Sharma    #include <dt-bindings/gpio/gpio.h>
7002e98ce3SBhupesh Sharma
7102e98ce3SBhupesh Sharma    ethernet: ethernet@7a80000 {
7202e98ce3SBhupesh Sharma      compatible = "qcom,qcs404-ethqos";
7302e98ce3SBhupesh Sharma      reg = <0x07a80000 0x10000>,
7402e98ce3SBhupesh Sharma            <0x07a96000 0x100>;
7502e98ce3SBhupesh Sharma      reg-names = "stmmaceth", "rgmii";
7602e98ce3SBhupesh Sharma      clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
7702e98ce3SBhupesh Sharma      clocks = <&gcc GCC_ETH_AXI_CLK>,
7802e98ce3SBhupesh Sharma               <&gcc GCC_ETH_SLAVE_AHB_CLK>,
7902e98ce3SBhupesh Sharma               <&gcc GCC_ETH_PTP_CLK>,
8002e98ce3SBhupesh Sharma               <&gcc GCC_ETH_RGMII_CLK>;
8102e98ce3SBhupesh Sharma      interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
8202e98ce3SBhupesh Sharma                   <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
8302e98ce3SBhupesh Sharma      interrupt-names = "macirq", "eth_lpi";
8402e98ce3SBhupesh Sharma
8502e98ce3SBhupesh Sharma      rx-fifo-depth = <4096>;
8602e98ce3SBhupesh Sharma      tx-fifo-depth = <4096>;
8702e98ce3SBhupesh Sharma
8802e98ce3SBhupesh Sharma      snps,tso;
8902e98ce3SBhupesh Sharma      snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
9002e98ce3SBhupesh Sharma      snps,reset-active-low;
9102e98ce3SBhupesh Sharma      snps,reset-delays-us = <0 10000 10000>;
9202e98ce3SBhupesh Sharma
9302e98ce3SBhupesh Sharma      pinctrl-names = "default";
9402e98ce3SBhupesh Sharma      pinctrl-0 = <&ethernet_defaults>;
9502e98ce3SBhupesh Sharma
9602e98ce3SBhupesh Sharma      phy-handle = <&phy1>;
9702e98ce3SBhupesh Sharma      phy-mode = "rgmii";
9802e98ce3SBhupesh Sharma      mdio {
9902e98ce3SBhupesh Sharma        #address-cells = <0x1>;
10002e98ce3SBhupesh Sharma        #size-cells = <0x0>;
10102e98ce3SBhupesh Sharma
10202e98ce3SBhupesh Sharma        compatible = "snps,dwmac-mdio";
10302e98ce3SBhupesh Sharma        phy1: phy@4 {
10402e98ce3SBhupesh Sharma          compatible = "ethernet-phy-ieee802.3-c22";
10502e98ce3SBhupesh Sharma          device_type = "ethernet-phy";
10602e98ce3SBhupesh Sharma          reg = <0x4>;
10702e98ce3SBhupesh Sharma
10802e98ce3SBhupesh Sharma          #phy-cells = <0>;
10902e98ce3SBhupesh Sharma        };
11002e98ce3SBhupesh Sharma      };
11102e98ce3SBhupesh Sharma    };
112