18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/net/allwinner,sun8i-a83t-emac.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner A83t EMAC Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Chen-Yu Tsai <wens@csie.org> 118c2ecf20Sopenharmony_ci - Maxime Ripard <mripard@kernel.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciproperties: 148c2ecf20Sopenharmony_ci compatible: 158c2ecf20Sopenharmony_ci oneOf: 168c2ecf20Sopenharmony_ci - const: allwinner,sun8i-a83t-emac 178c2ecf20Sopenharmony_ci - const: allwinner,sun8i-h3-emac 188c2ecf20Sopenharmony_ci - const: allwinner,sun8i-r40-emac 198c2ecf20Sopenharmony_ci - const: allwinner,sun8i-v3s-emac 208c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a64-emac 218c2ecf20Sopenharmony_ci - items: 228c2ecf20Sopenharmony_ci - const: allwinner,sun50i-h6-emac 238c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a64-emac 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci reg: 268c2ecf20Sopenharmony_ci maxItems: 1 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci interrupts: 298c2ecf20Sopenharmony_ci maxItems: 1 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci interrupt-names: 328c2ecf20Sopenharmony_ci const: macirq 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci clocks: 358c2ecf20Sopenharmony_ci maxItems: 1 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci clock-names: 388c2ecf20Sopenharmony_ci const: stmmaceth 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci syscon: 418c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/phandle 428c2ecf20Sopenharmony_ci description: 438c2ecf20Sopenharmony_ci Phandle to the device containing the EMAC or GMAC clock 448c2ecf20Sopenharmony_ci register 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_cirequired: 478c2ecf20Sopenharmony_ci - compatible 488c2ecf20Sopenharmony_ci - reg 498c2ecf20Sopenharmony_ci - interrupts 508c2ecf20Sopenharmony_ci - interrupt-names 518c2ecf20Sopenharmony_ci - clocks 528c2ecf20Sopenharmony_ci - clock-names 538c2ecf20Sopenharmony_ci - resets 548c2ecf20Sopenharmony_ci - reset-names 558c2ecf20Sopenharmony_ci - phy-handle 568c2ecf20Sopenharmony_ci - phy-mode 578c2ecf20Sopenharmony_ci - syscon 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciallOf: 608c2ecf20Sopenharmony_ci - $ref: "snps,dwmac.yaml#" 618c2ecf20Sopenharmony_ci - if: 628c2ecf20Sopenharmony_ci properties: 638c2ecf20Sopenharmony_ci compatible: 648c2ecf20Sopenharmony_ci contains: 658c2ecf20Sopenharmony_ci enum: 668c2ecf20Sopenharmony_ci - allwinner,sun8i-a83t-emac 678c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-emac 688c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-emac 698c2ecf20Sopenharmony_ci - allwinner,sun50i-a64-emac 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci then: 728c2ecf20Sopenharmony_ci properties: 738c2ecf20Sopenharmony_ci allwinner,tx-delay-ps: 748c2ecf20Sopenharmony_ci default: 0 758c2ecf20Sopenharmony_ci minimum: 0 768c2ecf20Sopenharmony_ci maximum: 700 778c2ecf20Sopenharmony_ci multipleOf: 100 788c2ecf20Sopenharmony_ci description: 798c2ecf20Sopenharmony_ci External RGMII PHY TX clock delay chain value in ps. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci allwinner,rx-delay-ps: 828c2ecf20Sopenharmony_ci default: 0 838c2ecf20Sopenharmony_ci minimum: 0 848c2ecf20Sopenharmony_ci maximum: 3100 858c2ecf20Sopenharmony_ci multipleOf: 100 868c2ecf20Sopenharmony_ci description: 878c2ecf20Sopenharmony_ci External RGMII PHY TX clock delay chain value in ps. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci - if: 908c2ecf20Sopenharmony_ci properties: 918c2ecf20Sopenharmony_ci compatible: 928c2ecf20Sopenharmony_ci contains: 938c2ecf20Sopenharmony_ci enum: 948c2ecf20Sopenharmony_ci - allwinner,sun8i-r40-emac 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci then: 978c2ecf20Sopenharmony_ci properties: 988c2ecf20Sopenharmony_ci allwinner,rx-delay-ps: 998c2ecf20Sopenharmony_ci default: 0 1008c2ecf20Sopenharmony_ci minimum: 0 1018c2ecf20Sopenharmony_ci maximum: 700 1028c2ecf20Sopenharmony_ci multipleOf: 100 1038c2ecf20Sopenharmony_ci description: 1048c2ecf20Sopenharmony_ci External RGMII PHY TX clock delay chain value in ps. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci - if: 1078c2ecf20Sopenharmony_ci properties: 1088c2ecf20Sopenharmony_ci compatible: 1098c2ecf20Sopenharmony_ci contains: 1108c2ecf20Sopenharmony_ci enum: 1118c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-emac 1128c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-emac 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci then: 1158c2ecf20Sopenharmony_ci properties: 1168c2ecf20Sopenharmony_ci allwinner,leds-active-low: 1178c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/flag 1188c2ecf20Sopenharmony_ci description: 1198c2ecf20Sopenharmony_ci EPHY LEDs are active low. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci mdio-mux: 1228c2ecf20Sopenharmony_ci type: object 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci properties: 1258c2ecf20Sopenharmony_ci compatible: 1268c2ecf20Sopenharmony_ci const: allwinner,sun8i-h3-mdio-mux 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci mdio-parent-bus: 1298c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/phandle 1308c2ecf20Sopenharmony_ci description: 1318c2ecf20Sopenharmony_ci Phandle to EMAC MDIO. 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci mdio@1: 1348c2ecf20Sopenharmony_ci type: object 1358c2ecf20Sopenharmony_ci description: Internal MDIO Bus 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci properties: 1388c2ecf20Sopenharmony_ci "#address-cells": 1398c2ecf20Sopenharmony_ci const: 1 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci "#size-cells": 1428c2ecf20Sopenharmony_ci const: 0 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci compatible: 1458c2ecf20Sopenharmony_ci const: allwinner,sun8i-h3-mdio-internal 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci reg: 1488c2ecf20Sopenharmony_ci const: 1 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci patternProperties: 1518c2ecf20Sopenharmony_ci "^ethernet-phy@[0-9a-f]$": 1528c2ecf20Sopenharmony_ci type: object 1538c2ecf20Sopenharmony_ci description: 1548c2ecf20Sopenharmony_ci Integrated PHY node 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci properties: 1578c2ecf20Sopenharmony_ci clocks: 1588c2ecf20Sopenharmony_ci maxItems: 1 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci resets: 1618c2ecf20Sopenharmony_ci maxItems: 1 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci required: 1648c2ecf20Sopenharmony_ci - clocks 1658c2ecf20Sopenharmony_ci - resets 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci mdio@2: 1698c2ecf20Sopenharmony_ci type: object 1708c2ecf20Sopenharmony_ci description: External MDIO Bus (H3 only) 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci properties: 1738c2ecf20Sopenharmony_ci "#address-cells": 1748c2ecf20Sopenharmony_ci const: 1 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci "#size-cells": 1778c2ecf20Sopenharmony_ci const: 0 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci reg: 1808c2ecf20Sopenharmony_ci const: 2 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci required: 1838c2ecf20Sopenharmony_ci - compatible 1848c2ecf20Sopenharmony_ci - mdio-parent-bus 1858c2ecf20Sopenharmony_ci - mdio@1 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ciunevaluatedProperties: false 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ciexamples: 1908c2ecf20Sopenharmony_ci - | 1918c2ecf20Sopenharmony_ci ethernet@1c0b000 { 1928c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-emac"; 1938c2ecf20Sopenharmony_ci syscon = <&syscon>; 1948c2ecf20Sopenharmony_ci reg = <0x01c0b000 0x104>; 1958c2ecf20Sopenharmony_ci interrupts = <0 82 1>; 1968c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 1978c2ecf20Sopenharmony_ci resets = <&ccu 12>; 1988c2ecf20Sopenharmony_ci reset-names = "stmmaceth"; 1998c2ecf20Sopenharmony_ci clocks = <&ccu 27>; 2008c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci phy-handle = <&int_mii_phy>; 2038c2ecf20Sopenharmony_ci phy-mode = "mii"; 2048c2ecf20Sopenharmony_ci allwinner,leds-active-low; 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci mdio1: mdio { 2078c2ecf20Sopenharmony_ci #address-cells = <1>; 2088c2ecf20Sopenharmony_ci #size-cells = <0>; 2098c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 2108c2ecf20Sopenharmony_ci }; 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci mdio-mux { 2138c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-mdio-mux"; 2148c2ecf20Sopenharmony_ci #address-cells = <1>; 2158c2ecf20Sopenharmony_ci #size-cells = <0>; 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci mdio-parent-bus = <&mdio1>; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci int_mii_phy: mdio@1 { 2208c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-mdio-internal"; 2218c2ecf20Sopenharmony_ci reg = <1>; 2228c2ecf20Sopenharmony_ci #address-cells = <1>; 2238c2ecf20Sopenharmony_ci #size-cells = <0>; 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_ci ethernet-phy@1 { 2268c2ecf20Sopenharmony_ci reg = <1>; 2278c2ecf20Sopenharmony_ci clocks = <&ccu 67>; 2288c2ecf20Sopenharmony_ci resets = <&ccu 39>; 2298c2ecf20Sopenharmony_ci phy-is-integrated; 2308c2ecf20Sopenharmony_ci }; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci mdio@2 { 2348c2ecf20Sopenharmony_ci reg = <2>; 2358c2ecf20Sopenharmony_ci #address-cells = <1>; 2368c2ecf20Sopenharmony_ci #size-cells = <0>; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ci - | 2428c2ecf20Sopenharmony_ci ethernet@1c0b000 { 2438c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-emac"; 2448c2ecf20Sopenharmony_ci syscon = <&syscon>; 2458c2ecf20Sopenharmony_ci reg = <0x01c0b000 0x104>; 2468c2ecf20Sopenharmony_ci interrupts = <0 82 1>; 2478c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 2488c2ecf20Sopenharmony_ci resets = <&ccu 12>; 2498c2ecf20Sopenharmony_ci reset-names = "stmmaceth"; 2508c2ecf20Sopenharmony_ci clocks = <&ccu 27>; 2518c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci phy-handle = <&ext_rgmii_phy>; 2548c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 2558c2ecf20Sopenharmony_ci allwinner,leds-active-low; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci mdio2: mdio { 2588c2ecf20Sopenharmony_ci #address-cells = <1>; 2598c2ecf20Sopenharmony_ci #size-cells = <0>; 2608c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci mdio-mux { 2648c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-mdio-mux"; 2658c2ecf20Sopenharmony_ci #address-cells = <1>; 2668c2ecf20Sopenharmony_ci #size-cells = <0>; 2678c2ecf20Sopenharmony_ci mdio-parent-bus = <&mdio2>; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci mdio@1 { 2708c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-mdio-internal"; 2718c2ecf20Sopenharmony_ci reg = <1>; 2728c2ecf20Sopenharmony_ci #address-cells = <1>; 2738c2ecf20Sopenharmony_ci #size-cells = <0>; 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci ethernet-phy@1 { 2768c2ecf20Sopenharmony_ci reg = <1>; 2778c2ecf20Sopenharmony_ci clocks = <&ccu 67>; 2788c2ecf20Sopenharmony_ci resets = <&ccu 39>; 2798c2ecf20Sopenharmony_ci }; 2808c2ecf20Sopenharmony_ci }; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci mdio@2 { 2838c2ecf20Sopenharmony_ci reg = <2>; 2848c2ecf20Sopenharmony_ci #address-cells = <1>; 2858c2ecf20Sopenharmony_ci #size-cells = <0>; 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_ci ext_rgmii_phy: ethernet-phy@1 { 2888c2ecf20Sopenharmony_ci reg = <1>; 2898c2ecf20Sopenharmony_ci }; 2908c2ecf20Sopenharmony_ci }; 2918c2ecf20Sopenharmony_ci }; 2928c2ecf20Sopenharmony_ci }; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci - | 2958c2ecf20Sopenharmony_ci ethernet@1c0b000 { 2968c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-a83t-emac"; 2978c2ecf20Sopenharmony_ci syscon = <&syscon>; 2988c2ecf20Sopenharmony_ci reg = <0x01c0b000 0x104>; 2998c2ecf20Sopenharmony_ci interrupts = <0 82 1>; 3008c2ecf20Sopenharmony_ci interrupt-names = "macirq"; 3018c2ecf20Sopenharmony_ci resets = <&ccu 13>; 3028c2ecf20Sopenharmony_ci reset-names = "stmmaceth"; 3038c2ecf20Sopenharmony_ci clocks = <&ccu 27>; 3048c2ecf20Sopenharmony_ci clock-names = "stmmaceth"; 3058c2ecf20Sopenharmony_ci phy-handle = <&ext_rgmii_phy1>; 3068c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 3078c2ecf20Sopenharmony_ci 3088c2ecf20Sopenharmony_ci mdio { 3098c2ecf20Sopenharmony_ci compatible = "snps,dwmac-mdio"; 3108c2ecf20Sopenharmony_ci #address-cells = <1>; 3118c2ecf20Sopenharmony_ci #size-cells = <0>; 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ci ext_rgmii_phy1: ethernet-phy@1 { 3148c2ecf20Sopenharmony_ci reg = <1>; 3158c2ecf20Sopenharmony_ci }; 3168c2ecf20Sopenharmony_ci }; 3178c2ecf20Sopenharmony_ci }; 3188c2ecf20Sopenharmony_ci 3198c2ecf20Sopenharmony_ci... 320