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 <neil.armstrong@linaro.org> 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 items: 47 - description: GMAC main clock 48 - description: First parent clock of the internal mux 49 - description: Second parent clock of the internal mux 50 - description: The clock which drives the timing adjustment logic 51 52 clock-names: 53 minItems: 3 54 items: 55 - const: stmmaceth 56 - const: clkin0 57 - const: clkin1 58 - const: timing-adjustment 59 60 amlogic,tx-delay-ns: 61 $ref: /schemas/types.yaml#/definitions/uint32 62 description: 63 The internal RGMII TX clock delay (provided by this driver) in 64 nanoseconds. Allowed values are 0ns, 2ns, 4ns, 6ns. 65 When phy-mode is set to "rgmii" then the TX delay should be 66 explicitly configured. When not configured a fallback of 2ns is 67 used. When the phy-mode is set to either "rgmii-id" or "rgmii-txid" 68 the TX clock delay is already provided by the PHY. In that case 69 this property should be set to 0ns (which disables the TX clock 70 delay in the MAC to prevent the clock from going off because both 71 PHY and MAC are adding a delay). 72 Any configuration is ignored when the phy-mode is set to "rmii". 73 74 amlogic,rx-delay-ns: 75 deprecated: true 76 enum: 77 - 0 78 - 2 79 default: 0 80 description: 81 The internal RGMII RX clock delay in nanoseconds. Deprecated, use 82 rx-internal-delay-ps instead. 83 84 rx-internal-delay-ps: 85 default: 0 86 87 - if: 88 properties: 89 compatible: 90 contains: 91 enum: 92 - amlogic,meson8b-dwmac 93 - amlogic,meson8m2-dwmac 94 - amlogic,meson-gxbb-dwmac 95 - amlogic,meson-axg-dwmac 96 then: 97 properties: 98 rx-internal-delay-ps: 99 enum: 100 - 0 101 - 2000 102 103 - if: 104 properties: 105 compatible: 106 contains: 107 enum: 108 - amlogic,meson-g12a-dwmac 109 then: 110 properties: 111 rx-internal-delay-ps: 112 enum: 113 - 0 114 - 200 115 - 400 116 - 600 117 - 800 118 - 1000 119 - 1200 120 - 1400 121 - 1600 122 - 1800 123 - 2000 124 - 2200 125 - 2400 126 - 2600 127 - 2800 128 - 3000 129 130properties: 131 compatible: 132 additionalItems: true 133 maxItems: 3 134 items: 135 - enum: 136 - amlogic,meson6-dwmac 137 - amlogic,meson8b-dwmac 138 - amlogic,meson8m2-dwmac 139 - amlogic,meson-gxbb-dwmac 140 - amlogic,meson-axg-dwmac 141 - amlogic,meson-g12a-dwmac 142 contains: 143 enum: 144 - snps,dwmac-3.70a 145 - snps,dwmac 146 147 reg: 148 items: 149 - description: 150 The first register range should be the one of the DWMAC controller 151 - description: 152 The second range is is for the Amlogic specific configuration 153 (for example the PRG_ETHERNET register range on Meson8b and newer) 154 155required: 156 - compatible 157 - reg 158 - interrupts 159 - interrupt-names 160 - clocks 161 - clock-names 162 - phy-mode 163 164unevaluatedProperties: false 165 166examples: 167 - | 168 ethmac: ethernet@c9410000 { 169 compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac"; 170 reg = <0xc9410000 0x10000>, <0xc8834540 0x8>; 171 interrupts = <8>; 172 interrupt-names = "macirq"; 173 clocks = <&clk_eth>, <&clk_fclk_div2>, <&clk_mpll2>, <&clk_fclk_div2>; 174 clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; 175 phy-mode = "rgmii"; 176 }; 177