1 # SPDX-License-Identifier: GPL-2.0-only OR BSD 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/dsa/qca 4 $id: http://devicetree.org/schemas/net/dsa/qca,ar9331.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm Atheros AR9331 built-in switch 7 title: Qualcomm Atheros AR9331 built-in switch 8 8 9 maintainers: 9 maintainers: 10 - Oleksij Rempel <o.rempel@pengutronix.de> 10 - Oleksij Rempel <o.rempel@pengutronix.de> 11 11 12 description: 12 description: 13 Qualcomm Atheros AR9331 is a switch built-in 13 Qualcomm Atheros AR9331 is a switch built-in to Atheros AR9331 WiSoC and 14 addressable over internal MDIO bus. All PHYs 14 addressable over internal MDIO bus. All PHYs are built-in as well. 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 const: qca,ar9331-switch 18 const: qca,ar9331-switch 19 19 20 reg: 20 reg: 21 maxItems: 1 21 maxItems: 1 22 22 23 interrupts: 23 interrupts: 24 maxItems: 1 24 maxItems: 1 25 25 26 interrupt-controller: true 26 interrupt-controller: true 27 27 28 '#interrupt-cells': 28 '#interrupt-cells': 29 const: 1 29 const: 1 30 30 31 mdio: 31 mdio: 32 $ref: /schemas/net/mdio.yaml# 32 $ref: /schemas/net/mdio.yaml# 33 unevaluatedProperties: false 33 unevaluatedProperties: false 34 properties: 34 properties: 35 interrupt-parent: true 35 interrupt-parent: true 36 36 37 patternProperties: 37 patternProperties: 38 '(ethernet-)?phy@[0-4]+$': 38 '(ethernet-)?phy@[0-4]+$': 39 type: object 39 type: object 40 unevaluatedProperties: false 40 unevaluatedProperties: false 41 41 42 properties: 42 properties: 43 reg: true 43 reg: true 44 interrupts: 44 interrupts: 45 maxItems: 1 45 maxItems: 1 46 46 47 resets: 47 resets: 48 maxItems: 1 48 maxItems: 1 49 49 50 reset-names: 50 reset-names: 51 items: 51 items: 52 - const: switch 52 - const: switch 53 53 54 required: 54 required: 55 - compatible 55 - compatible 56 - reg 56 - reg 57 - interrupts 57 - interrupts 58 - interrupt-controller 58 - interrupt-controller 59 - '#interrupt-cells' 59 - '#interrupt-cells' 60 - mdio 60 - mdio 61 - ports 61 - ports 62 - resets 62 - resets 63 - reset-names 63 - reset-names 64 64 65 allOf: 65 allOf: 66 - $ref: dsa.yaml#/$defs/ethernet-ports 66 - $ref: dsa.yaml#/$defs/ethernet-ports 67 67 68 unevaluatedProperties: false 68 unevaluatedProperties: false 69 69 70 examples: 70 examples: 71 - | 71 - | 72 mdio { 72 mdio { 73 #address-cells = <1>; 73 #address-cells = <1>; 74 #size-cells = <0>; 74 #size-cells = <0>; 75 75 76 switch10: switch@10 { 76 switch10: switch@10 { 77 compatible = "qca,ar9331-switch"; 77 compatible = "qca,ar9331-switch"; 78 reg = <0x10>; 78 reg = <0x10>; 79 79 80 interrupt-parent = <&miscintc>; 80 interrupt-parent = <&miscintc>; 81 interrupts = <12>; 81 interrupts = <12>; 82 interrupt-controller; 82 interrupt-controller; 83 #interrupt-cells = <1>; 83 #interrupt-cells = <1>; 84 84 85 resets = <&rst 8>; 85 resets = <&rst 8>; 86 reset-names = "switch"; 86 reset-names = "switch"; 87 87 88 ports { 88 ports { 89 #address-cells = <1>; 89 #address-cells = <1>; 90 #size-cells = <0>; 90 #size-cells = <0>; 91 91 92 port@0 { 92 port@0 { 93 reg = <0x0>; 93 reg = <0x0>; 94 ethernet = <ð1>; 94 ethernet = <ð1>; 95 95 96 phy-mode = "gmii"; 96 phy-mode = "gmii"; 97 97 98 fixed-link { 98 fixed-link { 99 speed = <1000>; 99 speed = <1000>; 100 full-duplex; 100 full-duplex; 101 }; 101 }; 102 }; 102 }; 103 103 104 port@1 { 104 port@1 { 105 reg = <0x1>; 105 reg = <0x1>; 106 phy-handle = <&phy_port0>; 106 phy-handle = <&phy_port0>; 107 phy-mode = "internal"; 107 phy-mode = "internal"; 108 }; 108 }; 109 109 110 port@2 { 110 port@2 { 111 reg = <0x2>; 111 reg = <0x2>; 112 phy-handle = <&phy_port1>; 112 phy-handle = <&phy_port1>; 113 phy-mode = "internal"; 113 phy-mode = "internal"; 114 }; 114 }; 115 115 116 port@3 { 116 port@3 { 117 reg = <0x3>; 117 reg = <0x3>; 118 phy-handle = <&phy_port2>; 118 phy-handle = <&phy_port2>; 119 phy-mode = "internal"; 119 phy-mode = "internal"; 120 }; 120 }; 121 121 122 port@4 { 122 port@4 { 123 reg = <0x4>; 123 reg = <0x4>; 124 phy-handle = <&phy_port3>; 124 phy-handle = <&phy_port3>; 125 phy-mode = "internal"; 125 phy-mode = "internal"; 126 }; 126 }; 127 }; 127 }; 128 128 129 mdio { 129 mdio { 130 #address-cells = <1>; 130 #address-cells = <1>; 131 #size-cells = <0>; 131 #size-cells = <0>; 132 132 133 interrupt-parent = <&switch10> 133 interrupt-parent = <&switch10>; 134 134 135 phy_port0: ethernet-phy@0 { 135 phy_port0: ethernet-phy@0 { 136 reg = <0x0>; 136 reg = <0x0>; 137 interrupts = <0>; 137 interrupts = <0>; 138 }; 138 }; 139 139 140 phy_port1: ethernet-phy@1 { 140 phy_port1: ethernet-phy@1 { 141 reg = <0x1>; 141 reg = <0x1>; 142 interrupts = <0>; 142 interrupts = <0>; 143 }; 143 }; 144 144 145 phy_port2: ethernet-phy@2 { 145 phy_port2: ethernet-phy@2 { 146 reg = <0x2>; 146 reg = <0x2>; 147 interrupts = <0>; 147 interrupts = <0>; 148 }; 148 }; 149 149 150 phy_port3: ethernet-phy@3 { 150 phy_port3: ethernet-phy@3 { 151 reg = <0x3>; 151 reg = <0x3>; 152 interrupts = <0>; 152 interrupts = <0>; 153 }; 153 }; 154 154 155 phy_port4: ethernet-phy@4 { 155 phy_port4: ethernet-phy@4 { 156 reg = <0x4>; 156 reg = <0x4>; 157 interrupts = <0>; 157 interrupts = <0>; 158 }; 158 }; 159 }; 159 }; 160 }; 160 }; 161 }; 161 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.