We replaced PHY with Qualcomm AR8035 on our custom board,
and we have no response from it too.
The error is below:
eqos_open: Cannot attach to PHY (error: -19)
which is also mentioned in:
On the X200 carrier board for the AGX Xavier we have implemented the Micrel (Artheros) AR8035 PHY instead of the Marvell PHY (U1: 88E1512PB2-NNP2C000).
In the Linux configuration of the dev kit in the PHY we have noticed that the Marvell and Micrel PHYs are compiled in the kernel. We have disabled those and enabled the AT803x PHY as a module, assuming that the Artheros PHY AT8035 is the same as the Artheros AR8035.
Then we successfully loaded the AR8030x.ko module with sudo modprobe. But is do…
Does anybody know how to modify the following block for this PHY?
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
reg = <0>;
phy_rst_lp_mode = <1>; // 0=disable 1=enable
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
marvell,copper-mode;
// Setup LED[2] as interrupt pin (active low)
marvell,reg-init = <0x03 0x12 0x7fff 0x880>;
};
};
Best,
Hi,
The phy register is followed by the linux kernel framework.
https://www.kernel.org/doc/html/latest/networking/phy.html
“mdiobus_register” from Linux PHY framework will take care of scanning all the PHY devices (Max is 32) that are connected to the MDIO bus and loads the corresponding driver accordingly.
We will call this function as a part of our driver probe.
Please make sure the device driver is really for your AR8035 now.
lbuntu@jetson-E3360A01P0351:/sys/bus/mdio_bus/devices/2490000.ether_qos:00$ ls -l
total 0
lrwxrwxrwx 1 root root 0 Apr 26 08:19 driver -> '../../../../../bus/mdio_bus/drivers/Marvell 88E1510'
drwxr-xr-x 3 root root 0 Apr 26 08:19 hwmon
lrwxrwxrwx 1 root root 0 Apr 26 08:19 of_node -> ../../../../../firmware/devicetree/base/ether_qos@2490000/mdio/ethernet-phy@0
-r--r--r-- 1 root root 4096 Apr 26 08:19 phy_has_fixups
-r--r--r-- 1 root root 4096 Apr 26 08:19 phy_id
-r--r--r-- 1 root root 4096 Apr 26 08:19 phy_interface
drwxr-xr-x 2 root root 0 Apr 26 08:19 power
lrwxrwxrwx 1 root root 0 Apr 26 08:19 subsystem -> ../../../../../bus/mdio_bus
-rw-r--r-- 1 root root 4096 Apr 26 08:19 uevent
Hi,
After adding the AT803X driver (I don’t know why not AR803X) to “defconfig” and modifying the “mdio” block in dtsi, there is no error (-19) anymore:
ether_qos@2490000 {
mdio {
/delete-node/ ethernet-phy@0;
phy0: ethernet-phy@4 {
reg = <4>;
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
};
};
};
With the cable attached, the eth0 is still not up:
ADDRCONF(NETDEV_UP): eth0: link is not ready
A manual “ifconfig up/down” gives the same result.
The “ethtool” shows no link detection.
The GPIOs are configured the same with the original PYH.
Any idea?
Best,
Please consult with the vendor if their PHY requires some special programming. Or some datasheet to check the phy status.
system
Closed
November 10, 2021, 6:52am
7
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.