2020-04-24 07:21:16 +02:00
# 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 <o.rempel@pengutronix.de>
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
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
2022-01-05 09:10:09 -06:00
mdio :
$ref : mdio.yaml#
unevaluatedProperties : false
2020-04-24 07:21:16 +02:00
required :
- compatible
- reg
- interrupts
- phy-mode
- clocks
- clock-names
- resets
- reset-names
2020-10-05 13:38:27 -05:00
unevaluatedProperties : false
2020-04-24 07:21:16 +02:00
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";
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";
fixed-link {
speed = <1000>;
full-duplex;
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
switch10 : switch@10 {
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";
};
switch_port2 : port@2 {
reg = <0x2>;
phy-handle = <&phy_port1>;
phy-mode = "internal";
};
switch_port3 : port@3 {
reg = <0x3>;
phy-handle = <&phy_port2>;
phy-mode = "internal";
};
switch_port4 : port@4 {
reg = <0x4>;
phy-handle = <&phy_port3>;
phy-mode = "internal";
};
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
interrupt-parent = <&switch10>;
2021-07-20 11:20:25 -06:00
phy_port0 : ethernet-phy@0 {
2020-04-24 07:21:16 +02:00
reg = <0x0>;
interrupts = <0>;
};
2021-07-20 11:20:25 -06:00
phy_port1 : ethernet-phy@1 {
2020-04-24 07:21:16 +02:00
reg = <0x1>;
interrupts = <0>;
};
2021-07-20 11:20:25 -06:00
phy_port2 : ethernet-phy@2 {
2020-04-24 07:21:16 +02:00
reg = <0x2>;
interrupts = <0>;
};
2021-07-20 11:20:25 -06:00
phy_port3 : ethernet-phy@3 {
2020-04-24 07:21:16 +02:00
reg = <0x3>;
interrupts = <0>;
};
2021-07-20 11:20:25 -06:00
phy_port4 : ethernet-phy@4 {
2020-04-24 07:21:16 +02:00
reg = <0x4>;
interrupts = <0>;
};
};
};
};
};