Hi, I am attempting to bring up an 88E1512 phy on an AGX Orin. I believe I have followed the adaptation guide appropriately, but I am still running into issues. My pinmux has been set to match the adaptation guide.
I have confirmed that running ‘ifconfig eth0 down’ triggers the reset pin on the phy using an oscope and, similarly, ‘ifconfig eth0 up’ drives the reset line high. Similarly, I have used mdio-tool to force the interrupt line which toggles and releases with the write to page 3, register 18 bit 15.
ODMDATA has been set in my conf accoring to the adaptation guide. I have not yet implemented the pipe2uphy devicetree entries to fully move to configuration #2 – some help with that would be appreciated.
I have disabled the MGBE interfaces.
/* Disable MGBE interfaces /
ethernet@6810000{
status = “disabled”;
};
ethernet@6910000 {
status = “disabled”;
};
ethernet@6A10000 {
status = “disabled”;
};
ethernet@6B10000 {
status = “disabled”;
};
/ EQOS /
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-platform-mtu= <8000>;
nvidia,pause_frames = <0>; / 0=enable, 1=disable */
// /delete-node/ fixed-link;
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy: phy@0 {
reg = <0>;
nvidia,phy-rst-pdelay-msec = <224>; /* msec */
nvidia,phy-rst-duration-usec = <10000>; /* usec */
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA234_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>;
};
};
};
One thing I did notice is the phy has the page 18 register 20 set to the default of “0x7” which is a reserved value. I did try adjusting this to 0x8200 (RGMII to Copper & SW Reset) but no change.
I am getting the device showing up on eth0
gms@gms-desktop:/proc/device-tree$ sudo ifconfig eth0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 48:b0:2d:95:15:45 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
In the dmesg log, the string, “trying to unregister non-registered hwtime source” and “hwmon hwmon6: temp1_input not attached to any thermal zone” were in response to ifconfig eth0 down commands.
Thank you for any help!
devtree.dts (547.8 KB)
Orin-20230829-gpio-default.dtsi (2.1 KB)
Orin-20230829-pinmux.dtsi (64.6 KB)
dmesg.txt (67.8 KB)