Hi NV team,
I am currently using version 36.4.3, applied to a custom board, and using the RTL8211F-CG. The module used is 32G (0955:7223), and MGBE not used on the board.
Modify p3701.conf.common
ODMDATA="gbe-uphy-config-0,hsstp-lane-map-3,nvhs-uphy-config-0,hsio-uphy-config-0";
According to the NV Developer Guide, I set ethernet@2310000 in source\hardware\nvidia\t23x\nv-public\nv-platform\tegra234-p3737-0000.dtsi
ethernet@2310000 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy>;
nvidia,mac-addr-idx = <0>;
nvidia,phy-reset-gpio = <&gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy: phy@1 {
reg = <1>;
nvidia,phy-rst-pdelay-msec = <224>; /* msec */
nvidia,phy-rst-duration-usec = <10000>; /* usec */
interrupt-parent = <&gpio>;
interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
};
};
};
And also added Tx, Rx, MDC/MDIO and Reset, Interrupt Pinmux settings in bootloader\generic\BCT\tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi
Tx : eqos_txc_pe0, eqos_td0_pe1, eqos_td1_pe2, eqos_td2_pe3, eqos_td3_pe4, eqos_tx_ctl_pe5
eqos_txc_pe0 {
nvidia,pins = "eqos_txc_pe0";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
eqos_td0_pe1 {
nvidia,pins = "eqos_td0_pe1";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
eqos_td1_pe2 {
nvidia,pins = "eqos_td1_pe2";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
eqos_td2_pe3 {
nvidia,pins = "eqos_td2_pe3";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
eqos_td3_pe4 {
nvidia,pins = "eqos_td3_pe4";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
eqos_tx_ctl_pe5 {
nvidia,pins = "eqos_tx_ctl_pe5";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
Rx : eqos_rd0_pe6, eqos_rd1_pe7, eqos_rd2_pf0, eqos_rd3_pf1, eqos_rx_ctl_pf2, eqos_rxc_pf3
eqos_rd0_pe6 {
nvidia,pins = "eqos_rd0_pe6";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_rd1_pe7 {
nvidia,pins = "eqos_rd1_pe7";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_rd2_pf0 {
nvidia,pins = "eqos_rd2_pf0";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_rd3_pf1 {
nvidia,pins = "eqos_rd3_pf1";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_rx_ctl_pf2 {
nvidia,pins = "eqos_rx_ctl_pf2";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_rxc_pf3 {
nvidia,pins = "eqos_rxc_pf3";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
MDC/MDIO : eqos_sma_mdio_pf4, eqos_sma_mdc_pf5
eqos_sma_mdio_pf4 {
nvidia,pins = "eqos_sma_mdio_pf4";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
eqos_sma_mdc_pf5 {
nvidia,pins = "eqos_sma_mdc_pf5";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};
Reset, Interrupt Pinmux : soc_gpio17_pg4, soc_gpio18_pg5
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>;
};
Also added G4、G5 GPIO in bootloader/tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi
gpio_main_default: default {
gpio-input = <
TEGRA234_MAIN_GPIO(B, 0)
TEGRA234_MAIN_GPIO(Y, 3)
TEGRA234_MAIN_GPIO(Y, 4)
TEGRA234_MAIN_GPIO(Z, 1)
TEGRA234_MAIN_GPIO(Z, 2)
TEGRA234_MAIN_GPIO(Z, 3)
TEGRA234_MAIN_GPIO(Z, 4)
TEGRA234_MAIN_GPIO(Z, 5)
TEGRA234_MAIN_GPIO(Z, 6)
TEGRA234_MAIN_GPIO(Z, 7)
TEGRA234_MAIN_GPIO(P, 4)
TEGRA234_MAIN_GPIO(P, 6)
TEGRA234_MAIN_GPIO(Q, 6)
TEGRA234_MAIN_GPIO(Q, 7)
TEGRA234_MAIN_GPIO(R, 1)
TEGRA234_MAIN_GPIO(N, 4)
TEGRA234_MAIN_GPIO(N, 1)
TEGRA234_MAIN_GPIO(G, 0)
TEGRA234_MAIN_GPIO(G, 1)
TEGRA234_MAIN_GPIO(G, 2)
TEGRA234_MAIN_GPIO(G, 4)
TEGRA234_MAIN_GPIO(G, 7)
TEGRA234_MAIN_GPIO(H, 0)
TEGRA234_MAIN_GPIO(H, 7)
TEGRA234_MAIN_GPIO(I, 0)
TEGRA234_MAIN_GPIO(I, 1)
TEGRA234_MAIN_GPIO(I, 2)
TEGRA234_MAIN_GPIO(AC, 3)
TEGRA234_MAIN_GPIO(AC, 4)
TEGRA234_MAIN_GPIO(AC, 5)
TEGRA234_MAIN_GPIO(AE, 0)
TEGRA234_MAIN_GPIO(AE, 1)
TEGRA234_MAIN_GPIO(K, 0)
TEGRA234_MAIN_GPIO(K, 1)
TEGRA234_MAIN_GPIO(K, 6)
TEGRA234_MAIN_GPIO(K, 7)
TEGRA234_MAIN_GPIO(L, 2)
TEGRA234_MAIN_GPIO(L, 3)
TEGRA234_MAIN_GPIO(AG, 0)
TEGRA234_MAIN_GPIO(AG, 1)
TEGRA234_MAIN_GPIO(AG, 2)
TEGRA234_MAIN_GPIO(AG, 3)
TEGRA234_MAIN_GPIO(AG, 6)
TEGRA234_MAIN_GPIO(AG, 7)
TEGRA234_MAIN_GPIO(AF, 2)
TEGRA234_MAIN_GPIO(AF, 3)
>;
gpio-output-low = <
TEGRA234_MAIN_GPIO(X, 0)
TEGRA234_MAIN_GPIO(X, 1)
TEGRA234_MAIN_GPIO(Q, 4)
TEGRA234_MAIN_GPIO(N, 3)
TEGRA234_MAIN_GPIO(H, 1)
TEGRA234_MAIN_GPIO(H, 3)
TEGRA234_MAIN_GPIO(H, 4)
TEGRA234_MAIN_GPIO(H, 5)
TEGRA234_MAIN_GPIO(H, 6)
TEGRA234_MAIN_GPIO(I, 5)
TEGRA234_MAIN_GPIO(AC, 0)
TEGRA234_MAIN_GPIO(AC, 1)
TEGRA234_MAIN_GPIO(AC, 2)
TEGRA234_MAIN_GPIO(A, 1)
TEGRA234_MAIN_GPIO(A, 2)
>;
gpio-output-high = <
TEGRA234_MAIN_GPIO(Y, 0)
TEGRA234_MAIN_GPIO(Y, 1)
TEGRA234_MAIN_GPIO(Y, 2)
TEGRA234_MAIN_GPIO(Z, 0)
TEGRA234_MAIN_GPIO(Q, 1)
TEGRA234_MAIN_GPIO(G, 3)
TEGRA234_MAIN_GPIO(G, 5)
TEGRA234_MAIN_GPIO(AC, 7)
TEGRA234_MAIN_GPIO(K, 5)
TEGRA234_MAIN_GPIO(A, 0)
TEGRA234_MAIN_GPIO(A, 3)
>;
};
But after the Flash is completed, there is no way to enter the system, and it always stops at using random host ethernet address.
Why does this happen? Is there a setting error or missing?
RGMII_BootFail_0320.log (161.0 KB)
If I only add Tx and Rx, I can enter the system after Flash is completed, but eth0 cannot be used.
RGMII_OnlyTxRx_0320.log (251.2 KB)
I also noticed that in the former case (adding everything), my LAN LED color changed (ACT and Speed orange); while in the latter case (adding only TxRx), the LAN LED did not change (ACT without Speed green).
Please help to solve this problem. Thank you.