376 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/renesas,etheravb.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Renesas Ethernet AVB8 9maintainers:10 - Sergei Shtylyov <sergei.shtylyov@gmail.com>11 12properties:13 compatible:14 oneOf:15 - items:16 - enum:17 - renesas,etheravb-r8a7742 # RZ/G1H18 - renesas,etheravb-r8a7743 # RZ/G1M19 - renesas,etheravb-r8a7744 # RZ/G1N20 - renesas,etheravb-r8a7745 # RZ/G1E21 - renesas,etheravb-r8a77470 # RZ/G1C22 - renesas,etheravb-r8a7790 # R-Car H223 - renesas,etheravb-r8a7791 # R-Car M2-W24 - renesas,etheravb-r8a7792 # R-Car V2H25 - renesas,etheravb-r8a7793 # R-Car M2-N26 - renesas,etheravb-r8a7794 # R-Car E227 - const: renesas,etheravb-rcar-gen2 # R-Car Gen2 and RZ/G128 29 - items:30 - enum:31 - renesas,etheravb-r8a774a1 # RZ/G2M32 - renesas,etheravb-r8a774b1 # RZ/G2N33 - renesas,etheravb-r8a774c0 # RZ/G2E34 - renesas,etheravb-r8a774e1 # RZ/G2H35 - renesas,etheravb-r8a7795 # R-Car H336 - renesas,etheravb-r8a7796 # R-Car M3-W37 - renesas,etheravb-r8a77961 # R-Car M3-W+38 - renesas,etheravb-r8a77965 # R-Car M3-N39 - renesas,etheravb-r8a77970 # R-Car V3M40 - renesas,etheravb-r8a77980 # R-Car V3H41 - renesas,etheravb-r8a77990 # R-Car E342 - renesas,etheravb-r8a77995 # R-Car D343 - const: renesas,etheravb-rcar-gen3 # R-Car Gen3 and RZ/G244 45 - items:46 - enum:47 - renesas,etheravb-r8a779a0 # R-Car V3U48 - renesas,etheravb-r8a779g0 # R-Car V4H49 - renesas,etheravb-r8a779h0 # R-Car V4M50 - const: renesas,etheravb-rcar-gen4 # R-Car Gen451 52 - items:53 - enum:54 - renesas,etheravb-r9a09g011 # RZ/V2M55 - const: renesas,etheravb-rzv2m # RZ/V2M compatible56 57 - items:58 - enum:59 - renesas,r9a07g043-gbeth # RZ/G2UL and RZ/Five60 - renesas,r9a07g044-gbeth # RZ/G2{L,LC}61 - renesas,r9a07g054-gbeth # RZ/V2L62 - renesas,r9a08g045-gbeth # RZ/G3S63 - const: renesas,rzg2l-gbeth # RZ/{G2L,G2UL,V2L} family64 65 reg:66 minItems: 167 items:68 - description: MAC register block69 - description: Stream buffer70 71 interrupts:72 minItems: 173 maxItems: 2974 75 interrupt-names:76 minItems: 177 maxItems: 2978 79 clocks:80 minItems: 181 maxItems: 382 83 clock-names:84 minItems: 185 maxItems: 386 87 iommus:88 maxItems: 189 90 power-domains:91 maxItems: 192 93 resets:94 maxItems: 195 96 phy-mode: true97 98 phy-handle: true99 100 '#address-cells':101 description: Number of address cells for the MDIO bus.102 const: 1103 deprecated: true104 105 '#size-cells':106 description: Number of size cells on the MDIO bus.107 const: 0108 deprecated: true109 110 mdio:111 $ref: /schemas/net/mdio.yaml#112 unevaluatedProperties: false113 114 renesas,no-ether-link:115 type: boolean116 description:117 Specify when a board does not provide a proper AVB_LINK signal.118 119 renesas,ether-link-active-low:120 type: boolean121 description:122 Specify when the AVB_LINK signal is active-low instead of normal123 active-high.124 125 rx-internal-delay-ps:126 enum: [0, 1800]127 128 tx-internal-delay-ps:129 enum: [0, 2000]130 131# In older bindings there where no mdio child-node to describe the MDIO bus132# and the PHY. To not fail older bindings accept any node with an address. New133# users should describe the PHY inside the mdio child-node.134patternProperties:135 "@[0-9a-f]$":136 type: object137 deprecated: true138 139required:140 - compatible141 - reg142 - interrupts143 - clocks144 - power-domains145 - resets146 - phy-mode147 - phy-handle148 149allOf:150 - $ref: ethernet-controller.yaml#151 152 - if:153 properties:154 compatible:155 contains:156 enum:157 - renesas,etheravb-rcar-gen2158 - renesas,etheravb-r8a7795159 - renesas,etheravb-r8a7796160 - renesas,etheravb-r8a77961161 - renesas,etheravb-r8a77965162 then:163 properties:164 reg:165 minItems: 2166 else:167 properties:168 reg:169 maxItems: 1170 171 - if:172 properties:173 compatible:174 contains:175 enum:176 - renesas,etheravb-rcar-gen2177 - renesas,rzg2l-gbeth178 then:179 properties:180 interrupts:181 minItems: 1182 maxItems: 3183 interrupt-names:184 minItems: 1185 items:186 - const: mux187 - const: fil188 - const: arp_ns189 rx-internal-delay-ps: false190 else:191 if:192 properties:193 compatible:194 contains:195 const: renesas,etheravb-rzv2m196 then:197 properties:198 interrupts:199 minItems: 29200 maxItems: 29201 interrupt-names:202 items:203 pattern: '^(ch(1?)[0-9])|ch20|ch21|dia|dib|err_a|err_b|mgmt_a|mgmt_b|line3$'204 rx-internal-delay-ps: false205 required:206 - interrupt-names207 else:208 properties:209 interrupts:210 minItems: 25211 maxItems: 25212 interrupt-names:213 items:214 pattern: '^ch[0-9]+$'215 required:216 - interrupt-names217 - rx-internal-delay-ps218 219 - if:220 properties:221 compatible:222 contains:223 enum:224 - renesas,etheravb-r8a774a1225 - renesas,etheravb-r8a774b1226 - renesas,etheravb-r8a774e1227 - renesas,etheravb-r8a7795228 - renesas,etheravb-r8a7796229 - renesas,etheravb-r8a77961230 - renesas,etheravb-r8a77965231 - renesas,etheravb-r8a77970232 - renesas,etheravb-r8a77980233 - renesas,etheravb-rcar-gen4234 then:235 required:236 - tx-internal-delay-ps237 else:238 properties:239 tx-internal-delay-ps: false240 241 - if:242 properties:243 compatible:244 contains:245 const: renesas,etheravb-r8a77995246 then:247 properties:248 rx-internal-delay-ps:249 const: 1800250 251 - if:252 properties:253 compatible:254 contains:255 const: renesas,etheravb-r8a77980256 then:257 properties:258 tx-internal-delay-ps:259 const: 2000260 261 - if:262 properties:263 compatible:264 contains:265 const: renesas,rzg2l-gbeth266 then:267 properties:268 clocks:269 items:270 - description: Main clock271 - description: Register access clock272 - description: Reference clock for RGMII273 clock-names:274 items:275 - const: axi276 - const: chi277 - const: refclk278 else:279 if:280 properties:281 compatible:282 contains:283 const: renesas,etheravb-rzv2m284 then:285 properties:286 clocks:287 items:288 - description: Main clock289 - description: Coherent Hub Interface clock290 - description: gPTP reference clock291 clock-names:292 items:293 - const: axi294 - const: chi295 - const: gptp296 else:297 properties:298 clocks:299 minItems: 1300 items:301 - description: AVB functional clock302 - description: Optional TXC reference clock303 clock-names:304 minItems: 1305 items:306 - const: fck307 - const: refclk308 309additionalProperties: false310 311examples:312 - |313 #include <dt-bindings/clock/r8a7795-cpg-mssr.h>314 #include <dt-bindings/interrupt-controller/arm-gic.h>315 #include <dt-bindings/power/r8a7795-sysc.h>316 #include <dt-bindings/gpio/gpio.h>317 aliases {318 ethernet0 = &avb;319 };320 321 avb: ethernet@e6800000 {322 compatible = "renesas,etheravb-r8a7795",323 "renesas,etheravb-rcar-gen3";324 reg = <0xe6800000 0x800>, <0xe6a00000 0x10000>;325 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,326 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,327 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,328 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,329 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,330 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,331 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,332 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,333 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,334 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,335 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,336 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,337 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,338 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,339 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,340 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,341 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,342 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,343 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,344 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,345 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,346 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,347 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,348 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,349 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;350 interrupt-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6",351 "ch7", "ch8", "ch9", "ch10", "ch11", "ch12",352 "ch13", "ch14", "ch15", "ch16", "ch17", "ch18",353 "ch19", "ch20", "ch21", "ch22", "ch23", "ch24";354 clocks = <&cpg CPG_MOD 812>;355 clock-names = "fck";356 iommus = <&ipmmu_ds0 16>;357 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;358 resets = <&cpg 812>;359 phy-mode = "rgmii";360 phy-handle = <&phy0>;361 rx-internal-delay-ps = <0>;362 tx-internal-delay-ps = <2000>;363 #address-cells = <1>;364 #size-cells = <0>;365 366 phy0: ethernet-phy@0 {367 compatible = "ethernet-phy-id0022.1622",368 "ethernet-phy-ieee802.3-c22";369 rxc-skew-ps = <1500>;370 reg = <0>;371 interrupt-parent = <&gpio2>;372 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;373 reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;374 };375 };376