1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/qca,ar71xx.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadottitle: QCA AR71XX MAC 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel VadotallOf: 10c66ec88fSEmmanuel Vadot - $ref: ethernet-controller.yaml# 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotmaintainers: 13c66ec88fSEmmanuel Vadot - Oleksij Rempel <o.rempel@pengutronix.de> 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotproperties: 16c66ec88fSEmmanuel Vadot compatible: 17c66ec88fSEmmanuel Vadot oneOf: 18c66ec88fSEmmanuel Vadot - items: 19c66ec88fSEmmanuel Vadot - enum: 20c66ec88fSEmmanuel Vadot - qca,ar7100-eth # Atheros AR7100 21c66ec88fSEmmanuel Vadot - qca,ar7240-eth # Atheros AR7240 22c66ec88fSEmmanuel Vadot - qca,ar7241-eth # Atheros AR7241 23c66ec88fSEmmanuel Vadot - qca,ar7242-eth # Atheros AR7242 24c66ec88fSEmmanuel Vadot - qca,ar9130-eth # Atheros AR9130 25c66ec88fSEmmanuel Vadot - qca,ar9330-eth # Atheros AR9330 26c66ec88fSEmmanuel Vadot - qca,ar9340-eth # Atheros AR9340 27c66ec88fSEmmanuel Vadot - qca,qca9530-eth # Qualcomm Atheros QCA9530 28c66ec88fSEmmanuel Vadot - qca,qca9550-eth # Qualcomm Atheros QCA9550 29c66ec88fSEmmanuel Vadot - qca,qca9560-eth # Qualcomm Atheros QCA9560 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot reg: 32c66ec88fSEmmanuel Vadot maxItems: 1 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot interrupts: 35c66ec88fSEmmanuel Vadot maxItems: 1 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot clocks: 38c66ec88fSEmmanuel Vadot items: 39c66ec88fSEmmanuel Vadot - description: MAC main clock 40c66ec88fSEmmanuel Vadot - description: MDIO clock 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot clock-names: 43c66ec88fSEmmanuel Vadot items: 44c66ec88fSEmmanuel Vadot - const: eth 45c66ec88fSEmmanuel Vadot - const: mdio 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot resets: 48c66ec88fSEmmanuel Vadot items: 49c66ec88fSEmmanuel Vadot - description: MAC reset 50c66ec88fSEmmanuel Vadot - description: MDIO reset 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot reset-names: 53c66ec88fSEmmanuel Vadot items: 54c66ec88fSEmmanuel Vadot - const: mac 55c66ec88fSEmmanuel Vadot - const: mdio 56c66ec88fSEmmanuel Vadot 57*e67e8565SEmmanuel Vadot mdio: 58*e67e8565SEmmanuel Vadot $ref: mdio.yaml# 59*e67e8565SEmmanuel Vadot unevaluatedProperties: false 60*e67e8565SEmmanuel Vadot 61c66ec88fSEmmanuel Vadotrequired: 62c66ec88fSEmmanuel Vadot - compatible 63c66ec88fSEmmanuel Vadot - reg 64c66ec88fSEmmanuel Vadot - interrupts 65c66ec88fSEmmanuel Vadot - phy-mode 66c66ec88fSEmmanuel Vadot - clocks 67c66ec88fSEmmanuel Vadot - clock-names 68c66ec88fSEmmanuel Vadot - resets 69c66ec88fSEmmanuel Vadot - reset-names 70c66ec88fSEmmanuel Vadot 716be33864SEmmanuel VadotunevaluatedProperties: false 726be33864SEmmanuel Vadot 73c66ec88fSEmmanuel Vadotexamples: 74c66ec88fSEmmanuel Vadot # Lager board 75c66ec88fSEmmanuel Vadot - | 76c66ec88fSEmmanuel Vadot eth0: ethernet@19000000 { 77c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-eth"; 78c66ec88fSEmmanuel Vadot reg = <0x19000000 0x200>; 79c66ec88fSEmmanuel Vadot interrupts = <4>; 80c66ec88fSEmmanuel Vadot resets = <&rst 9>, <&rst 22>; 81c66ec88fSEmmanuel Vadot reset-names = "mac", "mdio"; 82c66ec88fSEmmanuel Vadot clocks = <&pll 1>, <&pll 2>; 83c66ec88fSEmmanuel Vadot clock-names = "eth", "mdio"; 84c66ec88fSEmmanuel Vadot phy-mode = "mii"; 85c66ec88fSEmmanuel Vadot phy-handle = <&phy_port4>; 86c66ec88fSEmmanuel Vadot }; 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot eth1: ethernet@1a000000 { 89c66ec88fSEmmanuel Vadot compatible = "qca,ar9330-eth"; 90c66ec88fSEmmanuel Vadot reg = <0x1a000000 0x200>; 91c66ec88fSEmmanuel Vadot interrupts = <5>; 92c66ec88fSEmmanuel Vadot resets = <&rst 13>, <&rst 23>; 93c66ec88fSEmmanuel Vadot reset-names = "mac", "mdio"; 94c66ec88fSEmmanuel Vadot clocks = <&pll 1>, <&pll 2>; 95c66ec88fSEmmanuel Vadot clock-names = "eth", "mdio"; 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot phy-mode = "gmii"; 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot fixed-link { 100c66ec88fSEmmanuel Vadot speed = <1000>; 101c66ec88fSEmmanuel Vadot full-duplex; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot mdio { 105c66ec88fSEmmanuel Vadot #address-cells = <1>; 106c66ec88fSEmmanuel Vadot #size-cells = <0>; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot switch10: switch@10 { 109c66ec88fSEmmanuel Vadot compatible = "qca,ar9331-switch"; 110c66ec88fSEmmanuel Vadot reg = <0x10>; 111c66ec88fSEmmanuel Vadot resets = <&rst 8>; 112c66ec88fSEmmanuel Vadot reset-names = "switch"; 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot interrupt-parent = <&miscintc>; 115c66ec88fSEmmanuel Vadot interrupts = <12>; 116c66ec88fSEmmanuel Vadot 117c66ec88fSEmmanuel Vadot interrupt-controller; 118c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot ports { 121c66ec88fSEmmanuel Vadot #address-cells = <1>; 122c66ec88fSEmmanuel Vadot #size-cells = <0>; 123c66ec88fSEmmanuel Vadot 124c66ec88fSEmmanuel Vadot switch_port0: port@0 { 125c66ec88fSEmmanuel Vadot reg = <0x0>; 126c66ec88fSEmmanuel Vadot ethernet = <ð1>; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot phy-mode = "gmii"; 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot fixed-link { 131c66ec88fSEmmanuel Vadot speed = <1000>; 132c66ec88fSEmmanuel Vadot full-duplex; 133c66ec88fSEmmanuel Vadot }; 134c66ec88fSEmmanuel Vadot }; 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot switch_port1: port@1 { 137c66ec88fSEmmanuel Vadot reg = <0x1>; 138c66ec88fSEmmanuel Vadot phy-handle = <&phy_port0>; 139c66ec88fSEmmanuel Vadot phy-mode = "internal"; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot switch_port2: port@2 { 143c66ec88fSEmmanuel Vadot reg = <0x2>; 144c66ec88fSEmmanuel Vadot phy-handle = <&phy_port1>; 145c66ec88fSEmmanuel Vadot phy-mode = "internal"; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot switch_port3: port@3 { 149c66ec88fSEmmanuel Vadot reg = <0x3>; 150c66ec88fSEmmanuel Vadot phy-handle = <&phy_port2>; 151c66ec88fSEmmanuel Vadot phy-mode = "internal"; 152c66ec88fSEmmanuel Vadot }; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot switch_port4: port@4 { 155c66ec88fSEmmanuel Vadot reg = <0x4>; 156c66ec88fSEmmanuel Vadot phy-handle = <&phy_port3>; 157c66ec88fSEmmanuel Vadot phy-mode = "internal"; 158c66ec88fSEmmanuel Vadot }; 159c66ec88fSEmmanuel Vadot }; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot mdio { 162c66ec88fSEmmanuel Vadot #address-cells = <1>; 163c66ec88fSEmmanuel Vadot #size-cells = <0>; 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot interrupt-parent = <&switch10>; 166c66ec88fSEmmanuel Vadot 167354d7675SEmmanuel Vadot phy_port0: ethernet-phy@0 { 168c66ec88fSEmmanuel Vadot reg = <0x0>; 169c66ec88fSEmmanuel Vadot interrupts = <0>; 170c66ec88fSEmmanuel Vadot }; 171c66ec88fSEmmanuel Vadot 172354d7675SEmmanuel Vadot phy_port1: ethernet-phy@1 { 173c66ec88fSEmmanuel Vadot reg = <0x1>; 174c66ec88fSEmmanuel Vadot interrupts = <0>; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot 177354d7675SEmmanuel Vadot phy_port2: ethernet-phy@2 { 178c66ec88fSEmmanuel Vadot reg = <0x2>; 179c66ec88fSEmmanuel Vadot interrupts = <0>; 180c66ec88fSEmmanuel Vadot }; 181c66ec88fSEmmanuel Vadot 182354d7675SEmmanuel Vadot phy_port3: ethernet-phy@3 { 183c66ec88fSEmmanuel Vadot reg = <0x3>; 184c66ec88fSEmmanuel Vadot interrupts = <0>; 185c66ec88fSEmmanuel Vadot }; 186c66ec88fSEmmanuel Vadot 187354d7675SEmmanuel Vadot phy_port4: ethernet-phy@4 { 188c66ec88fSEmmanuel Vadot reg = <0x4>; 189c66ec88fSEmmanuel Vadot interrupts = <0>; 190c66ec88fSEmmanuel Vadot }; 191c66ec88fSEmmanuel Vadot }; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot }; 195