# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/qca,ar71xx.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: QCA AR71XX MAC allOf: - $ref: ethernet-controller.yaml# maintainers: - Oleksij Rempel properties: compatible: oneOf: - items: - enum: - qca,ar7100-eth # Atheros AR7100 - qca,ar7240-eth # Atheros AR7240 - qca,ar7241-eth # Atheros AR7241 - qca,ar7242-eth # Atheros AR7242 - qca,ar9130-eth # Atheros AR9130 - qca,ar9330-eth # Atheros AR9330 - qca,ar9340-eth # Atheros AR9340 - qca,qca9530-eth # Qualcomm Atheros QCA9530 - qca,qca9550-eth # Qualcomm Atheros QCA9550 - qca,qca9560-eth # Qualcomm Atheros QCA9560 reg: maxItems: 1 interrupts: maxItems: 1 '#address-cells': description: number of address cells for the MDIO bus const: 1 '#size-cells': description: number of size cells on the MDIO bus const: 0 clocks: items: - description: MAC main clock - description: MDIO clock clock-names: items: - const: eth - const: mdio resets: items: - description: MAC reset - description: MDIO reset reset-names: items: - const: mac - const: mdio required: - compatible - reg - interrupts - phy-mode - clocks - clock-names - resets - reset-names unevaluatedProperties: false examples: # Lager board - | eth0: ethernet@19000000 { compatible = "qca,ar9330-eth"; reg = <0x19000000 0x200>; interrupts = <4>; resets = <&rst 9>, <&rst 22>; reset-names = "mac", "mdio"; clocks = <&pll 1>, <&pll 2>; clock-names = "eth", "mdio"; qca,ethcfg = <ðcfg>; phy-mode = "mii"; phy-handle = <&phy_port4>; }; eth1: ethernet@1a000000 { compatible = "qca,ar9330-eth"; reg = <0x1a000000 0x200>; interrupts = <5>; resets = <&rst 13>, <&rst 23>; reset-names = "mac", "mdio"; clocks = <&pll 1>, <&pll 2>; clock-names = "eth", "mdio"; phy-mode = "gmii"; status = "disabled"; fixed-link { speed = <1000>; full-duplex; }; mdio { #address-cells = <1>; #size-cells = <0>; switch10: switch@10 { #address-cells = <1>; #size-cells = <0>; compatible = "qca,ar9331-switch"; reg = <0x10>; resets = <&rst 8>; reset-names = "switch"; interrupt-parent = <&miscintc>; interrupts = <12>; interrupt-controller; #interrupt-cells = <1>; ports { #address-cells = <1>; #size-cells = <0>; switch_port0: port@0 { reg = <0x0>; label = "cpu"; ethernet = <ð1>; phy-mode = "gmii"; fixed-link { speed = <1000>; full-duplex; }; }; switch_port1: port@1 { reg = <0x1>; phy-handle = <&phy_port0>; phy-mode = "internal"; status = "disabled"; }; switch_port2: port@2 { reg = <0x2>; phy-handle = <&phy_port1>; phy-mode = "internal"; status = "disabled"; }; switch_port3: port@3 { reg = <0x3>; phy-handle = <&phy_port2>; phy-mode = "internal"; status = "disabled"; }; switch_port4: port@4 { reg = <0x4>; phy-handle = <&phy_port3>; phy-mode = "internal"; status = "disabled"; }; }; mdio { #address-cells = <1>; #size-cells = <0>; interrupt-parent = <&switch10>; phy_port0: phy@0 { reg = <0x0>; interrupts = <0>; status = "disabled"; }; phy_port1: phy@1 { reg = <0x1>; interrupts = <0>; status = "disabled"; }; phy_port2: phy@2 { reg = <0x2>; interrupts = <0>; status = "disabled"; }; phy_port3: phy@3 { reg = <0x3>; interrupts = <0>; status = "disabled"; }; phy_port4: phy@4 { reg = <0x4>; interrupts = <0>; status = "disabled"; }; }; }; }; };