As the title says. Is Jetson Orin RGMII interface support MAC to MAC ?
Now, i want to connet the RGMII interface to a switch chip yt9215rb.
I modify the device tree (tegra234-p3737-0000+p3701-0000.dts) as following
ethernet@6800000 {
status = "disabled";
phy-handle = <&mgbe0_phy>;
phy-mode = "10gbase-r";
mdio {
#address-cells = <1>;
#size-cells = <0>;
mgbe0_phy: phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
#phy-cells = <0>;
};
};
};// Enable RGMII Gigabit
ethernet@2310000 {
status = "okay";
/* 1. Set the physical interface mode to RGMII */
/* Note: Use “rgmii-id”, “rgmii-rxid”, “rgmii-txid”, or “rgmii”
depending on where the clock delays are added on your custom board \*/
phy-mode = "rgmii-id";
nvidia,mac-addr-idx = <0>;
nvidia,skip_mac_reset = <1>;
// nvidia,phy-reset-gpio = <&gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
/* 2. Remove standard PHY references (if they exist in an included dtsi) */
/delete-property/ phy-handle;
/delete-node/ mdio; /\* Ensure MDIO node is not initialized \*/
/* 3. Define the fixed link to your auto-configured switch */
fixed-link {
speed = <1000>; /\* RGMII operates at 1000 Mbps (1 Gbps) \*/
full-duplex; /\* Standard for switch-to-MAC connections \*/
};
};
- modify p3701.conf.common as following
#ODMDATA=“gbe-uphy-config-22,hsstp-lane-map-3,nvhs-uphy-config-0,hsio-uphy-config-0,gbe0-enable-10g”;
ODMDATA=“gbe-uphy-config-0,hsstp-lane-map-3,nvhs-uphy-config-0,hsio-uphy-config-0”;
- pinmux configuration and generate dtsi
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>;
};
eqos_rd0_pe6 {
nvidia,pins = "eqos_rd0_pe6";
nvidia,function = "eqos";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
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_NONE>;
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_NONE>;
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_NONE>;
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_NONE>;
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_NONE>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
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>;
};
and gpio dtsi as following
gpio_main_default: default { gpio-input = <TEGRA234_MAIN_GPIO(B, 0) TEGRA234_MAIN_GPIO(Y, 3) TEGRA234_MAIN_GPIO(Y, 7) TEGRA234_MAIN_GPIO(Z, 1) 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)*/ /* EQOS Interrupt */ TEGRA234_MAIN_GPIO(G, 7) TEGRA234_MAIN_GPIO(H, 0) TEGRA234_MAIN_GPIO(H, 5) 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(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(Z, 2) TEGRA234_MAIN_GPIO(N, 3) TEGRA234_MAIN_GPIO(H, 1) TEGRA234_MAIN_GPIO(H, 3) TEGRA234_MAIN_GPIO(H, 4) 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(Y, 4) TEGRA234_MAIN_GPIO(Z, 0) TEGRA234_MAIN_GPIO(Q, 1) TEGRA234_MAIN_GPIO(G, 3) TEGRA234_MAIN_GPIO(G, 5) /* EQOS reset */ TEGRA234_MAIN_GPIO(AC, 7) TEGRA234_MAIN_GPIO(K, 4) TEGRA234_MAIN_GPIO(K, 5) TEGRA234_MAIN_GPIO(AG, 4) TEGRA234_MAIN_GPIO(AG, 5) TEGRA234_MAIN_GPIO(A, 0) TEGRA234_MAIN_GPIO(A, 3) >; }; }; gpio@c2f0000 { gpio-init-names = "default"; gpio-init-0 = <&gpio_aon_default>; gpio_aon_default: default { gpio-input = < TEGRA234_AON_GPIO(EE, 5) TEGRA234_AON_GPIO(EE, 6) TEGRA234_AON_GPIO(EE, 2) TEGRA234_AON_GPIO(EE, 4) TEGRA234_AON_GPIO(CC, 0) TEGRA234_AON_GPIO(CC, 1) TEGRA234_AON_GPIO(AA, 0) TEGRA234_AON_GPIO(AA, 1) TEGRA234_AON_GPIO(AA, 2) TEGRA234_AON_GPIO(AA, 3) TEGRA234_AON_GPIO(AA, 7) TEGRA234_AON_GPIO(BB, 0) TEGRA234_AON_GPIO(BB, 1) TEGRA234_AON_GPIO(BB, 2) >; gpio-output-low = < TEGRA234_AON_GPIO(CC, 2) TEGRA234_AON_GPIO(CC, 3) TEGRA234_AON_GPIO(AA, 4) >; gpio-output-high = < TEGRA234_AON_GPIO(BB, 3) >; }; }; gpio@9250000 { gpio-init-names = "default"; gpio-init-0 = <&gpio_fsi_default>; gpio_fsi_default: default { gpio-input = < >; gpio-output-low = < >; gpio-output-high = < >; }; };
build and flash, i got the following dmesg
[ 10.373714] nvethernet 2310000.ethernet: Adding to iommu group 50
[ 10.375893] nvethernet 2310000.ethernet: failed to read skip mac reset flag, default 0
[ 10.375899] nvethernet 2310000.ethernet: failed to read MDIO address
[ 10.375903] nvethernet 2310000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[ 10.375906] nvethernet 2310000.ethernet: setting to default DMA bit mask
[ 10.375915] nvethernet 2310000.ethernet: max-platform-mtu DT entry missing, setting default 1500
[ 10.386075] platform 13800000.display:nvdisplay-niso: Adding to iommu group 51
[ 10.396880] nvethernet 2310000.ethernet: Ethernet MAC address: 3c:6d:66:11:32:cf
[ 10.415145] spi-tegra114 3230000.spi: Adding to iommu group 1
[ 10.439394] tegra-hda 3510000.hda: Adding to iommu group 52
[ 10.441617] -->macsec_probe()
[ 10.441652] nvethernet 2310000.ethernet: macsec parameter is missing or disabled
[ 10.441655] <–macsec_probe()
[ 10.441657] nvethernet 2310000.ethernet: Macsec not supported/Not enabled
[ 10.452855] nvethernet 2310000.ethernet: eth0 (HW ver: 53) created with 8 DMA channels
…
[ 14.309078] nvethernet 2310000.ethernet: [poll_check][42][type:0x4][loga-0x0] poll_check: timeout
[ 14.309088] nvethernet 2310000.ethernet: ether_open: failed to initialize MAC HW core with reason -1
…
someone have the simillar problem?

