Hello,
In out custom board we are using s32g3 and bsp44. here pfe1 we interfaced with external dp83tc812 100base T1 Phy. in kernel dts configuration i am using managed=in-band-status arm trusted firmware side i am not using manged= in-band-status. just in hwconfig an=1 i set but when i did this bellow error i am facing how to fix this issue please let me.
Error:
arch/arm/mach-s32/s32-cc/hwconfig_fixups.c:1124-set_xpcs_config_sgmii() Failed to configure XPCS1_1
arch/arm/mach-s32/s32-cc/hwconfig_fixups.c:1198-apply_hwconfig_fixups() Failed to update XPCS1 for SerDes1
Regards,
Raghavendra
Hello,
here i am using external dp83tc812 100base T1 Phy this phy supports 100M i configured dts properly it is connected s32g3 pfe1: serdes1 xpcs1 lane 1 to dp83tc812 100base T1 Phy if we use fixed link or manged=in-band-status it automatically set speed 1G Thats Why i removed fixed link and managed=in-band-status i configured an=1 to pfe1 because i am using external phy if i use an=0 it inject fixed link and detach driver. now linux side driver is attahed but u-boot side i am facing this issue when i set an=1 but i want to set an=1 then only my driver will work how to fix this issue bellow i added boot log for u-boot please refer and help me to resolve this issue as soon as possible
=> setenv hwconfig "serdes0:mode=pcie&xpcs0,clock=int,fmhz=100;pcie0:mode=rc;xpcs0_0:speed=1G,an=0;serdes1:mode=xpcs0&xpcs1,clock=int,fmhz=125;xpcs1_0:speed=1G,an=0;xpcs1_1:speed=100M"
=> save
Saving Environment to MMC... Writing to MMC(0)... OK
=> reset
resetting ...
NOTICE: Reset status: Destructive Reset (RUN)
NOTICE: BL2: v2.10.14(release):bsp44.0-2.10.14-dirty
NOTICE: BL2: Built : 08:13:32, May 13 2025
NOTICE: BL2: Booting BL31
U-Boot 2022.04+g9a00323278+p0 (May 13 2025 - 06:57:56 +0000)
SoC: NXP S32G399A rev. 1.1
CPU: ARM Cortex-A53 r0p4 @ max 1300 MHz
Model: NXP S32G399A-RDB3
DRAM: 3.5 GiB
Core: 298 devices, 24 uclasses, devicetree: board
MMC: FSL_SDHC: 0
Loading Environment from MMC... OK
arch/arm/mach-s32/s32-cc/hwconfig_fixups.c:1124-set_xpcs_config_sgmii() Failed to configure XPCS1_1
arch/arm/mach-s32/s32-cc/hwconfig_fixups.c:1198-apply_hwconfig_fixups() Failed to update XPCS1 for SerDes1
drivers/phy/nxp/s32cc-serdes.c:1013- init_serdes() s32cc_serdes_phy serdes@40480000: Using mode 1 for SerDes subsystem
Serdes@40480000 PCIE_PHY_GEN_CTRL = 0x10c00
Serdes@40480000 PCIE_PHY_GEN_CTRL = 0x10c00
drivers/pci/pci_s32cc.c:824-s32cc_pcie_init_controller() pci_s32cc pcie@40400000: Configuring as RootComplex
drivers/pci/pci_s32cc.c:845-s32cc_pcie_config_host() pci_s32cc pcie@40400000: Failed to get link up
In: serial@401c8000
Out: serial@401c8000
Err: serial@401c8000
Board revision: RDB3
PCIe: BusDevFun VendorId DeviceId Device Class Sub-Class
__________________________________________________________________________
pcie@40400000 RootComplex
| `-- 01:00.00 0x1957 0x4300 Bridge device 0x04
Net: drivers/phy/nxp/s32cc-serdes.c:495-xpcs_check_rx_stable() s32cc_serdes_phy serdes@40480000: Stable RX detected on XPCS0 after 0 µs
eth0: ethernet@4033c000drivers/net/nxp_pfeng/pfe_hw.c:814-pfe_hw_detect_version()
Found PFE version 0x0101 (S32G3)
drivers/net/nxp_pfeng/pfe_hw_pe.c:418-pfe_hw_pe_init_class() pfeng pfeng-base: Uploading CLASS firmware
drivers/net/nxp_pfeng/pfe_hw_emac.c:284- pfe_hw_emac_init() pfeng pfeng-base: EMAC0 block was initialized
drivers/net/nxp_pfeng/pfe_hw_emac.c:284- pfe_hw_emac_init() pfeng pfeng-base: EMAC1 block was initialized
drivers/net/nxp_pfeng/pfe_hw.c:684- pfe_hw_init() pfeng pfeng-base: EMAC2 not used, skipped
drivers/net/nxp_pfeng/pfe_hw.c:723- pfe_hw_init() pfeng pfeng-base: Enabling the CLASS block
drivers/net/nxp_pfeng/pfe_hw.c:739- pfe_hw_init() pfeng pfeng-base: PFE Platform started successfully (mask: 3)
drivers/phy/nxp/s32cc-serdes.c:1013- init_serdes() s32cc_serdes_phy serdes@44180000: Using mode 3 for SerDes subsystem
drivers/phy/nxp/s32cc-serdes.c:495-xpcs_check_rx_stable() s32cc_serdes_phy serdes@44180000: Stable RX detected on XPCS0 after 0 µs
, eth1: pfe0drivers/phy/nxp/s32cc-serdes.c:495-xpcs_check_rx_stable() s32cc_serdes_phy serdes@44180000: Stable RX detected on XPCS1 after 0 µs
, eth2: pfe1
hi,uiv12187
Thank you for your reply and detail information.
You configuration of Serdes is not successful, so you can use the PFE1.
you need to set the xpcs1_1 of Serdes1 when you use the PFE1.
Could you try to set the parameter an=0?
setenv hwconfig "...;xpcs1_1:speed=100M,an=0"
save
And set the PFE1 function in Kernel mode to fixed link.
fixed-link {
speed = <100>;
full-duplex;
}
BR
Joey