We have a custom board that we want to run QNX and PFE drivers on. But we have encountered the following problem and would like to ask PFE experts to help analyze it.
The difference in hardware between us and the NXP S32G399ARDB3 EVN board is that DDR has been changed to 2GB, and we have already adapted it in Linux, and the pfe Ethernet driver is normal.
1. Changes in images/s32g399a-rdb.build file,
2. Changes in src\hardware\startup\boards\s32g\s32g399a-rdb\s32g_init_raminfo.c file:
3. Other insignificant changes, unrelated to the PFE driver.
# io-pkt-v6-hc -p tcpip pkt_typed_mem=pfe_ddr -d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/s32g_pfe_class.fw,util_fw=/proc/boot/s32g_pfe_util.fw
However, after running, the error message appears.Log is here.
NOTICE: The list of clocks found enabled during the SCMI agent reset command:
NOTICE: linflex_lin
NOTICE: usdhc_core
board_smp_num_cpu: 8 cores
MMU: 16-bit ASID 40-bit PA TCR_EL1=b5183519
ARM GIC-500 r1p1, arch v3.0 detected
board_smp_num_cpu: 8 cores
board_smp_num_cpu: 8 cores
No SPI intrinfo. Add default entry for 32 -> 575 vectors, Ok
cpu0: MPIDR=80000000
cpu0: MIDR=410fd034 Cortex-A53 r0p4
cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu0: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu0: L1 Icache 32K linesz=64 set/way=256/2
cpu0: L1 Dcache 32K linesz=64 set/way=128/4
cpu0: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_num_cpu: 8 cores
A53 CORE CLOCK : 1000MHz
DDR CLOCK : 800MHz
SERDES CLOCK : 2000MHz
LINFLEXD CLOCK : 125MHz
GMAC TS CLOCK : 48MHz
SPI CLOCK : 48MHz
QSPI CLOCK : 800MHz
SDHC CLOCK : 800MHz
Loading IFS...decompressing...done
board_smp_start: cpu_cluster_id: 0, cpu_id: 1
NOTICE: S32 TF-A: s32_pwr_domain_on: booting up core 1 (0)
running
cpu1: MPIDR=80000001
cpu1: MIDR=410fd034 Cortex-A53 r0p4
cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu1: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu1: L1 Icache 32K linesz=64 set/way=256/2
cpu1: L1 Dcache 32K linesz=64 set/way=128/4
cpu1: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 0, cpu_id: 2
NOTTCE: S32 T TA: s323pw_pdomrin_on: bootingnup cor 2u 0)
nning
cpu2: MPIDR=80000002
cpu2: MIDR=410fd034 Cortex-A53 r0p4
cpu2: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu2: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu2: L1 Icache 32K linesz=64 set/way=256/2
cpu2: L1 Dcache 32K linesz=64 set/way=128/4
cpu2: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 0, cpu_id: 3
ngTICE: SS32TT-A:: 32_pwr_rodain_on: booting up cpre 3 (0n
cpu3: MPIDR=80000003
cpu3: MIDR=410fd034 Cortex-A53 r0p4
cpu3: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu3: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu3: L1 Icache 32K linesz=64 set/way=256/2
cpu3: L1 Dcache 32K linesz=64 set/way=128/4
cpu3: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 1, cpu_id: 0
NOTICE: S32 TF-A: s32_pwr_domain_on: booting up core 4 (0)
NOTICE: S32 TF-A: s32_pwr_domain_on_finish: cpu 4 running
cpu4: MPIDR=80000100
cpu4: MIDR=410fd034 Cortex-A53 r0p4
cpu4: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu4: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu4: L1 Icache 32K linesz=64 set/way=256/2
cpu4: L1 Dcache 32K linesz=64 set/way=128/4
cpu4: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 1, cpu_id: 1
NOTICE: S32 TF-A: s32_pwr_domain_on: booting up core 5 (0)
cpu 5 running
cpu5: MPIDR=80000101
cpu5: MIDR=410fd034 Cortex-A53 r0p4
cpu5: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu5: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu5: L1 Icache 32K linesz=64 set/way=256/2
cpu5: L1 Dcache 32K linesz=64 set/way=128/4
cpu5: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 1, cpu_id: 2
NOTICE: S32 TF-A: s32_pwr_domain_on: booting up core 6 (0)
nning
cpu6: MPIDR=80000102
cpu6: MIDR=410fd034 Cortex-A53 r0p4
cpu6: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu6: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu6: L1 Icache 32K linesz=64 set/way=256/2
cpu6: L1 Dcache 32K linesz=64 set/way=128/4
cpu6: L2 Unified 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id: 1, cpu_id: 3
NOTICE: S32 TF-A: s32_pwr_domain_on: booting up core 7 (0)
7 running
cpu7: MPIDR=80000103
cpu7: MIDR=410fd034 Cortex-A53 r0p4
cpu7: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu7: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu7: L1 Icache 32K linesz=64 set/way=256/2
cpu7: L1 Dcache 32K linesz=64 set/way=128/4
cpu7: L2 Unified 1024K linesz=64 set/way=1024/16
System page at phys:00000000a0010000 user:ffffff8040315000 kern:ffffff8040311000
Starting next program at vffffff8060097300
ClockCycles samples:
0 62957977
1 62957977
2 62957978
3 62957977
4 62957977
5 62957977
6 62957977
7 62957977
All ClockCycles offsets within tolerance
Welcome to QNX Neutrino 7.1.0 on the NXP S32G399A RDB Board!!
Starting watchdog...
Starting serial driver ...
Starting Networking driver (/dev/socket)...
Starting SPI driver (/dev/spi0,1,2,3,4,5)...
Starting I2C 0/1/2/3/4 driver (/dev/i2c0,1,2,3,4)...
Starting USDHC0 memory card driver...
Path=Starting CAN driver...
0 - imx
target=0 lun=0 Direct-Access(0) - SDMMC: AAM20E Rev: 1.0
#
#
#
# slog2info -c
Process 4117 (slog2info) exited status=0.
ghccu# slog2info -w &
[1] 12309
random.4 low 0 -----UNSYNC-----
random.4 high 0 -----UNSYNC-----
Jan 01 00:00:00.022 console.3 0 -----ONLINE-----
console.3 out 0 -----UNSYNC-----
Jan 01 00:00:00.027 random.4 0 -----ONLINE-----
random.4 default 0 -----UNSYNC-----
Jan 01 00:00:00.028 random.4..0 0 -----ONLINE-----
random.4..0 slog 0 -----UNSYNC-----
Jan 01 00:00:00.050 devc_serlinflexd.7 0 -----ONLINE-----
devc_serlinflexd.7 slog 0 -----UNSYNC-----
Jan 01 00:00:00.055 spi_master.8 0 -----ONLINE-----
spi_master.8 normal 0 -----UNSYNC-----
Jan 01 00:00:00.059 spi_master.9 0 -----ONLINE-----
spi_master.9 normal 0 -----UNSYNC-----
Jan 01 00:00:00.063 spi_master.10 0 -----ONLINE-----
spi_master.10 normal 0 -----UNSYNC-----
Jan 01 00:00:00.067 spi_master.11 0 -----ONLINE-----
spi_master.11 normal 0 -----UNSYNC-----
Jan 01 00:00:00.088 devb_sdmmc_mx8x.17 0 -----ONLINE-----
devb_sdmmc_mx8x.17 slog 0 -----UNSYNC-----
Jan 01 00:00:04.268 qconn.20 0 -----ONLINE-----
qconn.20 slog 0 -----UNSYNC-----
#
#
#
# io-pkt-v6-hc -p tcpip pkt_typed_mem=pfe_ddr -d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/s32g_pfe_class.fw,util_fw=/proc/boot/s32g_pfe_util.fw
# Jan 01 00:00:14.060 iopkt.16408 0 -----ONLINE-----
Jan 01 00:00:14.060 iopkt.16408 main_buffer* 0 detect_armv8ce_hw: armv8ce is supported!
Jan 01 00:00:14.061 iopkt.16408 main_buffer 0 tcpip starting
Jan 01 00:00:14.062 iopkt.16408 main_buffer 0 smmu support is disabled
Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 initializing IPsec...
Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 done
Jan 01 00:00:14.064 iopkt.16408 main_buffer 0 IPsec: Initialized Security Association Processing.
Jan 01 00:00:14.067 iopkt.16408 main_buffer 0 /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/s32g_pfe_class.fw,util_fw=/proc/boot/s32g_pfe_util.fw
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 0 -----ONLINE-----
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog* 0 INF[src/pfe_drv.c:1346]: VERSION INFO
Driver version: 1.8.0
Driver commit hash: 57b6eefdb35cbff7a43ecfbdca3334760b1d0553
PFE_CFG_MULTI_INSTANCE_SUPPORT: 0
PFE_CFG_LOCAL_IF: 6
PFE_CFG_MASTER_IF: 6
PFE_CFG_SC_HIF: 1
PFE_CFG_HIF_RING_LENGTH: 256
PFE_CFG_PFE0_PROMISC: 1
PFE_CFG_PFE1_PROMISC: 1
PFE_CFG_PFE2_PROMISC: 1
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1353]: --- Safe IRQ enabled. No InterrupAttach() or InterruptAttach_r() allowed.
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]: 45724 bytes read
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]: Loaded firmware file: /proc/boot/s32g_pfe_class.fw
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]: 23352 bytes read
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]: Loaded firmware file: /proc/boot/s32g_pfe_util.fw
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]: MII mode configuration for pfe0/EMAC0 not found. Using SGMII.
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]: MII mode configuration for pfe1/EMAC1 not found. Using SGMII.
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]: MII mode configuration for pfe2/EMAC2 not found. Using SGMII.
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1467]: Issuing PFE peripheral reset...
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1468]: PFE reset OK.
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2826]: PFE CBUS p0x46000000 mapped @ v0x1e2a574000 (0x1000000 bytes)
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2831]: HW version 0x101
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_hw_feature.c:95]: Silicon S32G3
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 WRN[hw/s32g/pfe_platform_master.c:2843]: Fail-Stop mode disabled
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2093]: PFE_ERRORS:Parity instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2108]: PFE_ERRORS:Watchdog instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2124]: PFE_ERRORS:Bus Error instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2137]: PFE_ERRORS:FW Fail Stop instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2150]: PFE_ERRORS:Host Fail Stop instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2163]: PFE_ERRORS:Fail Stop instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2176]: PFE_ERRORS:ECC Err instance created
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:1097]: BMU1 buffer base: p0xc0000000
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:98]: (DRIVER) event 1 - Driver runtime error: mmap64() failed: 1
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:171]: (DRIVER) event 1 - Driver runtime error: Can't get memory block
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[hw/s32g/pfe_platform_master.c:1125]: (DRIVER) event 1 - Driver runtime error: Unable to get BMU2 pool memory
Jan 01 00:00:14.256 io_pkt_v6_hc.16408 slog 0 ERR[src/pfe_drv.c:1529]: (DRIVER) event 1 - Driver runtime error: Unable to initialize the platform
Jan 01 00:00:14.257 iopkt.16408 main_buffer 0 Unable to init /proc/boot/devnp-pfe-2.so: No such device
Jan 01 00:00:14.257 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1302]: PFE entry failed, PFE driver terminated
#
#
#
#
#
#