I am working on a custom baseboard with a Marvell 88E1512 PHY. I was following the adaption guide (device enabled ethernet@2310000, custom pinmux, disabled MGBE).
The device does come up and show in ifconfig, but no traffic actually work. DHCP does not get an address and also with fixed address, I cannot access any other component.
I don’t have any related errors in dmesg.
Interrupt is registered and gpio has the phy reset.
ifconfig does show a small quantity of packages in/out. See tcpdump attached.
Note: This was working with JetPack 5.0.1DP and a USB-Ethernet adapter on the same network with this device works fine as well.
Any suggestions?
dmesg.txt (75.5 KB)
gpio.txt (7.1 KB)
ifconfig.txt (1.4 KB)
interrupts.txt (21.7 KB)
tcpdump2.txt (84.8 KB)
gpio-default.dtsi (4.0 KB)
padvoltage-default.dtsi (1.3 KB)
pinmux.dtsi (64.6 KB)
Here is my latest device tree config (I was trying the different proposals found in this forum…) - btw added via an overlay, but confirmed in the sysfs that this DT is applied.
ethernet@2310000 {
status = "okay";
nvidia,mac-addr-idx = <0>;
nvidia,phy-reset-gpio = <&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
phy-mode = "rgmii-id";
phy-handle = <&phy>;
nvidia,max-platfrom-mtu = <16383>;
/* 0=enable, 1=disable */
nvidia,pause_frames = <0>;
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy: phy@0 {
//compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x0>;
//#phy-cells = <0>;
nvidia,phy-rst-pdelay-msec = <224>; /* msec */
nvidia,phy-rst-duration-usec = <10000>; /* usec */
//#if TEGRA_ETHERNETPHY_DT_VERSION >= DT_VERSION_2
/* use phy in poll mode */
//#else
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
//#endif
//marvell,copper-mode;
/* Setup LED[2] as interrupt pin (active low) */
//marvell,reg-init = <0x03 0x12 0x7fff 0x880>;
};
};
};
Thank you