xref: /openbmc/linux/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
10569929dSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
20569929dSMaxime Ripard%YAML 1.2
30569929dSMaxime Ripard---
4e1ff7390SRob Herring$id: http://devicetree.org/schemas/net/allwinner,sun8i-a83t-emac.yaml#
50569929dSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
60569929dSMaxime Ripard
7dd3cb467SAndrew Lunntitle: Allwinner A83t EMAC
80569929dSMaxime Ripard
90569929dSMaxime Ripardmaintainers:
100569929dSMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
115c7404bbSMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
120569929dSMaxime Ripard
130569929dSMaxime Ripardproperties:
140569929dSMaxime Ripard  compatible:
150569929dSMaxime Ripard    oneOf:
160569929dSMaxime Ripard      - const: allwinner,sun8i-a83t-emac
170569929dSMaxime Ripard      - const: allwinner,sun8i-h3-emac
18b33be51cSMaxime Ripard      - const: allwinner,sun8i-r40-gmac
190569929dSMaxime Ripard      - const: allwinner,sun8i-v3s-emac
200569929dSMaxime Ripard      - const: allwinner,sun50i-a64-emac
210569929dSMaxime Ripard      - items:
220f31ab21SSamuel Holland          - enum:
230f31ab21SSamuel Holland              - allwinner,sun20i-d1-emac
240f31ab21SSamuel Holland              - allwinner,sun50i-h6-emac
253a1149e5SAndre Przywara              - allwinner,sun50i-h616-emac0
260569929dSMaxime Ripard          - const: allwinner,sun50i-a64-emac
270569929dSMaxime Ripard
280569929dSMaxime Ripard  reg:
290569929dSMaxime Ripard    maxItems: 1
300569929dSMaxime Ripard
310569929dSMaxime Ripard  interrupts:
320569929dSMaxime Ripard    maxItems: 1
330569929dSMaxime Ripard
340569929dSMaxime Ripard  interrupt-names:
350569929dSMaxime Ripard    const: macirq
360569929dSMaxime Ripard
370569929dSMaxime Ripard  clocks:
380569929dSMaxime Ripard    maxItems: 1
390569929dSMaxime Ripard
400569929dSMaxime Ripard  clock-names:
410569929dSMaxime Ripard    const: stmmaceth
420569929dSMaxime Ripard
43a3542b0cSSamuel Holland  phy-supply:
44a3542b0cSSamuel Holland    description: PHY regulator
45a3542b0cSSamuel Holland
460569929dSMaxime Ripard  syscon:
47d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
480569929dSMaxime Ripard    description:
490569929dSMaxime Ripard      Phandle to the device containing the EMAC or GMAC clock
500569929dSMaxime Ripard      register
510569929dSMaxime Ripard
520569929dSMaxime Ripardrequired:
530569929dSMaxime Ripard  - compatible
540569929dSMaxime Ripard  - reg
550569929dSMaxime Ripard  - interrupts
560569929dSMaxime Ripard  - interrupt-names
570569929dSMaxime Ripard  - clocks
580569929dSMaxime Ripard  - clock-names
590569929dSMaxime Ripard  - resets
600569929dSMaxime Ripard  - reset-names
610569929dSMaxime Ripard  - phy-handle
6267d0da99SMaxime Ripard  - phy-mode
630569929dSMaxime Ripard  - syscon
640569929dSMaxime Ripard
650569929dSMaxime RipardallOf:
66*61ab5a06SKrzysztof Kozlowski  - $ref: snps,dwmac.yaml#
670569929dSMaxime Ripard  - if:
680569929dSMaxime Ripard      properties:
690569929dSMaxime Ripard        compatible:
700569929dSMaxime Ripard          contains:
710569929dSMaxime Ripard            enum:
720569929dSMaxime Ripard              - allwinner,sun8i-a83t-emac
730569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
740569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
750569929dSMaxime Ripard              - allwinner,sun50i-a64-emac
760569929dSMaxime Ripard
770569929dSMaxime Ripard    then:
780569929dSMaxime Ripard      properties:
790569929dSMaxime Ripard        allwinner,tx-delay-ps:
800569929dSMaxime Ripard          default: 0
810569929dSMaxime Ripard          minimum: 0
820569929dSMaxime Ripard          maximum: 700
830569929dSMaxime Ripard          multipleOf: 100
840569929dSMaxime Ripard          description:
850569929dSMaxime Ripard            External RGMII PHY TX clock delay chain value in ps.
860569929dSMaxime Ripard
870569929dSMaxime Ripard        allwinner,rx-delay-ps:
880569929dSMaxime Ripard          default: 0
890569929dSMaxime Ripard          minimum: 0
900569929dSMaxime Ripard          maximum: 3100
910569929dSMaxime Ripard          multipleOf: 100
920569929dSMaxime Ripard          description:
930569929dSMaxime Ripard            External RGMII PHY TX clock delay chain value in ps.
940569929dSMaxime Ripard
950569929dSMaxime Ripard  - if:
960569929dSMaxime Ripard      properties:
970569929dSMaxime Ripard        compatible:
980569929dSMaxime Ripard          contains:
990569929dSMaxime Ripard            enum:
100b33be51cSMaxime Ripard              - allwinner,sun8i-r40-gmac
1010569929dSMaxime Ripard
1020569929dSMaxime Ripard    then:
1030569929dSMaxime Ripard      properties:
1040569929dSMaxime Ripard        allwinner,rx-delay-ps:
1050569929dSMaxime Ripard          default: 0
1060569929dSMaxime Ripard          minimum: 0
1070569929dSMaxime Ripard          maximum: 700
1080569929dSMaxime Ripard          multipleOf: 100
1090569929dSMaxime Ripard          description:
1100569929dSMaxime Ripard            External RGMII PHY TX clock delay chain value in ps.
1110569929dSMaxime Ripard
1120569929dSMaxime Ripard  - if:
1130569929dSMaxime Ripard      properties:
1140569929dSMaxime Ripard        compatible:
1150569929dSMaxime Ripard          contains:
1160569929dSMaxime Ripard            enum:
1170569929dSMaxime Ripard              - allwinner,sun8i-h3-emac
1180569929dSMaxime Ripard              - allwinner,sun8i-v3s-emac
1190569929dSMaxime Ripard
1200569929dSMaxime Ripard    then:
1210569929dSMaxime Ripard      properties:
1220569929dSMaxime Ripard        allwinner,leds-active-low:
123d69c6dddSRob Herring          $ref: /schemas/types.yaml#/definitions/flag
1240569929dSMaxime Ripard          description:
1250569929dSMaxime Ripard            EPHY LEDs are active low.
1260569929dSMaxime Ripard
1270569929dSMaxime Ripard        mdio-mux:
1280569929dSMaxime Ripard          type: object
129b2d28642SRob Herring          unevaluatedProperties: false
1300569929dSMaxime Ripard
1310569929dSMaxime Ripard          properties:
1320569929dSMaxime Ripard            compatible:
1330569929dSMaxime Ripard              const: allwinner,sun8i-h3-mdio-mux
1340569929dSMaxime Ripard
1350569929dSMaxime Ripard            mdio-parent-bus:
136d69c6dddSRob Herring              $ref: /schemas/types.yaml#/definitions/phandle
1370569929dSMaxime Ripard              description:
1380569929dSMaxime Ripard                Phandle to EMAC MDIO.
1390569929dSMaxime Ripard
1400569929dSMaxime Ripard            "#address-cells":
1410569929dSMaxime Ripard              const: 1
1420569929dSMaxime Ripard
1430569929dSMaxime Ripard            "#size-cells":
1440569929dSMaxime Ripard              const: 0
1450569929dSMaxime Ripard
146b2d28642SRob Herring            mdio@1:
147b2d28642SRob Herring              $ref: mdio.yaml#
148b2d28642SRob Herring              unevaluatedProperties: false
149b2d28642SRob Herring              description: Internal MDIO Bus
150b2d28642SRob Herring
151b2d28642SRob Herring              properties:
1520569929dSMaxime Ripard                compatible:
1530569929dSMaxime Ripard                  const: allwinner,sun8i-h3-mdio-internal
1540569929dSMaxime Ripard
1550569929dSMaxime Ripard                reg:
1560569929dSMaxime Ripard                  const: 1
1570569929dSMaxime Ripard
1580569929dSMaxime Ripard              patternProperties:
1590569929dSMaxime Ripard                "^ethernet-phy@[0-9a-f]$":
1600569929dSMaxime Ripard                  type: object
1610569929dSMaxime Ripard                  description:
1620569929dSMaxime Ripard                    Integrated PHY node
1630569929dSMaxime Ripard
1640569929dSMaxime Ripard                  properties:
1650569929dSMaxime Ripard                    clocks:
1660569929dSMaxime Ripard                      maxItems: 1
1670569929dSMaxime Ripard
1680569929dSMaxime Ripard                    resets:
1690569929dSMaxime Ripard                      maxItems: 1
1700569929dSMaxime Ripard
1710569929dSMaxime Ripard                  required:
1720569929dSMaxime Ripard                    - clocks
1730569929dSMaxime Ripard                    - resets
1740569929dSMaxime Ripard
1750569929dSMaxime Ripard
1760569929dSMaxime Ripard            mdio@2:
177b2d28642SRob Herring              $ref: mdio.yaml#
178b2d28642SRob Herring              unevaluatedProperties: false
1790569929dSMaxime Ripard              description: External MDIO Bus (H3 only)
1800569929dSMaxime Ripard
1810569929dSMaxime Ripard              properties:
1820569929dSMaxime Ripard                reg:
1830569929dSMaxime Ripard                  const: 2
1840569929dSMaxime Ripard
1850569929dSMaxime Ripard          required:
1860569929dSMaxime Ripard            - compatible
1870569929dSMaxime Ripard            - mdio-parent-bus
1880569929dSMaxime Ripard            - mdio@1
1890569929dSMaxime Ripard
190454f5d9dSMaxime RipardunevaluatedProperties: false
191454f5d9dSMaxime Ripard
1920569929dSMaxime Ripardexamples:
1930569929dSMaxime Ripard  - |
1940569929dSMaxime Ripard    ethernet@1c0b000 {
1950569929dSMaxime Ripard        compatible = "allwinner,sun8i-h3-emac";
1960569929dSMaxime Ripard        syscon = <&syscon>;
1970569929dSMaxime Ripard        reg = <0x01c0b000 0x104>;
1980569929dSMaxime Ripard        interrupts = <0 82 1>;
1990569929dSMaxime Ripard        interrupt-names = "macirq";
2000569929dSMaxime Ripard        resets = <&ccu 12>;
2010569929dSMaxime Ripard        reset-names = "stmmaceth";
2020569929dSMaxime Ripard        clocks = <&ccu 27>;
2030569929dSMaxime Ripard        clock-names = "stmmaceth";
2040569929dSMaxime Ripard
2050569929dSMaxime Ripard        phy-handle = <&int_mii_phy>;
20667d0da99SMaxime Ripard        phy-mode = "mii";
2070569929dSMaxime Ripard        allwinner,leds-active-low;
2080569929dSMaxime Ripard
2090569929dSMaxime Ripard        mdio1: mdio {
2100569929dSMaxime Ripard            #address-cells = <1>;
2110569929dSMaxime Ripard            #size-cells = <0>;
2120569929dSMaxime Ripard            compatible = "snps,dwmac-mdio";
2130569929dSMaxime Ripard        };
2140569929dSMaxime Ripard
2150569929dSMaxime Ripard        mdio-mux {
2160569929dSMaxime Ripard            compatible = "allwinner,sun8i-h3-mdio-mux";
2170569929dSMaxime Ripard            #address-cells = <1>;
2180569929dSMaxime Ripard            #size-cells = <0>;
2190569929dSMaxime Ripard
2200569929dSMaxime Ripard            mdio-parent-bus = <&mdio1>;
2210569929dSMaxime Ripard
2220569929dSMaxime Ripard            int_mii_phy: mdio@1 {
2230569929dSMaxime Ripard                compatible = "allwinner,sun8i-h3-mdio-internal";
2240569929dSMaxime Ripard                reg = <1>;
2250569929dSMaxime Ripard                #address-cells = <1>;
2260569929dSMaxime Ripard                #size-cells = <0>;
2270569929dSMaxime Ripard
2280569929dSMaxime Ripard                ethernet-phy@1 {
2290569929dSMaxime Ripard                    reg = <1>;
2300569929dSMaxime Ripard                    clocks = <&ccu 67>;
2310569929dSMaxime Ripard                    resets = <&ccu 39>;
2320569929dSMaxime Ripard                    phy-is-integrated;
2330569929dSMaxime Ripard                };
2340569929dSMaxime Ripard            };
2350569929dSMaxime Ripard
2360569929dSMaxime Ripard            mdio@2 {
2370569929dSMaxime Ripard                reg = <2>;
2380569929dSMaxime Ripard                #address-cells = <1>;
2390569929dSMaxime Ripard                #size-cells = <0>;
2400569929dSMaxime Ripard            };
2410569929dSMaxime Ripard        };
2420569929dSMaxime Ripard    };
2430569929dSMaxime Ripard
2440569929dSMaxime Ripard  - |
2450569929dSMaxime Ripard    ethernet@1c0b000 {
2460569929dSMaxime Ripard        compatible = "allwinner,sun8i-h3-emac";
2470569929dSMaxime Ripard        syscon = <&syscon>;
2480569929dSMaxime Ripard        reg = <0x01c0b000 0x104>;
2490569929dSMaxime Ripard        interrupts = <0 82 1>;
2500569929dSMaxime Ripard        interrupt-names = "macirq";
2510569929dSMaxime Ripard        resets = <&ccu 12>;
2520569929dSMaxime Ripard        reset-names = "stmmaceth";
2530569929dSMaxime Ripard        clocks = <&ccu 27>;
2540569929dSMaxime Ripard        clock-names = "stmmaceth";
2550569929dSMaxime Ripard
2560569929dSMaxime Ripard        phy-handle = <&ext_rgmii_phy>;
25767d0da99SMaxime Ripard        phy-mode = "rgmii";
2580569929dSMaxime Ripard        allwinner,leds-active-low;
2590569929dSMaxime Ripard
2600569929dSMaxime Ripard        mdio2: mdio {
2610569929dSMaxime Ripard            #address-cells = <1>;
2620569929dSMaxime Ripard            #size-cells = <0>;
2630569929dSMaxime Ripard            compatible = "snps,dwmac-mdio";
2640569929dSMaxime Ripard        };
2650569929dSMaxime Ripard
2660569929dSMaxime Ripard        mdio-mux {
2670569929dSMaxime Ripard            compatible = "allwinner,sun8i-h3-mdio-mux";
2680569929dSMaxime Ripard            #address-cells = <1>;
2690569929dSMaxime Ripard            #size-cells = <0>;
2700569929dSMaxime Ripard            mdio-parent-bus = <&mdio2>;
2710569929dSMaxime Ripard
2720569929dSMaxime Ripard            mdio@1 {
2730569929dSMaxime Ripard                compatible = "allwinner,sun8i-h3-mdio-internal";
2740569929dSMaxime Ripard                reg = <1>;
2750569929dSMaxime Ripard                #address-cells = <1>;
2760569929dSMaxime Ripard                #size-cells = <0>;
2770569929dSMaxime Ripard
2780569929dSMaxime Ripard                ethernet-phy@1 {
2790569929dSMaxime Ripard                    reg = <1>;
2800569929dSMaxime Ripard                    clocks = <&ccu 67>;
2810569929dSMaxime Ripard                    resets = <&ccu 39>;
2820569929dSMaxime Ripard                };
2830569929dSMaxime Ripard            };
2840569929dSMaxime Ripard
2850569929dSMaxime Ripard            mdio@2 {
2860569929dSMaxime Ripard                reg = <2>;
2870569929dSMaxime Ripard                #address-cells = <1>;
2880569929dSMaxime Ripard                #size-cells = <0>;
2890569929dSMaxime Ripard
2900569929dSMaxime Ripard                ext_rgmii_phy: ethernet-phy@1 {
2910569929dSMaxime Ripard                    reg = <1>;
2920569929dSMaxime Ripard                };
2930569929dSMaxime Ripard            };
2940569929dSMaxime Ripard        };
2950569929dSMaxime Ripard    };
2960569929dSMaxime Ripard
2970569929dSMaxime Ripard  - |
2980569929dSMaxime Ripard    ethernet@1c0b000 {
2990569929dSMaxime Ripard        compatible = "allwinner,sun8i-a83t-emac";
3000569929dSMaxime Ripard        syscon = <&syscon>;
3010569929dSMaxime Ripard        reg = <0x01c0b000 0x104>;
3020569929dSMaxime Ripard        interrupts = <0 82 1>;
3030569929dSMaxime Ripard        interrupt-names = "macirq";
3040569929dSMaxime Ripard        resets = <&ccu 13>;
3050569929dSMaxime Ripard        reset-names = "stmmaceth";
3060569929dSMaxime Ripard        clocks = <&ccu 27>;
3070569929dSMaxime Ripard        clock-names = "stmmaceth";
3080569929dSMaxime Ripard        phy-handle = <&ext_rgmii_phy1>;
30967d0da99SMaxime Ripard        phy-mode = "rgmii";
3100569929dSMaxime Ripard
3110569929dSMaxime Ripard        mdio {
3120569929dSMaxime Ripard            compatible = "snps,dwmac-mdio";
3130569929dSMaxime Ripard            #address-cells = <1>;
3140569929dSMaxime Ripard            #size-cells = <0>;
3150569929dSMaxime Ripard
3160569929dSMaxime Ripard            ext_rgmii_phy1: ethernet-phy@1 {
3170569929dSMaxime Ripard                reg = <1>;
3180569929dSMaxime Ripard            };
3190569929dSMaxime Ripard        };
3200569929dSMaxime Ripard    };
3210569929dSMaxime Ripard
3220569929dSMaxime Ripard...
323