RGMII for AGX Orin

Hello,

I’m back with Enabling RGMII.
We’ve got revision board and I applied patch what @WayneWWW provided.

The eth0 is recognized with RGMII port but it doesn’t still works.

I wonder below 2 things:

The first one about reset gpio.
Reset gpio is set on low signal.
image

The second one about pinmux.
I checked tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi
I couldn’t find any mistake.
Anyway, I’ve checked pinmux after booting but there is no different between default image and patched image as below.

This is the system message from patched image.
dmesg_from_patched.txt (72.7 KB)

It could be device tree error.

There is different between L4T Documentation and Your patch file about pinmux.
I tried both setting PULL-UP and PUL-NONE, but both results are same.

image

I patched as below:

patched.zip (7.6 KB)

Do you think is there any mistake?
And what can I try?

Please follow the document. The patch is old.

Are you sure your reset pin is low active?

<&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 1>;

Sorry, It doesn’t flashed.
I just modified while I thinking on the Editor.
Flashed Image is applied as below

<&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 0>;

please dump all these registers. These are pinmux setting.

busybox devmem 0x02434070: 
busybox devmem 0x02434078: 
busybox devmem 0x02445058: 
busybox devmem 0x02445018: 
busybox devmem 0x02445010: 
busybox devmem 0x02445008: 
busybox devmem 0x02445000: 
busybox devmem 0x02445068: 
busybox devmem 0x02445040:
busybox devmem 0x02445030: 
busybox devmem 0x02445028: 
busybox devmem 0x02445020: 
busybox devmem 0x02445070:
busybox devmem 0x02445060: 
busybox devmem 0x02445038: 
busybox devmem 0x02445048: 
busybox devmem 0x02445050: 

nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02434070
0x00000458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02434078
0x00000000
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445058
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445018
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445010
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445008
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445000
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445068
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445040
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445030
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445028
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445020
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445070
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445060
0x00002458
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445038
0x00002440
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445048
0x00002400
nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02445050
0x00002000

nvidia@nvidia-desktop:~$ sudo busybox devmem 0x02434070
0x00000458

This indicate sthe GPIO G,4 is still SFIO mode because bit 10 is still 1.

Do I need to change anything from below?
image

Make sure the file you are modifying really get flashed into the board first.

I have one more asking before checking.
In your patch, EQOS TX and RX Pinmux locations is changed from “pinmux_unused_lowpower: unused_lowpower:” to "pinmux_default: common: ".

Doesn’t it need to move for Reset and Interrupt GPIO?
Now, both GPIO pins are included in “pinmux_unused_lowpower: unused_lowpower:”

Hi,

Please move them to default.

gpio setting is modified in “tegra-mb1-bct-gpio-p3701-0000-a04.dtsi”.
And then Interrupt Pin is selected to GPIO.
image

Reset Pin is already selected to GPIO, anyway It is set output high as same as MGBE reset pin (y, 1)
image

But it is still low signal, it looks weird.
image

And pinmux is set as below:

nvidia@skeleton:~$ sudo busybox devmem 0x02434070
0x00000058
nvidia@skeleton:~$ sudo busybox devmem 0x02434078
0x00000000
nvidia@skeleton:~$ sudo busybox devmem 0x02445058
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445018
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445010
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445008
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445000
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445068
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445040
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445030
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445028
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445020
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445070
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445060
0x00002450
nvidia@skeleton:~$ sudo busybox devmem 0x02445038
0x00002440
nvidia@skeleton:~$ sudo busybox devmem 0x02445048
0x00002400
nvidia@skeleton:~$ sudo busybox devmem 0x02445050
0x00002000
nvidia@skeleton:~$

If I set pull-up for rx line, the value is 2458.
If I set pull-none for rx line, the value is 2450.

L4T documentation instruct all rx pins has to set to pull-up as above what I commented.
But I found AGX Xavier is set to pull-none for rx pins.
So, I set rx pins as same as AGX Xavier. It looks more reliable.

The values are same as xavier without IORESET in Xavier.
Now, the pinmux is looking correctly.
But, it still doesn’t works.

Are you using same carrier board as Xavier?

No, I’m not.
If we can use AGX Xavier with our board, Can I get any solution about it ?

No, my point is maybe you should review the hardware as the software side seems correct now.

OK, I shoud check the HW.
And I have one more question.
We are using Realtek 8211F.
And there is no Realtek Driver in mdio_bus

Doesn’t it matter?
I couldn’t find RTL-8211F in Kernel Config.

Yes, it matters. Please check with vendor which driver to enable.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.