1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2# Copyright 2019 BayLibre, SAS 3%YAML 1.2 4--- 5$id: "http://devicetree.org/schemas/net/amlogic,meson-dwmac.yaml#" 6$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 8title: Amlogic Meson DWMAC Ethernet controller 9 10maintainers: 11 - Neil Armstrong <narmstrong@baylibre.com> 12 - Martin Blumenstingl <martin.blumenstingl@googlemail.com> 13 14# We need a select here so we don't match all nodes with 'snps,dwmac' 15select: 16 properties: 17 compatible: 18 contains: 19 enum: 20 - amlogic,meson6-dwmac 21 - amlogic,meson8b-dwmac 22 - amlogic,meson8m2-dwmac 23 - amlogic,meson-gxbb-dwmac 24 - amlogic,meson-axg-dwmac 25 - amlogic,meson-g12a-dwmac 26 required: 27 - compatible 28 29allOf: 30 - $ref: "snps,dwmac.yaml#" 31 - if: 32 properties: 33 compatible: 34 contains: 35 enum: 36 - amlogic,meson8b-dwmac 37 - amlogic,meson8m2-dwmac 38 - amlogic,meson-gxbb-dwmac 39 - amlogic,meson-axg-dwmac 40 - amlogic,meson-g12a-dwmac 41 42 then: 43 properties: 44 clocks: 45 minItems: 3 46 maxItems: 4 47 items: 48 - description: GMAC main clock 49 - description: First parent clock of the internal mux 50 - description: Second parent clock of the internal mux 51 - description: The clock which drives the timing adjustment logic 52 53 clock-names: 54 minItems: 3 55 maxItems: 4 56 items: 57 - const: stmmaceth 58 - const: clkin0 59 - const: clkin1 60 - const: timing-adjustment 61 62 amlogic,tx-delay-ns: 63 $ref: /schemas/types.yaml#/definitions/uint32 64 description: 65 The internal RGMII TX clock delay (provided by this driver) in 66 nanoseconds. Allowed values are 0ns, 2ns, 4ns, 6ns. 67 When phy-mode is set to "rgmii" then the TX delay should be 68 explicitly configured. When not configured a fallback of 2ns is 69 used. When the phy-mode is set to either "rgmii-id" or "rgmii-txid" 70 the TX clock delay is already provided by the PHY. In that case 71 this property should be set to 0ns (which disables the TX clock 72 delay in the MAC to prevent the clock from going off because both 73 PHY and MAC are adding a delay). 74 Any configuration is ignored when the phy-mode is set to "rmii". 75 76 amlogic,rx-delay-ns: 77 enum: 78 - 0 79 - 2 80 default: 0 81 description: 82 The internal RGMII RX clock delay (provided by this IP block) in 83 nanoseconds. When phy-mode is set to "rgmii" then the RX delay 84 should be explicitly configured. When the phy-mode is set to 85 either "rgmii-id" or "rgmii-rxid" the RX clock delay is already 86 provided by the PHY. Any configuration is ignored when the 87 phy-mode is set to "rmii". 88 89properties: 90 compatible: 91 additionalItems: true 92 maxItems: 3 93 items: 94 - enum: 95 - amlogic,meson6-dwmac 96 - amlogic,meson8b-dwmac 97 - amlogic,meson8m2-dwmac 98 - amlogic,meson-gxbb-dwmac 99 - amlogic,meson-axg-dwmac 100 - amlogic,meson-g12a-dwmac 101 contains: 102 enum: 103 - snps,dwmac-3.70a 104 - snps,dwmac 105 106 reg: 107 items: 108 - description: 109 The first register range should be the one of the DWMAC controller 110 - description: 111 The second range is is for the Amlogic specific configuration 112 (for example the PRG_ETHERNET register range on Meson8b and newer) 113 114required: 115 - compatible 116 - reg 117 - interrupts 118 - interrupt-names 119 - clocks 120 - clock-names 121 - phy-mode 122 123unevaluatedProperties: false 124 125examples: 126 - | 127 ethmac: ethernet@c9410000 { 128 compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac"; 129 reg = <0xc9410000 0x10000>, <0xc8834540 0x8>; 130 interrupts = <8>; 131 interrupt-names = "macirq"; 132 clocks = <&clk_eth>, <&clk_fclk_div2>, <&clk_mpll2>, <&clk_fclk_div2>; 133 clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; 134 phy-mode = "rgmii"; 135 }; 136