Hi there,
We want to connect a 5G modules call by AG551 through RMII under PFE like blow image,
ping AG551 from S32G274A , the ARP packet send to AG551 is OK(tcpdump shows), but the ARP answer, but the response cannot be returned from AG551 to S32G274A.

here are our dts
S32G274A
diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
index e1fbd28bb..f5c585bd4 100644
--- a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
+++ b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
@@ -72,8 +72,11 @@
};
&pfe_netif2 {
- phy-mode = "rgmii-id";
- phy-handle = <&pfe_mdio_b_phy4>;
+ phy-mode = "rgmii";
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
};
AG551
ethqos_hw: qcom,ethernet@00020000 {
compatible = "qcom,sdxprairie-ethqos";
qcom,arm-smmu;
//emac-phy-addr = <7>; //Mars.Chen 20210624 find external PHY addr by scan 0 to 31,not set by dtsi
reg = <0x20000 0x10000>,
<0x36000 0x100>,
<0xf100000 0x300000>;
reg-names = "stmmaceth", "rgmii","tlmm-central-base";
clocks = <&clock_gcc GCC_ETH_AXI_CLK>,
<&clock_gcc GCC_ETH_SLAVE_AHB_CLK>,
<&clock_gcc GCC_ETH_PTP_CLK>,
<&clock_gcc GCC_ETH_RGMII_CLK>;
clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
snps,ptp-ref-clk-rate = <230400000>;
snps,ptp-req-clk-rate = <57600000>;
//interrupts-extended = <&pdc 0 62 4>, <&pdc 0 60 4>,
interrupts-extended = <&pdc 0 62 4>, //Mars.chen 2021-06-15
<&tlmm 90 2>, <&pdc 0 290 1>, <&pdc 0 291 1>;
//interrupt-names = "macirq", "eth_lpi",
interrupt-names = "macirq", //Mars.chen 2021-06-15,repair eth_lpi irq storm cause sytstem dump
"phy-intr", "ptp_pps_irq_0", "ptp_pps_irq_1"; //eth_lpi irq only about PHY IEEE function,now not use it
snps,crc_strip;
qcom,msm-bus,name = "emac";
qcom,msm-bus,num-cases = <5>;
qcom,msm-bus,num-paths = <2>;
qcom,msm-bus,vectors-KBps =
<98 512 0 0>, <1 781 0 0>, /* No vote */
<98 512 2500 0>, <1 781 0 40000>, /* 10Mbps vote */
<98 512 25000 0>, <1 781 0 40000>, /* 100Mbps vote */
<98 512 250000 0>, <1 781 0 40000>, /* 1000Mbps vote */
<98 512 250000 0>, <1 781 0 400000>; /* Nominal vote */
qcom,bus-vector-names = "0", "10", "100", "1000", "Nominal";
snps,tso;
snps,pbl = <32>;
mac-address = [00 55 7B B5 7D f7];
rx-fifo-depth = <16384>;
tx-fifo-depth = <20480>;
snps,mtl-rx-config = <&mtl_rx_setup>;
snps,mtl-tx-config = <&mtl_tx_setup>;
vreg_rgmii-supply = <&pmxprairie_vref_rgmii>;
vreg_emac_phy-supply = <&vreg_emac_phy>;
vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>;
gdsc_emac-supply = <&gdsc_emac>;
qcom,phy-intr-redirect = <&tlmm 90 GPIO_ACTIVE_LOW>;
//Mars 2020/11/23,PPS-0 & PPS-1 not use,release gpio106 & gpio95
//pinctrl-names = "dev-emac_pin_pps_0", "dev-emac_pin_pps_1";
//pinctrl-0 = <&emac_pin_pps_0>;
//pinctrl-1 = <&emac_pin_pps_1>;
//Mars.chen 2022-05-24,if customer want AG55x control PHY power,can configure by [quec,phy-pwren-gpio]
//quec,phy-pwren-gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
snps,reset-gpio = <&tlmm 91 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 11000 70000>;
phy-mode = "rgmii";
ethqos_emb_smmu: ethqos_emb_smmu {
compatible = "qcom,emac-smmu-embedded";
iommus = <&apps_smmu 0x1c0 0xf>;
qcom,iova-mapping = <0x80000000 0x0FE40000>;
qcom,smmu-fastmap;
qcom,smmu-geometry;
};
io-macro-info {
prg-rclk-dly = <1500>;
};
};
...
ðqos_hw {
/delete-property/ vreg_rgmii-supply;
//Mars 2020/11/23,PPS-0 & PPS-1 not use,release gpio106 & gpio95
// pinctrl-names = "default",
// "dev-emac_pin_pps_0",
// "dev-emac_pin_pps_1";
pinctrl-0 = <&vreg_rgmii_off_default>; //Mars.chen 2021-06-18,change for vddio support 1.8v
// pinctrl-1 = <&emac_pin_pps_0>;
// pinctrl-2 = <&emac_pin_pps_1>;
qcom,phy-reset-delay-msecs = <10>;
ipa-dma-rx-desc-cnt = <512>;
ipa-dma-tx-desc-cnt = <512>;
rgmii-tx-drv-str-clk = <16>;
rgmii-tx-drv-str-data = <16>;
rgmii-tx-drv-str-ctl = <16>;
};
Could you tell us the reason and how to fix it?
Thank you