I'm using three SGMII interfaces with the NXP PFEng driver in Linux. I can get two of them to load and operate (PFE1 + PFE2) but the third one (PFE0) is not being recognized by the driver.
It is saying "HIF0 not configured, skipped" but it is bound to PFE0 and configured the same as the rest from as far as I can tell.
Here is the device tree,
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright 2022-2023 NXP
*
*/
#include <dt-bindings/clock/s32g-scmi-clock.h>
#include <dt-bindings/reset/s32g-scmi-reset.h>
#include <dt-bindings/net/s32g-pfe.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83869.h>
/ {
aliases {
ethernet0 = &pfe_netif0;
ethernet1 = &pfe_netif1;
ethernet2 = &pfe_netif2;
};
soc {
pfe: pfe@46000000 {
compatible = "nxp,s32g-pfe";
reg = <0x0 0x46000000 0x0 0x1000000>,
<0x0 0x4007ca00 0x0 0x100>;
reg-names = "pfe-cbus", "s32g-main-gpr";
#address-cells = <1>;
#size-cells = <0>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 191 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 192 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 194 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 196 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "hif0", "hif1", "hif2",
"bmu", "upegpt", "safety";
resets = <&reset S32CC_SCMI_RST_PART2>;
reset-names = "pfe_part";
clocks = <&clks S32G_SCMI_CLK_PFE_AXI>,
<&clks S32G_SCMI_CLK_PFE_PE>,
<&clks S32G_SCMI_CLK_PFE_TS>;
clock-names = "pfe_sys", "pfe_pe", "pfe_ts";
nvmem-cells = <&pfe_emacs_intf_sel>, <&pfe_coh_en>,
<&pfe_pwr_ctrl>, <&pfe_genctrl3>;
nvmem-cell-names = "pfe_emacs_intf_sel", "pfe_coh_en",
"pfe_pwr_ctrl", "pfe_genctrl3";
// serdes, phy type, instance, lane
phys = <&serdes1 PHY_TYPE_XPCS 0 0>, // pfe0 connected to sgmii1, lane 0
<&serdes1 PHY_TYPE_XPCS 1 1>, // pfe1 connected to sgmii1, lane 1
<&serdes0 PHY_TYPE_XPCS 1 1>; // pfe2 connected to sgmii0, lane 1
phy-names = "emac0_xpcs", "emac1_xpcs", "emac2_xpcs";
dma-coherent;
memory-region = <&pfe_reserved_bmu2>, <&pfe_reserved_rt>,
<&pfe_reserved>, <&pfe_reserved_bdr>;
memory-region-names = "pfe-bmu2-pool", "pfe-rt-pool",
"pfe-shared-pool", "pfe-bdr-pool";
nxp,fw-class-name = "s32g_pfe_class.fw";
nxp,fw-util-name = "s32g_pfe_util.fw";
nxp,pfeng-ihc-channel = <PFE_HIF_CHANNEL_0>;
status = "okay";
/* MDIO on PFE0 */
pfe_mdio0: mdio@0 {
compatible = "nxp,s32g-pfe-mdio";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
status = "okay";
pfe_mdiob_phy0: ethernet-phy@0 {
reg = <0>;
ti,op-mode = <DP83869_SGMII_COPPER_ETHERNET>;
};
};
/* MDIO on PFE1 */
pfe_mdio1: mdio@1 {
compatible = "nxp,s32g-pfe-mdio";
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
status = "okay";
pfe_mdiob_phy1: ethernet-phy@0 {
reg = <0>;
ti,op-mode = <DP83869_SGMII_COPPER_ETHERNET>;
};
};
/* MDIO on PFE2 */
pfe_mdio2: mdio@2 {
compatible = "nxp,s32g-pfe-mdio";
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
status = "okay";
pfe_mdiob_phy2: ethernet-phy@0 {
reg = <0>;
ti,op-mode = <DP83869_SGMII_COPPER_ETHERNET>;
};
};
/* Network interface 'pfe0' */
pfe_netif0: ethernet@10 {
compatible = "nxp,s32g-pfe-netif";
status = "okay";
reg = <10>;
local-mac-address = [ 00 04 9F BE EF 00 ];
nxp,pfeng-if-name = "pfe0";
nxp,pfeng-hif-channels = <PFE_HIF_CHANNEL_0>;
nxp,pfeng-linked-phyif = <PFE_PHYIF_EMAC_0>;
clocks = <&clks S32G_SCMI_CLK_PFE0_TX_SGMII>,
<&clks S32G_SCMI_CLK_PFE0_TX_RGMII>,
<&clks S32G_SCMI_CLK_PFE0_TX_RMII>,
<&clks S32G_SCMI_CLK_PFE0_TX_MII>,
<&clks S32G_SCMI_CLK_PFE0_RX_SGMII>,
<&clks S32G_SCMI_CLK_PFE0_RX_RGMII>,
<&clks S32G_SCMI_CLK_PFE0_RX_RMII>,
<&clks S32G_SCMI_CLK_PFE0_RX_MII>;
clock-names = "tx_sgmii", "tx_rgmii",
"tx_rmii", "tx_mii",
"rx_sgmii", "rx_rgmii",
"rx_rmii", "rx_mii";
phy-mode = "sgmii";
managed = "in-band-status";
};
/* Network interface 'pfe1' */
pfe_netif1: ethernet@11 {
compatible = "nxp,s32g-pfe-netif";
status = "okay";
reg = <11>;
local-mac-address = [ 00 04 9F BE EF 01 ];
nxp,pfeng-if-name = "pfe1";
nxp,pfeng-hif-channels = <PFE_HIF_CHANNEL_1>;
nxp,pfeng-linked-phyif = <PFE_PHYIF_EMAC_1>;
clocks = <&clks S32G_SCMI_CLK_PFE1_TX_SGMII>,
<&clks S32G_SCMI_CLK_PFE1_TX_RGMII>,
<&clks S32G_SCMI_CLK_PFE1_TX_RMII>,
<&clks S32G_SCMI_CLK_PFE1_TX_MII>,
<&clks S32G_SCMI_CLK_PFE1_RX_SGMII>,
<&clks S32G_SCMI_CLK_PFE1_RX_RGMII>,
<&clks S32G_SCMI_CLK_PFE1_RX_RMII>,
<&clks S32G_SCMI_CLK_PFE1_RX_MII>;
clock-names = "tx_sgmii", "tx_rgmii",
"tx_rmii", "tx_mii",
"rx_sgmii", "rx_rgmii",
"rx_rmii", "rx_mii";
phy-mode = "sgmii";
managed = "in-band-status";
};
/* Network interface 'pfe2' */
pfe_netif2: ethernet@12 {
compatible = "nxp,s32g-pfe-netif";
status = "okay";
reg = <12>;
local-mac-address = [ 00 04 9F BE EF 02 ];
nxp,pfeng-if-name = "pfe2";
nxp,pfeng-hif-channels = <PFE_HIF_CHANNEL_2>;
nxp,pfeng-linked-phyif = <PFE_PHYIF_EMAC_2>;
clocks = <&clks S32G_SCMI_CLK_PFE2_TX_SGMII>,
<&clks S32G_SCMI_CLK_PFE2_TX_RGMII>,
<&clks S32G_SCMI_CLK_PFE2_TX_RMII>,
<&clks S32G_SCMI_CLK_PFE2_TX_MII>,
<&clks S32G_SCMI_CLK_PFE2_RX_SGMII>,
<&clks S32G_SCMI_CLK_PFE2_RX_RGMII>,
<&clks S32G_SCMI_CLK_PFE2_RX_RMII>,
<&clks S32G_SCMI_CLK_PFE2_RX_MII>;
clock-names = "tx_sgmii", "tx_rgmii",
"tx_rmii", "tx_mii",
"rx_sgmii", "rx_rgmii",
"rx_rmii", "rx_mii";
phy-mode = "sgmii";
managed = "in-band-status";
};
};
};
};
Here is what Linux prints when the driver loads,
[ 1.139965] phy-s32cc-serdes 40480000.serdes: Using mode 2 for SerDes subsystem
[ 1.150978] phy-s32cc-serdes 40480000.serdes: Unstable RX detected on XPCS1
[ 1.151314] phy-s32cc-serdes 44180000.serdes: Using mode 3 for SerDes subsystem
[ 1.157428] phy-s32cc-serdes 44180000.serdes: Unstable RX detected on XPCS1
[ 1.157446] phy-s32cc-serdes 44180000.serdes: Unstable RX detected on XPCS0
...
[ 15.457853] pfeng: loading out-of-tree module taints kernel.
[ 15.469032] pfeng 46000000.pfe: PFEng ethernet driver loading ...
[ 15.469046] pfeng 46000000.pfe: Version: 1.3.0
[ 15.469050] pfeng 46000000.pfe: Driver commit hash: M4_DRIVER_COMMIT_HASH
[ 15.469054] pfeng 46000000.pfe: Multi instance support: disabled (standalone)
[ 15.469058] pfeng 46000000.pfe: Compiled by: 12.3.0
[ 15.469085] pfeng 46000000.pfe: Cbus addr 0x46000000 size 0x1000000
[ 15.469093] pfeng 46000000.pfe: nxp,fw-class-name: s32g_pfe_class.fw
[ 15.469098] pfeng 46000000.pfe: nxp,fw-util-name: s32g_pfe_util.fw
[ 15.469151] pfeng 46000000.pfe: netif name: pfe1
[ 15.469158] pfeng 46000000.pfe: DT mac addr: 00:04:9f:be:ef:01
[ 15.469166] pfeng 46000000.pfe: netif(pfe1) linked phyif: 1
[ 15.469171] pfeng 46000000.pfe: netif(pfe1) mode: std
[ 15.469184] pfeng 46000000.pfe: netif(pfe1) HIFs: count 1 map 02
[ 15.469192] pfeng 46000000.pfe: SGMII AN enabled on EMAC1
[ 15.469196] pfeng 46000000.pfe: EMAC1 PHY less SGMII
[ 15.469204] pfeng 46000000.pfe: EMAC1 interface mode: 4
[ 15.469345] pfeng 46000000.pfe: netif name: pfe2
[ 15.469351] pfeng 46000000.pfe: DT mac addr: 00:04:9f:be:ef:02
[[ 15.469356] pfeng 46000000.pfe: netif(pfe2) linked phyif: 2
15.469361] pfeng 46000000.pfe: netif(pfe2) mode: std
[[ 15.469373] pfeng 46000000.pfe: netif(pfe2) HIFs: count 1 map 04
0[ 15.469380] pfeng 46000000.pfe: SGMII AN enabled on EMAC2
;[ 15.469384] pfeng 46000000.pfe: EMAC2 PHY less SGMII
3[ 15.469389] pfeng 46000000.pfe: EMAC2 interface mode: 4
2[ 15.469459] pfeng 46000000.pfe: HIF channels mask: 0x0006
m[ 15.469502] pfeng 46000000.pfe: PFE port coherency enabled, mask 0x1e
[ 15.469760] pfeng 46000000.pfe: Clocks: sys=300MHz pe=600MHz
[ 15.469775] pfeng 46000000.pfe: Interface selected: EMAC0: 0xffffffff EMAC1: 0x4 EMAC2: 0x4
O[ 15.470473] pfeng 46000000.pfe: PFE controller reset done
K[ 15.470543] pfeng 46000000.pfe: TX clock on EMAC1 for interface sgmii installed
[ 15.470577] pfeng 46000000.pfe: RX clock on EMAC1 for interface sgmii installed
[ 15.470629] pfeng 46000000.pfe: TX clock on EMAC2 for interface sgmii installed
15.470662] pfeng 46000000.pfe: RX clock on EMAC2 for interface sgmii installed
[[ 15.470842] pfeng 46000000.pfe: assigned reserved memory node pfebufs@34000000
0[ 15.470898] pfeng 46000000.pfe: assigned reserved memory node pfebufs@34080000
m[ 15.470955] pfeng 46000000.pfe: assigned reserved memory node pfebufs@83200000
][ 15.470982] pfeng 46000000.pfe: assigned reserved memory node pfebufs@835e0000
[ 15.476294] pfeng 46000000.pfe: Firmware: CLASS s32g_pfe_class.fw [45040 bytes]
F[ 15.476304] pfeng 46000000.pfe: Firmware: UTIL s32g_pfe_util.fw [23252 bytes]
i[ 15.476316] pfeng 46000000.pfe: [pfe_platform_master.c:3629] PFE CBUS p0x46000000 mapped @ v0xffffffc00c000000 (0x1000000 bytes)
n[ 15.476324] pfeng 46000000.pfe: [pfe_platform_master.c:3634] HW version 0x101
i[ 15.476332] pfeng 46000000.pfe: [pfe_hw_feature.c:93] Silicon S32G3
s[ 15.476340] pfeng 46000000.pfe: [pfe_platform_master.c:3646] Fail-Stop mode disabled
h[ 15.479186] pfeng 46000000.pfe: [pfe_platform_master.c:2783] PFE_ERRORS:Parity instance created
e[ 15.479197] pfeng 46000000.pfe: [pfe_platform_master.c:2798] PFE_ERRORS:Watchdog instance created
d[ 15.479203] pfeng 46000000.pfe: [pfe_platform_master.c:2814] PFE_ERRORS:Bus Error instance created
[ 15.479208] pfeng 46000000.pfe: [pfe_platform_master.c:2827] PFE_ERRORS:FW Fail Stop instance created
15.479214] pfeng 46000000.pfe: [pfe_platform_master.c:2840] PFE_ERRORS:Host Fail Stop instance created
[ 15.457853] pfeng: loading out-of-tree module taints kernel.
[ 15.469032] pfeng 46000000.pfe: PFEng ethernet driver loading ...
[ 15.469046] pfeng 46000000.pfe: Version: 1.3.0
[ 15.469050] pfeng 46000000.pfe: Driver commit hash: M4_DRIVER_COMMIT_HASH
[ 15.469054] pfeng 46000000.pfe: Multi instance support: disabled (standalone)
[ 15.469058] pfeng 46000000.pfe: Compiled by: 12.3.0
[ 15.469085] pfeng 46000000.pfe: Cbus addr 0x46000000 size 0x1000000
[ 15.469093] pfeng 46000000.pfe: nxp,fw-class-name: s32g_pfe_class.fw
[ 15.469098] pfeng 46000000.pfe: nxp,fw-util-name: s32g_pfe_util.fw
[ 15.469151] pfeng 46000000.pfe: netif name: pfe1
[ 15.469158] pfeng 46000000.pfe: DT mac addr: 00:04:9f:be:ef:01
[ 15.469166] pfeng 46000000.pfe: netif(pfe1) linked phyif: 1
[ 15.469171] pfeng 46000000.pfe: netif(pfe1) mode: std
[ 15.469184] pfeng 46000000.pfe: netif(pfe1) HIFs: count 1 map 02
[ 15.469192] pfeng 46000000.pfe: SGMII AN enabled on EMAC1
[ 15.469196] pfeng 46000000.pfe: EMAC1 PHY less SGMII
[ 15.469204] pfeng 46000000.pfe: EMAC1 interface mode: 4
[ 15.469345] pfeng 46000000.pfe: netif name: pfe2
[ 15.469351] pfeng 46000000.pfe: DT mac addr: 00:04:9f:be:ef:02
[[ 15.469356] pfeng 46000000.pfe: netif(pfe2) linked phyif: 2
15.469361] pfeng 46000000.pfe: netif(pfe2) mode: std
[[ 15.469373] pfeng 46000000.pfe: netif(pfe2) HIFs: count 1 map 04
0[ 15.469380] pfeng 46000000.pfe: SGMII AN enabled on EMAC2
;[ 15.469384] pfeng 46000000.pfe: EMAC2 PHY less SGMII
3[ 15.469389] pfeng 46000000.pfe: EMAC2 interface mode: 4
2[ 15.469459] pfeng 46000000.pfe: HIF channels mask: 0x0006
m[ 15.469502] pfeng 46000000.pfe: PFE port coherency enabled, mask 0x1e
[ 15.469760] pfeng 46000000.pfe: Clocks: sys=300MHz pe=600MHz
[ 15.469775] pfeng 46000000.pfe: Interface selected: EMAC0: 0xffffffff EMAC1: 0x4 EMAC2: 0x4
O[ 15.470473] pfeng 46000000.pfe: PFE controller reset done
K[ 15.470543] pfeng 46000000.pfe: TX clock on EMAC1 for interface sgmii installed
[ 15.470577] pfeng 46000000.pfe: RX clock on EMAC1 for interface sgmii installed
[ 15.470629] pfeng 46000000.pfe: TX clock on EMAC2 for interface sgmii installed
15.470662] pfeng 46000000.pfe: RX clock on EMAC2 for interface sgmii installed
[[ 15.470842] pfeng 46000000.pfe: assigned reserved memory node pfebufs@34000000
0[ 15.470898] pfeng 46000000.pfe: assigned reserved memory node pfebufs@34080000
m[ 15.470955] pfeng 46000000.pfe: assigned reserved memory node pfebufs@83200000
][ 15.470982] pfeng 46000000.pfe: assigned reserved memory node pfebufs@835e0000
[ 15.476294] pfeng 46000000.pfe: Firmware: CLASS s32g_pfe_class.fw [45040 bytes]
F[ 15.476304] pfeng 46000000.pfe: Firmware: UTIL s32g_pfe_util.fw [23252 bytes]
i[ 15.476316] pfeng 46000000.pfe: [pfe_platform_master.c:3629] PFE CBUS p0x46000000 mapped @ v0xffffffc00c000000 (0x1000000 bytes)
n[ 15.476324] pfeng 46000000.pfe: [pfe_platform_master.c:3634] HW version 0x101
i[ 15.476332] pfeng 46000000.pfe: [pfe_hw_feature.c:93] Silicon S32G3
s[ 15.476340] pfeng 46000000.pfe: [pfe_platform_master.c:3646] Fail-Stop mode disabled
h[ 15.479186] pfeng 46000000.pfe: [pfe_platform_master.c:2783] PFE_ERRORS:Parity instance created
e[ 15.479197] pfeng 46000000.pfe: [pfe_platform_master.c:2798] PFE_ERRORS:Watchdog instance created
d[ 15.479203] pfeng 46000000.pfe: [pfe_platform_master.c:2814] PFE_ERRORS:Bus Error instance created
[ 15.479208] pfeng 46000000.pfe: [pfe_platform_master.c:2827] PFE_ERRORS:FW Fail Stop instance created
15.479214] pfeng 46000000.pfe: [pfe_platform_master.c:2840] PFE_ERRORS:Host Fail Stop instance created
19.535286] pfeng 46000000.pfe: PFE_ERRORS:Fail Stop instance created
[0[ 19.535290] pfeng 46000000.pfe: PFE_ERRORS:ECC Err instance created
;[ 19.535300] pfeng 46000000.pfe: BMU1 buffer base: p0xc0000000
1[ 19.535388] pfeng 46000000.pfe: BMU2 buffer base: p0x34000000 (0x80000 bytes)
;[ 19.536682] pfeng 46000000.pfe: register IRQ 76 by name 'PFE BMU IRQ'
3[ 19.536851] pfeng 46000000.pfe: Firmware .elf detected
9[ 19.536853] pfeng 46000000.pfe: BMU_EMPTY_INT (BMU @ p0x000000002bafc76d). Pool ready.
m[ 19.536857] pfeng 46000000.pfe: Uploading CLASS firmware
V[ 19.536865] pfeng 46000000.pfe: Selected FW loading OPs to load 8 PEs in parallel
A[ 19.536866] pfeng 46000000.pfe: BMU_EMPTY_INT (BMU @ p0x00000000a2386541). Pool ready.
S[ 19.556236] pfeng 46000000.pfe: pfe_ct.h file version"92367c0e25f21f49217a9b08168ad2c8"
T[ 19.571482] pfeng 46000000.pfe: [FW VERSION] 1.8.0, Build: Nov 16 2023, 07:46:11 (nogitaaa), ID: 0x30
[ 19.571773] pfeng 46000000.pfe: EMAC timestamp external mode bitmap: 0
:[ 19.571814] pfeng 46000000.pfe: Uploading UTIL firmware
[ 19.571819] pfeng 46000000.pfe: Selected FW loading OPs to load 1 PEs in parallel
I[ 19.574246] pfeng 46000000.pfe: pfe_ct.h file version"92367c0e25f21f49217a9b08168ad2c8"
n[ 19.575323] pfeng 46000000.pfe: FW feature: drv_run_on_g3
i[ 19.575328] pfeng 46000000.pfe: FW feature: jumbo_frames
t[ 19.575333] pfeng 46000000.pfe: FW feature: software_vlan_table
i[ 19.575337] pfeng 46000000.pfe: FW feature: timestamping
a[ 19.575340] pfeng 46000000.pfe: FW feature: qos_mapping
l[ 19.575344] pfeng 46000000.pfe: FW feature: core_functionality
i[ 19.575348] pfeng 46000000.pfe: FW feature: extended_features
z[ 19.575353] pfeng 46000000.pfe: FW feature: flexible_router
e[ 19.575357] pfeng 46000000.pfe: FW feature: validate_hif_csum
[ 19.575361] pfeng 46000000.pfe: FW feature: err051211_workaround
P[ 19.575365] pfeng 46000000.pfe: FW feature: IPsec
F[ 19.575368] pfeng 46000000.pfe: FW feature: l2_bridge_aging
E[ 19.575373] pfeng 46000000.pfe: FW feature: receive_malformed
s[ 19.575379] pfeng 46000000.pfe: FW feature: ptp_conf_check
19.575384] pfeng 46000000.pfe: FW feature: vlan_conf_check
[[ 19.575389] pfeng 46000000.pfe: FW feature: hash_load_spread
0[ 19.575395] pfeng 46000000.pfe: FW feature: ingress_vlan
m[ 19.575398] pfeng 46000000.pfe: FW feature: safety
.[ 19.577825] pfeng 46000000.pfe: VLAN ID incorrect or not set. Using default VLAN ID = 0x01.
[ 19.577830] pfeng 46000000.pfe: VLAN stats size incorrect or not set. Using default VLAN stats size =.
[ 19.577916] pfeng 46000000.pfe: Software vlan hash table @ p0x20001278
[ 19.578088] pfeng 46000000.pfe: Fall-back bridge domain @ 0x20000a80 (class)
[ 19.578092] pfeng 46000000.pfe: Default bridge domain @ 0x20000a78 (class)
[ 19.579076] pfeng 46000000.pfe: Routing table created, Hash Table @ p0xc00e0000, Pool @ p0xc00e8000 ()
[ 19.579290] pfeng 46000000.pfe: Feature err051211_workaround: DISABLED
[ 19.587357] pfeng 46000000.pfe: MDIO bus 0 enabled
[ 19.593821] pfeng 46000000.pfe: MDIO bus 1 enabled
[ 19.599713] pfeng 46000000.pfe: MDIO bus 2 enabled
[ 19.599725] pfeng 46000000.pfe: HIF0 not configured, skipped
[ 19.600089] pfeng 46000000.pfe: HIF1 enabled
[ 19.600319] pfeng 46000000.pfe: HIF2 enabled
[ 19.600325] pfeng 46000000.pfe: HIF3 not configured, skipped
[ 19.600400] pfeng 46000000.pfe pfe1 (uninitialized): Subscribe to HIF1
[ 19.600407] pfeng 46000000.pfe pfe1 (uninitialized): Host LLTX disabled
[ 19.600833] pfeng 46000000.pfe pfe1 (uninitialized): Enable HIF1
[ 19.600994] pfeng 46000000.pfe pfe1 (uninitialized): setting MAC addr: 00:04:9f:be:ef:01
[ 19.601022] pfeng 46000000.pfe pfe1 (uninitialized): PTP HW addend 0x80000000, max_adj configured to b
[ 19.601031] pfeng 46000000.pfe: IEEE1588: Input Clock: 200000000Hz, Output: 100000000Hz, Accuracy: 10s
19.535286] pfeng 46000000.pfe: PFE_ERRORS:Fail Stop instance created
[0[ 19.535290] pfeng 46000000.pfe: PFE_ERRORS:ECC Err instance created
;[ 19.535300] pfeng 46000000.pfe: BMU1 buffer base: p0xc0000000
1[ 19.535388] pfeng 46000000.pfe: BMU2 buffer base: p0x34000000 (0x80000 bytes)
;[ 19.536682] pfeng 46000000.pfe: register IRQ 76 by name 'PFE BMU IRQ'
3[ 19.536851] pfeng 46000000.pfe: Firmware .elf detected
9[ 19.536853] pfeng 46000000.pfe: BMU_EMPTY_INT (BMU @ p0x000000002bafc76d). Pool ready.
m[ 19.536857] pfeng 46000000.pfe: Uploading CLASS firmware
V[ 19.536865] pfeng 46000000.pfe: Selected FW loading OPs to load 8 PEs in parallel
A[ 19.536866] pfeng 46000000.pfe: BMU_EMPTY_INT (BMU @ p0x00000000a2386541). Pool ready.
S[ 19.556236] pfeng 46000000.pfe: pfe_ct.h file version"92367c0e25f21f49217a9b08168ad2c8"
T[ 19.571482] pfeng 46000000.pfe: [FW VERSION] 1.8.0, Build: Nov 16 2023, 07:46:11 (nogitaaa), ID: 0x30
[ 19.571773] pfeng 46000000.pfe: EMAC timestamp external mode bitmap: 0
:[ 19.571814] pfeng 46000000.pfe: Uploading UTIL firmware
[ 19.571819] pfeng 46000000.pfe: Selected FW loading OPs to load 1 PEs in parallel
I[ 19.574246] pfeng 46000000.pfe: pfe_ct.h file version"92367c0e25f21f49217a9b08168ad2c8"
n[ 19.575323] pfeng 46000000.pfe: FW feature: drv_run_on_g3
i[ 19.575328] pfeng 46000000.pfe: FW feature: jumbo_frames
t[ 19.575333] pfeng 46000000.pfe: FW feature: software_vlan_table
i[ 19.575337] pfeng 46000000.pfe: FW feature: timestamping
a[ 19.575340] pfeng 46000000.pfe: FW feature: qos_mapping
l[ 19.575344] pfeng 46000000.pfe: FW feature: core_functionality
i[ 19.575348] pfeng 46000000.pfe: FW feature: extended_features
z[ 19.575353] pfeng 46000000.pfe: FW feature: flexible_router
e[ 19.575357] pfeng 46000000.pfe: FW feature: validate_hif_csum
[ 19.575361] pfeng 46000000.pfe: FW feature: err051211_workaround
P[ 19.575365] pfeng 46000000.pfe: FW feature: IPsec
F[ 19.575368] pfeng 46000000.pfe: FW feature: l2_bridge_aging
E[ 19.575373] pfeng 46000000.pfe: FW feature: receive_malformed
s[ 19.575379] pfeng 46000000.pfe: FW feature: ptp_conf_check
19.575384] pfeng 46000000.pfe: FW feature: vlan_conf_check
[[ 19.575389] pfeng 46000000.pfe: FW feature: hash_load_spread
0[ 19.575395] pfeng 46000000.pfe: FW feature: ingress_vlan
m[ 19.575398] pfeng 46000000.pfe: FW feature: safety
.[ 19.577825] pfeng 46000000.pfe: VLAN ID incorrect or not set. Using default VLAN ID = 0x01.
[ 19.577830] pfeng 46000000.pfe: VLAN stats size incorrect or not set. Using default VLAN stats size =.
[ 19.577916] pfeng 46000000.pfe: Software vlan hash table @ p0x20001278
[ 19.578088] pfeng 46000000.pfe: Fall-back bridge domain @ 0x20000a80 (class)
[ 19.578092] pfeng 46000000.pfe: Default bridge domain @ 0x20000a78 (class)
[ 19.579076] pfeng 46000000.pfe: Routing table created, Hash Table @ p0xc00e0000, Pool @ p0xc00e8000 ()
[ 19.579290] pfeng 46000000.pfe: Feature err051211_workaround: DISABLED
[ 19.587357] pfeng 46000000.pfe: MDIO bus 0 enabled
[ 19.593821] pfeng 46000000.pfe: MDIO bus 1 enabled
[ 19.599713] pfeng 46000000.pfe: MDIO bus 2 enabled
[ 19.599725] pfeng 46000000.pfe: HIF0 not configured, skipped
[ 19.600089] pfeng 46000000.pfe: HIF1 enabled
[ 19.600319] pfeng 46000000.pfe: HIF2 enabled
[ 19.600325] pfeng 46000000.pfe: HIF3 not configured, skipped
[ 19.600400] pfeng 46000000.pfe pfe1 (uninitialized): Subscribe to HIF1
[ 19.600407] pfeng 46000000.pfe pfe1 (uninitialized): Host LLTX disabled
[ 19.600833] pfeng 46000000.pfe pfe1 (uninitialized): Enable HIF1
[ 19.600994] pfeng 46000000.pfe pfe1 (uninitialized): setting MAC addr: 00:04:9f:be:ef:01
[ 19.601022] pfeng 46000000.pfe pfe1 (uninitialized): PTP HW addend 0x80000000, max_adj configured to b
[ 19.601031] pfeng 46000000.pfe: IEEE1588: Input Clock: 200000000Hz, Output: 100000000Hz, Accuracy: 10s