18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/net/renesas,etheravb.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Renesas Ethernet AVB 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Sergei Shtylyov <sergei.shtylyov@gmail.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciproperties: 138c2ecf20Sopenharmony_ci compatible: 148c2ecf20Sopenharmony_ci oneOf: 158c2ecf20Sopenharmony_ci - items: 168c2ecf20Sopenharmony_ci - enum: 178c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7742 # RZ/G1H 188c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7743 # RZ/G1M 198c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7744 # RZ/G1N 208c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7745 # RZ/G1E 218c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77470 # RZ/G1C 228c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7790 # R-Car H2 238c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7791 # R-Car M2-W 248c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7792 # R-Car V2H 258c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7793 # R-Car M2-N 268c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7794 # R-Car E2 278c2ecf20Sopenharmony_ci - const: renesas,etheravb-rcar-gen2 # R-Car Gen2 and RZ/G1 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci - items: 308c2ecf20Sopenharmony_ci - enum: 318c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774a1 # RZ/G2M 328c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774b1 # RZ/G2N 338c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774c0 # RZ/G2E 348c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774e1 # RZ/G2H 358c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7795 # R-Car H3 368c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7796 # R-Car M3-W 378c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77961 # R-Car M3-W+ 388c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77965 # R-Car M3-N 398c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77970 # R-Car V3M 408c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77980 # R-Car V3H 418c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77990 # R-Car E3 428c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77995 # R-Car D3 438c2ecf20Sopenharmony_ci - const: renesas,etheravb-rcar-gen3 # R-Car Gen3 and RZ/G2 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci reg: true 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci interrupts: true 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci interrupt-names: true 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci clocks: 528c2ecf20Sopenharmony_ci maxItems: 1 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci iommus: 558c2ecf20Sopenharmony_ci maxItems: 1 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci power-domains: 588c2ecf20Sopenharmony_ci maxItems: 1 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci resets: 618c2ecf20Sopenharmony_ci maxItems: 1 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci phy-mode: true 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci phy-handle: true 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci '#address-cells': 688c2ecf20Sopenharmony_ci description: Number of address cells for the MDIO bus. 698c2ecf20Sopenharmony_ci const: 1 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci '#size-cells': 728c2ecf20Sopenharmony_ci description: Number of size cells on the MDIO bus. 738c2ecf20Sopenharmony_ci const: 0 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci renesas,no-ether-link: 768c2ecf20Sopenharmony_ci type: boolean 778c2ecf20Sopenharmony_ci description: 788c2ecf20Sopenharmony_ci Specify when a board does not provide a proper AVB_LINK signal. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci renesas,ether-link-active-low: 818c2ecf20Sopenharmony_ci type: boolean 828c2ecf20Sopenharmony_ci description: 838c2ecf20Sopenharmony_ci Specify when the AVB_LINK signal is active-low instead of normal 848c2ecf20Sopenharmony_ci active-high. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci rx-internal-delay-ps: 878c2ecf20Sopenharmony_ci enum: [0, 1800] 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci tx-internal-delay-ps: 908c2ecf20Sopenharmony_ci enum: [0, 2000] 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_cipatternProperties: 938c2ecf20Sopenharmony_ci "^ethernet-phy@[0-9a-f]$": 948c2ecf20Sopenharmony_ci type: object 958c2ecf20Sopenharmony_ci $ref: ethernet-phy.yaml# 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_cirequired: 988c2ecf20Sopenharmony_ci - compatible 998c2ecf20Sopenharmony_ci - reg 1008c2ecf20Sopenharmony_ci - interrupts 1018c2ecf20Sopenharmony_ci - clocks 1028c2ecf20Sopenharmony_ci - power-domains 1038c2ecf20Sopenharmony_ci - resets 1048c2ecf20Sopenharmony_ci - phy-mode 1058c2ecf20Sopenharmony_ci - phy-handle 1068c2ecf20Sopenharmony_ci - '#address-cells' 1078c2ecf20Sopenharmony_ci - '#size-cells' 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciallOf: 1108c2ecf20Sopenharmony_ci - $ref: ethernet-controller.yaml# 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci - if: 1138c2ecf20Sopenharmony_ci properties: 1148c2ecf20Sopenharmony_ci compatible: 1158c2ecf20Sopenharmony_ci contains: 1168c2ecf20Sopenharmony_ci enum: 1178c2ecf20Sopenharmony_ci - renesas,etheravb-rcar-gen2 1188c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7795 1198c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7796 1208c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77961 1218c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77965 1228c2ecf20Sopenharmony_ci then: 1238c2ecf20Sopenharmony_ci properties: 1248c2ecf20Sopenharmony_ci reg: 1258c2ecf20Sopenharmony_ci items: 1268c2ecf20Sopenharmony_ci - description: MAC register block 1278c2ecf20Sopenharmony_ci - description: Stream buffer 1288c2ecf20Sopenharmony_ci else: 1298c2ecf20Sopenharmony_ci properties: 1308c2ecf20Sopenharmony_ci reg: 1318c2ecf20Sopenharmony_ci items: 1328c2ecf20Sopenharmony_ci - description: MAC register block 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci - if: 1358c2ecf20Sopenharmony_ci properties: 1368c2ecf20Sopenharmony_ci compatible: 1378c2ecf20Sopenharmony_ci contains: 1388c2ecf20Sopenharmony_ci const: renesas,etheravb-rcar-gen2 1398c2ecf20Sopenharmony_ci then: 1408c2ecf20Sopenharmony_ci properties: 1418c2ecf20Sopenharmony_ci interrupts: 1428c2ecf20Sopenharmony_ci maxItems: 1 1438c2ecf20Sopenharmony_ci interrupt-names: 1448c2ecf20Sopenharmony_ci items: 1458c2ecf20Sopenharmony_ci - const: mux 1468c2ecf20Sopenharmony_ci rx-internal-delay-ps: false 1478c2ecf20Sopenharmony_ci else: 1488c2ecf20Sopenharmony_ci properties: 1498c2ecf20Sopenharmony_ci interrupts: 1508c2ecf20Sopenharmony_ci minItems: 25 1518c2ecf20Sopenharmony_ci maxItems: 25 1528c2ecf20Sopenharmony_ci interrupt-names: 1538c2ecf20Sopenharmony_ci items: 1548c2ecf20Sopenharmony_ci pattern: '^ch[0-9]+$' 1558c2ecf20Sopenharmony_ci required: 1568c2ecf20Sopenharmony_ci - interrupt-names 1578c2ecf20Sopenharmony_ci - rx-internal-delay-ps 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci - if: 1608c2ecf20Sopenharmony_ci properties: 1618c2ecf20Sopenharmony_ci compatible: 1628c2ecf20Sopenharmony_ci contains: 1638c2ecf20Sopenharmony_ci enum: 1648c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774a1 1658c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774b1 1668c2ecf20Sopenharmony_ci - renesas,etheravb-r8a774e1 1678c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7795 1688c2ecf20Sopenharmony_ci - renesas,etheravb-r8a7796 1698c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77961 1708c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77965 1718c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77970 1728c2ecf20Sopenharmony_ci - renesas,etheravb-r8a77980 1738c2ecf20Sopenharmony_ci then: 1748c2ecf20Sopenharmony_ci required: 1758c2ecf20Sopenharmony_ci - tx-internal-delay-ps 1768c2ecf20Sopenharmony_ci else: 1778c2ecf20Sopenharmony_ci properties: 1788c2ecf20Sopenharmony_ci tx-internal-delay-ps: false 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci - if: 1818c2ecf20Sopenharmony_ci properties: 1828c2ecf20Sopenharmony_ci compatible: 1838c2ecf20Sopenharmony_ci contains: 1848c2ecf20Sopenharmony_ci const: renesas,etheravb-r8a77995 1858c2ecf20Sopenharmony_ci then: 1868c2ecf20Sopenharmony_ci properties: 1878c2ecf20Sopenharmony_ci rx-internal-delay-ps: 1888c2ecf20Sopenharmony_ci const: 1800 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci - if: 1918c2ecf20Sopenharmony_ci properties: 1928c2ecf20Sopenharmony_ci compatible: 1938c2ecf20Sopenharmony_ci contains: 1948c2ecf20Sopenharmony_ci const: renesas,etheravb-r8a77980 1958c2ecf20Sopenharmony_ci then: 1968c2ecf20Sopenharmony_ci properties: 1978c2ecf20Sopenharmony_ci tx-internal-delay-ps: 1988c2ecf20Sopenharmony_ci const: 2000 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ciadditionalProperties: false 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ciexamples: 2038c2ecf20Sopenharmony_ci - | 2048c2ecf20Sopenharmony_ci #include <dt-bindings/clock/r8a7795-cpg-mssr.h> 2058c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 2068c2ecf20Sopenharmony_ci #include <dt-bindings/power/r8a7795-sysc.h> 2078c2ecf20Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 2088c2ecf20Sopenharmony_ci aliases { 2098c2ecf20Sopenharmony_ci ethernet0 = &avb; 2108c2ecf20Sopenharmony_ci }; 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci avb: ethernet@e6800000 { 2138c2ecf20Sopenharmony_ci compatible = "renesas,etheravb-r8a7795", 2148c2ecf20Sopenharmony_ci "renesas,etheravb-rcar-gen3"; 2158c2ecf20Sopenharmony_ci reg = <0xe6800000 0x800>, <0xe6a00000 0x10000>; 2168c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 2178c2ecf20Sopenharmony_ci <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 2188c2ecf20Sopenharmony_ci <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 2198c2ecf20Sopenharmony_ci <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 2208c2ecf20Sopenharmony_ci <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 2218c2ecf20Sopenharmony_ci <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 2228c2ecf20Sopenharmony_ci <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, 2238c2ecf20Sopenharmony_ci <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>, 2248c2ecf20Sopenharmony_ci <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 2258c2ecf20Sopenharmony_ci <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 2268c2ecf20Sopenharmony_ci <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 2278c2ecf20Sopenharmony_ci <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 2288c2ecf20Sopenharmony_ci <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 2298c2ecf20Sopenharmony_ci <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 2308c2ecf20Sopenharmony_ci <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 2318c2ecf20Sopenharmony_ci <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 2328c2ecf20Sopenharmony_ci <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 2338c2ecf20Sopenharmony_ci <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 2348c2ecf20Sopenharmony_ci <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 2358c2ecf20Sopenharmony_ci <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 2368c2ecf20Sopenharmony_ci <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 2378c2ecf20Sopenharmony_ci <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 2388c2ecf20Sopenharmony_ci <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 2398c2ecf20Sopenharmony_ci <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, 2408c2ecf20Sopenharmony_ci <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 2418c2ecf20Sopenharmony_ci interrupt-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", 2428c2ecf20Sopenharmony_ci "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", 2438c2ecf20Sopenharmony_ci "ch13", "ch14", "ch15", "ch16", "ch17", "ch18", 2448c2ecf20Sopenharmony_ci "ch19", "ch20", "ch21", "ch22", "ch23", "ch24"; 2458c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 812>; 2468c2ecf20Sopenharmony_ci iommus = <&ipmmu_ds0 16>; 2478c2ecf20Sopenharmony_ci power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2488c2ecf20Sopenharmony_ci resets = <&cpg 812>; 2498c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 2508c2ecf20Sopenharmony_ci phy-handle = <&phy0>; 2518c2ecf20Sopenharmony_ci rx-internal-delay-ps = <0>; 2528c2ecf20Sopenharmony_ci tx-internal-delay-ps = <2000>; 2538c2ecf20Sopenharmony_ci #address-cells = <1>; 2548c2ecf20Sopenharmony_ci #size-cells = <0>; 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci phy0: ethernet-phy@0 { 2578c2ecf20Sopenharmony_ci rxc-skew-ps = <1500>; 2588c2ecf20Sopenharmony_ci reg = <0>; 2598c2ecf20Sopenharmony_ci interrupt-parent = <&gpio2>; 2608c2ecf20Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 2618c2ecf20Sopenharmony_ci reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 2628c2ecf20Sopenharmony_ci }; 2638c2ecf20Sopenharmony_ci }; 264