lin
2025-01-10 9ec4e21f2f615ef95b70a249569906799e36bace
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/ {
   aliases {
       ethernet0 = &emac;
   };
 
   soc {
       syscon: syscon@1c00000 {
           compatible = "allwinner,sun50i-a64-system-controller",
                    "syscon";
           reg = <0x01c00000 0x1000>;
       };
 
       emac: ethernet@1c30000 {
           compatible = "allwinner,sun50i-a64-emac";
           syscon = <&syscon>;
           reg = <0x01c30000 0x10000>;
           interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
           interrupt-names = "macirq";
           resets = <&ccu RST_BUS_EMAC>;
           reset-names = "stmmaceth";
           clocks = <&ccu CLK_BUS_EMAC>;
           clock-names = "stmmaceth";
           #address-cells = <1>;
           #size-cells = <0>;
           pinctrl-names = "default";
           pinctrl-0 = <&rgmii_pins>;
           phy-mode = "rgmii";
           phy-handle = <&ext_rgmii_phy>;
           status = "okay";
 
           mdio: mdio {
               compatible = "snps,dwmac-mdio";
               #address-cells = <1>;
               #size-cells = <0>;
               ext_rgmii_phy: ethernet-phy@1 {
                   compatible = "ethernet-phy-ieee802.3-c22";
                   reg = <1>;
               };
           };
       };
   };
};
 
&pio {
   rmii_pins: rmii_pins {
       pins = "PD10", "PD11", "PD13", "PD14", "PD17",
              "PD18", "PD19", "PD20", "PD22", "PD23";
       function = "emac";
       drive-strength = <40>;
   };
 
   rgmii_pins: rgmii_pins {
       pins = "PD8", "PD9", "PD10", "PD11", "PD12",
              "PD13", "PD15", "PD16", "PD17", "PD18",
              "PD19", "PD20", "PD21", "PD22", "PD23";
       function = "emac";
       drive-strength = <40>;
   };
};