My question is around getting that overlay correct from fragment 155 to 159 for the ETH1 to ETH4 ports. I am not getting traffic on these ports and something is amiss.
fragment@155 {
target-path = "/bus@100000/ethernet@c000000/mdio@f00";
__overlay__ {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
/* Shared VSC8514 reset drive on Aquila B46 / GPIO0_33. GPIO is active-high into MOSFET; MOSFET applies active-low nRESET to PHY.
* Datasheet requires >=2 ms assertion after power/clock stable
* and >=105 ms before SMI/MDIO access after de-assert.
* Use 200 ms margin for bring-up.
*/
reset-gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>;
/* This is a bus-level shared reset for all four VSC8514 PHY addresses. */
/* Assert reset for 10 ms, then wait 200 ms after deassert before MDIO. */
reset-delay-us = <10000>;
reset-post-delay-us = <200000>;
qsgmii_phy0: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x04>;
#phy-cells = <0>;
max-speed = <1000>;
};
qsgmii_phy1: ethernet-phy@5 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x05>;
#phy-cells = <0>;
max-speed = <1000>;
};
qsgmii_phy2: ethernet-phy@6 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x06>;
#phy-cells = <0>;
max-speed = <1000>;
};
qsgmii_phy3: ethernet-phy@7 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x07>;
#phy-cells = <0>;
max-speed = <1000>;
};
};
};
fragment@156 {
target-path = "/bus@100000/ethernet@c000000/ethernet-ports/port@1";
__overlay__ {
status = "okay";
label = "port1";
reg = <0x01>;
phy-mode = "qsgmii";
phy-handle = <&qsgmii_phy0>;
local-mac-address = [00 14 2d d0 2d c1];
/* MAC mux plus shared SERDES2 lane 3 configured as QSGMII. */
phys = <&cpsw0_phy_gmii_sel 1>, <&serdes2_qsgmii_link>;
phy-names = "mac", "serdes";
};
};
fragment@157 {
target-path = "/bus@100000/ethernet@c000000/ethernet-ports/port@2";
__overlay__ {
status = "okay";
label = "port2";
reg = <0x02>;
phy-mode = "qsgmii";
phy-handle = <&qsgmii_phy1>;
local-mac-address = [00 14 2d d0 2d c2];
/* MAC mux plus shared SERDES2 lane 3 configured as QSGMII. */
phys = <&cpsw0_phy_gmii_sel 2>, <&serdes2_qsgmii_link>;
phy-names = "mac", "serdes";
};
};
fragment@158 {
target-path = "/bus@100000/ethernet@c000000/ethernet-ports/port@3";
__overlay__ {
status = "okay";
label = "port3";
reg = <0x03>;
phy-mode = "qsgmii";
phy-handle = <&qsgmii_phy2>;
local-mac-address = [00 14 2d d0 2d c3];
/* MAC mux plus shared SERDES2 lane 3 configured as QSGMII. */
phys = <&cpsw0_phy_gmii_sel 3>, <&serdes2_qsgmii_link>;
phy-names = "mac", "serdes";
};
};
fragment@159 {
target-path = "/bus@100000/ethernet@c000000/ethernet-ports/port@4";
__overlay__ {
status = "okay";
label = "port4";
reg = <0x04>;
phy-mode = "qsgmii";
phy-handle = <&qsgmii_phy3>;
local-mac-address = [00 14 2d d0 2d c4];
/* MAC mux plus shared SERDES2 lane 3 configured as QSGMII. */
phys = <&cpsw0_phy_gmii_sel 4>, <&serdes2_qsgmii_link>;
phy-names = "mac", "serdes";
};
};
fragment@160 {
target-path = "/bus@100000/pinctrl@11c000";
__overlay__ {
bia5_v11_cpsw9g_mdio_pins: bia5-v11-cpsw9g-mdio-pins {
pinctrl-single,pins = <
/* MDIO */
J784S4_IOPAD(0x5c, PIN_INPUT_PULLUP, 4)
/* MDC */
J784S4_IOPAD(0x58, PIN_OUTPUT, 4)
>;
};
};
};
fragment@161 {
target-path = "/bus@100000/ethernet@c000000/mdio@f00";
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <
&bia5_v11_cpsw9g_mdio_pins
>;
};
};
when I run “ip link” at the command line, it shows that the ports are there, but I am not seeing traffic on the ports at all. a connected laptop shows that there is a connection but no traffic.
Is this a configuration issue with the overlay, or should I be digging deeper into a hardware issue?
root@aquila-am69-12594628:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:14:2d:c0:2d:c4 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:14:2d:d0:2d:c1 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:14:2d:d0:2d:c2 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:14:2d:d0:2d:c3 brd ff:ff:ff:ff:ff:ff
6: eth4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:14:2d:d0:2d:c4 brd ff:ff:ff:ff:ff:ff
root@aquila-am69-12594628:~# ethtool eth4
Settings for eth4:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Auto-negotiation: on
Port: MII
PHYAD: 0
Transceiver: internal
Supports Wake-on: d
Wake-on: d
Current message level: 0x000020f7 (8439)
drv probe link ifdown ifup rx_err tx_err hw
Link detected: no
root@aquila-am69-12594628:~#

