Does Orin support 88E1512 PHY chip?

Hello, our carrier board does not use the 10GB ETH PHY AQR113C chip as the Ethernet interface, our carrier board uses Orin’s RGMII interface, and the PHY chip is 88E1512. By the way, the carrier board was used to connect to the Xiaver module before, we want to connect the Orin module and enable the Ethernet function without modifying the carrier board.
At present, after Orin is started, no device can be seen under /sys/bus/mdio_bus/devices;

root@ubuntu:~# ls /sys/bus/mdio_bus/devices
root@ubuntu:~# 

at the same time, there is no “88E1512” under /sys/bus/mdio_bus/drivers.

root@ubuntu:~# ls /sys/bus/mdio_bus/drivers
'Aquantia AQ1202'            'Marvell 88E1101'
'Aquantia AQ2104'            'Marvell 88E1111'
'Aquantia AQCS109'           'Marvell 88E1112'
'Aquantia AQR105'            'Marvell 88E1116R'
'Aquantia AQR106'            'Marvell 88E1118'
'Aquantia AQR107'            'Marvell 88E1121R'
'Aquantia AQR113C'           'Marvell 88E1145'
'Aquantia AQR405'            'Marvell 88E1149R'
'Broadcom BCM50610'          'Marvell 88E1240'
'Broadcom BCM50610M'         'Marvell 88E1318S'
'Broadcom BCM5241'           'Marvell 88E1340S'
'Broadcom BCM53125'          'Marvell 88E1510'
'Broadcom BCM5395'           'Marvell 88E1540'
'Broadcom BCM5411'           'Marvell 88E1545'
'Broadcom BCM5421'           'Marvell 88E1548P'
'Broadcom BCM54210E'         'Marvell 88E3016'
'Broadcom BCM5461'           'Marvell 88E6341 Family'
'Broadcom BCM54612E'         'Marvell 88E6390 Family'
'Broadcom BCM54616S'         'RTL8201CP Ethernet'
'Broadcom BCM5464'           'RTL8201F Fast Ethernet'
'Broadcom BCM5481'           'RTL8208 Fast Ethernet'
'Broadcom BCM54810'          'RTL8211B Gigabit Ethernet'
'Broadcom BCM54811'          'RTL8211C Gigabit Ethernet'
'Broadcom BCM5482'           'RTL8211DN Gigabit Ethernet'
'Broadcom BCM57780'          'RTL8211E Gigabit Ethernet'
'Broadcom BCM89610'          'RTL8211F Gigabit Ethernet'
'Broadcom BCMAC131'          'RTL8211 Gigabit Ethernet'
'Generic Clause 45 PHY'      'RTL8226 2.5Gbps PHY'
'Generic FE-GE Realtek PHY'  'RTL8226B_RTL8221B 2.5Gbps PHY'
'Generic PHY'                'RTL8366RB Gigabit Ethernet'

When the system starts, the “eth0” network card cannot be started normally.

root@ubuntu:~# ifconfig eth0 192.168.20.40 up
[ 3852.715526] net eth0: failed to poll MAC Software reset
SIOCSIFFLAGS: Operation not permitted
[ 3864.735518] net eth0: failed to poll MAC Software reset
SIOCSIFFLAGS: Operation not permitted

Does Orin support 88E1512 PHY chip? Where do I need to modify?

Even AGX Orin and AGX Xavier being pin compatible, but you need to refer to Jetson AGX Orin Series and Jetson AGX Xavier Series Interface Migration to to design a carrier board that can support the features available on both AGX Xavier and AGX Orin.

Is your carrier designed for both modules?

Yes, we referenced this document. The part about the RGMII interface in the documentation is the same in AGX Orin and AGX Xavier

Both Jetson AGX Orin and Jetson AGX Xavier support an RGMII Gigabit Ethernet interface at the module pins.

They also have no pin difference about the RGMII interface

Have you tried to use MDIO tool to check the status of the PHY?

We verified that the PHY chip of the overload board is no problem. After Xaiver is connected to our carrier board, the driver can be loaded normally, and the Ethernet function is normal;
Do you mean that AGX Orin can support 88E1512 PHY chip without modifying the device tree?

Is your “Xavier connected balabala is working” also validated on jetpack5.0.1?

No, Xaiver is using an earlier version than jetpack5.0.1

Can you try to clearly describe the exact version? JP4.x and JP5.0 are totally different. But JP5.0 is also earlier version than 5.0.1.

Xaiver uses jetpack4.6.0, Orin uses jetpack5.0.1

Have you tried Xavier with jp5.0.1? This cross check can see if issue is on hardware or software.

Did you configure anything in device tree when running over jp4.6?

Hello WayneWWW, I just tried Xavier using jp5.0.1 on our carrier board (the same jp5.0.1 as Orin), after entering the system, the network is normal. Here is part of the situation within the system:

nvidia@tegra-ubuntu:~$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.40  netmask 255.255.255.0  broadcast 192.168.20.255
        ether 48:b0:2d:4d:b5:42  txqueuelen 1000  (Ethernet)
        RX packets 45  bytes 5414 (5.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 178  bytes 25396 (25.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

nvidia@tegra-ubuntu:~$ dmesg | grep phy
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x4e0f0040]
[    0.000000] arch_timer: cp15 timer(s) running at 31.25MHz (phys).
[    3.156713] libphy: Fixed MDIO Bus: probed
[   10.115873] tegra_cec 3960000.tegra_cec: Can't find physical addresse.
[   14.886515] libphy: nvethernet_mdio_bus: probed
nvidia@tegra-ubuntu:~$ ls /sys/bus/mdio_bus/devices
2490000.ethernet:00
nvidia@tegra-ubuntu:~$ ls /sys/bus/mdio_bus/drivers
'Aquantia AQ1202'            'Marvell 88E1101'
'Aquantia AQ2104'            'Marvell 88E1111'
'Aquantia AQCS109'           'Marvell 88E1112'
'Aquantia AQR105'            'Marvell 88E1116R'
'Aquantia AQR106'            'Marvell 88E1118'
'Aquantia AQR107'            'Marvell 88E1121R'
'Aquantia AQR113C'           'Marvell 88E1145'
'Aquantia AQR405'            'Marvell 88E1149R'
'Broadcom BCM50610'          'Marvell 88E1240'
'Broadcom BCM50610M'         'Marvell 88E1318S'
'Broadcom BCM5241'           'Marvell 88E1340S'
'Broadcom BCM53125'          'Marvell 88E1510'
'Broadcom BCM5395'           'Marvell 88E1540'
'Broadcom BCM5411'           'Marvell 88E1545'
'Broadcom BCM5421'           'Marvell 88E1548P'
'Broadcom BCM54210E'         'Marvell 88E3016'
'Broadcom BCM5461'           'Marvell 88E6341 Family'
'Broadcom BCM54612E'         'Marvell 88E6390 Family'
'Broadcom BCM54616S'         'RTL8201CP Ethernet'
'Broadcom BCM5464'           'RTL8201F Fast Ethernet'
'Broadcom BCM5481'           'RTL8208 Fast Ethernet'
'Broadcom BCM54810'          'RTL8211B Gigabit Ethernet'
'Broadcom BCM54811'          'RTL8211C Gigabit Ethernet'
'Broadcom BCM5482'           'RTL8211DN Gigabit Ethernet'
'Broadcom BCM57780'          'RTL8211E Gigabit Ethernet'
'Broadcom BCM89610'          'RTL8211F Gigabit Ethernet'
'Broadcom BCMAC131'          'RTL8211 Gigabit Ethernet'
'Generic Clause 45 PHY'      'RTL8226 2.5Gbps PHY'
'Generic FE-GE Realtek PHY'  'RTL8226B_RTL8221B 2.5Gbps PHY'
'Generic PHY'                'RTL8366RB Gigabit Ethernet'
nvidia@tegra-ubuntu:~$

On the previous jp4.6 version of Xavier, we also did not modify any device tree about the network

OK, so the driver missing does not really matter here, right?

Please check what is the driver in use in below location.

/sys/bus/mdio_bus/devices/6810000.ethernet:00$

Looks like the driver by default is only enabled for MGBE. RGMII mode is not enabled.

Thus, the device tree change is necessary. Will update the method later.

Do you mean Orin, on our carrier board there is nothing in this position

root@ubuntu:/sys/bus/mdio_bus/devices# ls -a
.  ..
root@ubuntu:/sys/bus/mdio_bus/devices#

From the device tree, this address is 10g aqr113c phy chip, we do not have this part of the circuit

ok thanks, looking forward to your update

Hi,

  1. The RGMII interface is ethernet@2310000. Thus, you need to enable the status of this node in device tree.

  2. . These four nodes are for MGBE interface. If they are not in use, please set to disabled.

ethernet@6810000 {
	ethernet@6910000 {
	ethernet@6A10000 {
	ethernet@6B10000 {
  1. Please set the phy under the ethernet node with similar case as below but for your 88E1512.

  1. Please check the pinmux spreadsheet and make sure the pin you connect is configured to SFIO but not GPIO.

  2. Make sure H5 and J5 pins pinmux are configured as these.

			soc_gpio17_pg4 {
				nvidia,pins = "soc_gpio17_pg4";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
				nvidia,lpdr = <TEGRA_PIN_DISABLE>;
			};

			soc_gpio18_pg5 {
				nvidia,pins = "soc_gpio18_pg5";
				nvidia,function = "rsvd0";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
				nvidia,lpdr = <TEGRA_PIN_DISABLE>;
			};
1 Like