xref: /src/sys/contrib/device-tree/Bindings/net/qca,ar71xx.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
12554fe8fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22554fe8fSEmmanuel Vadot%YAML 1.2
32554fe8fSEmmanuel Vadot---
42554fe8fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/qca,ar71xx.yaml#
52554fe8fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62554fe8fSEmmanuel Vadot
72554fe8fSEmmanuel Vadottitle: QCA AR71XX MAC
82554fe8fSEmmanuel Vadot
92554fe8fSEmmanuel VadotallOf:
102554fe8fSEmmanuel Vadot  - $ref: ethernet-controller.yaml#
112554fe8fSEmmanuel Vadot
122554fe8fSEmmanuel Vadotmaintainers:
132554fe8fSEmmanuel Vadot  - Oleksij Rempel <o.rempel@pengutronix.de>
142554fe8fSEmmanuel Vadot
152554fe8fSEmmanuel Vadotproperties:
162554fe8fSEmmanuel Vadot  compatible:
172554fe8fSEmmanuel Vadot    oneOf:
182554fe8fSEmmanuel Vadot      - items:
192554fe8fSEmmanuel Vadot          - enum:
202554fe8fSEmmanuel Vadot              - qca,ar7100-eth   # Atheros AR7100
212554fe8fSEmmanuel Vadot              - qca,ar7240-eth   # Atheros AR7240
222554fe8fSEmmanuel Vadot              - qca,ar7241-eth   # Atheros AR7241
232554fe8fSEmmanuel Vadot              - qca,ar7242-eth   # Atheros AR7242
242554fe8fSEmmanuel Vadot              - qca,ar9130-eth   # Atheros AR9130
252554fe8fSEmmanuel Vadot              - qca,ar9330-eth   # Atheros AR9330
262554fe8fSEmmanuel Vadot              - qca,ar9340-eth   # Atheros AR9340
272554fe8fSEmmanuel Vadot              - qca,qca9530-eth  # Qualcomm Atheros QCA9530
282554fe8fSEmmanuel Vadot              - qca,qca9550-eth  # Qualcomm Atheros QCA9550
292554fe8fSEmmanuel Vadot              - qca,qca9560-eth  # Qualcomm Atheros QCA9560
302554fe8fSEmmanuel Vadot
312554fe8fSEmmanuel Vadot  reg:
322554fe8fSEmmanuel Vadot    maxItems: 1
332554fe8fSEmmanuel Vadot
342554fe8fSEmmanuel Vadot  interrupts:
352554fe8fSEmmanuel Vadot    maxItems: 1
362554fe8fSEmmanuel Vadot
372554fe8fSEmmanuel Vadot  clocks:
382554fe8fSEmmanuel Vadot    items:
392554fe8fSEmmanuel Vadot      - description: MAC main clock
402554fe8fSEmmanuel Vadot      - description: MDIO clock
412554fe8fSEmmanuel Vadot
422554fe8fSEmmanuel Vadot  clock-names:
432554fe8fSEmmanuel Vadot    items:
442554fe8fSEmmanuel Vadot      - const: eth
452554fe8fSEmmanuel Vadot      - const: mdio
462554fe8fSEmmanuel Vadot
472554fe8fSEmmanuel Vadot  resets:
482554fe8fSEmmanuel Vadot    items:
492554fe8fSEmmanuel Vadot      - description: MAC reset
502554fe8fSEmmanuel Vadot      - description: MDIO reset
512554fe8fSEmmanuel Vadot
522554fe8fSEmmanuel Vadot  reset-names:
532554fe8fSEmmanuel Vadot    items:
542554fe8fSEmmanuel Vadot      - const: mac
552554fe8fSEmmanuel Vadot      - const: mdio
562554fe8fSEmmanuel Vadot
57b7d8b563SEmmanuel Vadot  mdio:
58b7d8b563SEmmanuel Vadot    $ref: mdio.yaml#
59b7d8b563SEmmanuel Vadot    unevaluatedProperties: false
60b7d8b563SEmmanuel Vadot
612554fe8fSEmmanuel Vadotrequired:
622554fe8fSEmmanuel Vadot  - compatible
632554fe8fSEmmanuel Vadot  - reg
642554fe8fSEmmanuel Vadot  - interrupts
652554fe8fSEmmanuel Vadot  - phy-mode
662554fe8fSEmmanuel Vadot  - clocks
672554fe8fSEmmanuel Vadot  - clock-names
682554fe8fSEmmanuel Vadot  - resets
692554fe8fSEmmanuel Vadot  - reset-names
702554fe8fSEmmanuel Vadot
71e7ffa3b5SEmmanuel VadotunevaluatedProperties: false
72e7ffa3b5SEmmanuel Vadot
732554fe8fSEmmanuel Vadotexamples:
742554fe8fSEmmanuel Vadot  # Lager board
752554fe8fSEmmanuel Vadot  - |
762554fe8fSEmmanuel Vadot    eth0: ethernet@19000000 {
772554fe8fSEmmanuel Vadot        compatible = "qca,ar9330-eth";
782554fe8fSEmmanuel Vadot        reg = <0x19000000 0x200>;
792554fe8fSEmmanuel Vadot        interrupts = <4>;
802554fe8fSEmmanuel Vadot        resets = <&rst 9>, <&rst 22>;
812554fe8fSEmmanuel Vadot        reset-names = "mac", "mdio";
822554fe8fSEmmanuel Vadot        clocks = <&pll 1>, <&pll 2>;
832554fe8fSEmmanuel Vadot        clock-names = "eth", "mdio";
842554fe8fSEmmanuel Vadot        phy-mode = "mii";
852554fe8fSEmmanuel Vadot        phy-handle = <&phy_port4>;
862554fe8fSEmmanuel Vadot    };
872554fe8fSEmmanuel Vadot
882554fe8fSEmmanuel Vadot    eth1: ethernet@1a000000 {
892554fe8fSEmmanuel Vadot        compatible = "qca,ar9330-eth";
902554fe8fSEmmanuel Vadot        reg = <0x1a000000 0x200>;
912554fe8fSEmmanuel Vadot        interrupts = <5>;
922554fe8fSEmmanuel Vadot        resets = <&rst 13>, <&rst 23>;
932554fe8fSEmmanuel Vadot        reset-names = "mac", "mdio";
942554fe8fSEmmanuel Vadot        clocks = <&pll 1>, <&pll 2>;
952554fe8fSEmmanuel Vadot        clock-names = "eth", "mdio";
962554fe8fSEmmanuel Vadot
972554fe8fSEmmanuel Vadot        phy-mode = "gmii";
982554fe8fSEmmanuel Vadot
992554fe8fSEmmanuel Vadot        fixed-link {
1002554fe8fSEmmanuel Vadot            speed = <1000>;
1012554fe8fSEmmanuel Vadot            full-duplex;
1022554fe8fSEmmanuel Vadot        };
1032554fe8fSEmmanuel Vadot
1042554fe8fSEmmanuel Vadot        mdio {
1052554fe8fSEmmanuel Vadot            #address-cells = <1>;
1062554fe8fSEmmanuel Vadot            #size-cells = <0>;
1072554fe8fSEmmanuel Vadot
1082554fe8fSEmmanuel Vadot            switch10: switch@10 {
1092554fe8fSEmmanuel Vadot                compatible = "qca,ar9331-switch";
1102554fe8fSEmmanuel Vadot                reg = <0x10>;
1112554fe8fSEmmanuel Vadot                resets = <&rst 8>;
1122554fe8fSEmmanuel Vadot                reset-names = "switch";
1132554fe8fSEmmanuel Vadot
1142554fe8fSEmmanuel Vadot                interrupt-parent = <&miscintc>;
1152554fe8fSEmmanuel Vadot                interrupts = <12>;
1162554fe8fSEmmanuel Vadot
1172554fe8fSEmmanuel Vadot                interrupt-controller;
1182554fe8fSEmmanuel Vadot                #interrupt-cells = <1>;
1192554fe8fSEmmanuel Vadot
1202554fe8fSEmmanuel Vadot                ports {
1212554fe8fSEmmanuel Vadot                    #address-cells = <1>;
1222554fe8fSEmmanuel Vadot                    #size-cells = <0>;
1232554fe8fSEmmanuel Vadot
1242554fe8fSEmmanuel Vadot                    switch_port0: port@0 {
1252554fe8fSEmmanuel Vadot                        reg = <0x0>;
1262554fe8fSEmmanuel Vadot                        ethernet = <&eth1>;
1272554fe8fSEmmanuel Vadot
1282554fe8fSEmmanuel Vadot                        phy-mode = "gmii";
1292554fe8fSEmmanuel Vadot
1302554fe8fSEmmanuel Vadot                        fixed-link {
1312554fe8fSEmmanuel Vadot                            speed = <1000>;
1322554fe8fSEmmanuel Vadot                            full-duplex;
1332554fe8fSEmmanuel Vadot                        };
1342554fe8fSEmmanuel Vadot                    };
1352554fe8fSEmmanuel Vadot
1362554fe8fSEmmanuel Vadot                    switch_port1: port@1 {
1372554fe8fSEmmanuel Vadot                        reg = <0x1>;
1382554fe8fSEmmanuel Vadot                        phy-handle = <&phy_port0>;
1392554fe8fSEmmanuel Vadot                        phy-mode = "internal";
1402554fe8fSEmmanuel Vadot                    };
1412554fe8fSEmmanuel Vadot
1422554fe8fSEmmanuel Vadot                    switch_port2: port@2 {
1432554fe8fSEmmanuel Vadot                        reg = <0x2>;
1442554fe8fSEmmanuel Vadot                        phy-handle = <&phy_port1>;
1452554fe8fSEmmanuel Vadot                        phy-mode = "internal";
1462554fe8fSEmmanuel Vadot                    };
1472554fe8fSEmmanuel Vadot
1482554fe8fSEmmanuel Vadot                    switch_port3: port@3 {
1492554fe8fSEmmanuel Vadot                        reg = <0x3>;
1502554fe8fSEmmanuel Vadot                        phy-handle = <&phy_port2>;
1512554fe8fSEmmanuel Vadot                        phy-mode = "internal";
1522554fe8fSEmmanuel Vadot                    };
1532554fe8fSEmmanuel Vadot
1542554fe8fSEmmanuel Vadot                    switch_port4: port@4 {
1552554fe8fSEmmanuel Vadot                        reg = <0x4>;
1562554fe8fSEmmanuel Vadot                        phy-handle = <&phy_port3>;
1572554fe8fSEmmanuel Vadot                        phy-mode = "internal";
1582554fe8fSEmmanuel Vadot                    };
1592554fe8fSEmmanuel Vadot                };
1602554fe8fSEmmanuel Vadot
1612554fe8fSEmmanuel Vadot                mdio {
1622554fe8fSEmmanuel Vadot                    #address-cells = <1>;
1632554fe8fSEmmanuel Vadot                    #size-cells = <0>;
1642554fe8fSEmmanuel Vadot
1652554fe8fSEmmanuel Vadot                    interrupt-parent = <&switch10>;
1662554fe8fSEmmanuel Vadot
1671769b8f3SEmmanuel Vadot                    phy_port0: ethernet-phy@0 {
1682554fe8fSEmmanuel Vadot                        reg = <0x0>;
1692554fe8fSEmmanuel Vadot                        interrupts = <0>;
1702554fe8fSEmmanuel Vadot                    };
1712554fe8fSEmmanuel Vadot
1721769b8f3SEmmanuel Vadot                    phy_port1: ethernet-phy@1 {
1732554fe8fSEmmanuel Vadot                        reg = <0x1>;
1742554fe8fSEmmanuel Vadot                        interrupts = <0>;
1752554fe8fSEmmanuel Vadot                    };
1762554fe8fSEmmanuel Vadot
1771769b8f3SEmmanuel Vadot                    phy_port2: ethernet-phy@2 {
1782554fe8fSEmmanuel Vadot                        reg = <0x2>;
1792554fe8fSEmmanuel Vadot                        interrupts = <0>;
1802554fe8fSEmmanuel Vadot                    };
1812554fe8fSEmmanuel Vadot
1821769b8f3SEmmanuel Vadot                    phy_port3: ethernet-phy@3 {
1832554fe8fSEmmanuel Vadot                        reg = <0x3>;
1842554fe8fSEmmanuel Vadot                        interrupts = <0>;
1852554fe8fSEmmanuel Vadot                    };
1862554fe8fSEmmanuel Vadot
1871769b8f3SEmmanuel Vadot                    phy_port4: ethernet-phy@4 {
1882554fe8fSEmmanuel Vadot                        reg = <0x4>;
1892554fe8fSEmmanuel Vadot                        interrupts = <0>;
1902554fe8fSEmmanuel Vadot                    };
1912554fe8fSEmmanuel Vadot                };
1922554fe8fSEmmanuel Vadot            };
1932554fe8fSEmmanuel Vadot        };
1942554fe8fSEmmanuel Vadot    };
195