<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Poblems with DPAA ports in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/Poblems-with-DPAA-ports/m-p/2332701#M16585</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIARAA" data-sfc-cb="" data-sfc-cp=""&gt;
&lt;DIV style="display: contents;" data-processed="true" data-complete="true" data-sfc-cb="" data-subtree="aimfl"&gt;The issue where only&lt;/DIV&gt;
MAC10 is enabling in Linux, despite MAC6 working in U-Boot, typically points to a discrepancy in the DPAA (Data Path Acceleration Architecture) configuration within the Linux Device Tree (DTS).&amp;nbsp;Here are the most likely causes and how to fix them:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-complete="true" data-sae="" data-processed="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;1. Incorrect SGMII Speed Mapping (2.5G vs 1G)&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIBBAA" data-sfc-cb="" data-sfc-cp=""&gt;The LS1046A SGMII lanes for MAC9, 10, and 5 are running at 2.5G. In Linux, the standard &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;sgmii&lt;/CODE&gt; type often defaults to 1G.&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-processed="true" data-complete="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIBRAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Fix: Change the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;phy-connection-type&lt;/CODE&gt; for MAC9, 10, and 5 to &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"2500base-x"&lt;/CODE&gt; or &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"sgmii-2500"&lt;/CODE&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIBRAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;For MAC6 (RTL8211), keep it as &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"sgmii"&lt;/CODE&gt; (1G).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-sae="" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;2. MDIO Clause 45 vs Clause 22&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIBxAA" data-sfc-cb="" data-sfc-cp=""&gt;Your DTS shows the RTL8221s (MACs 9, 10, 5) using &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;compatible = "ethernet-phy-ieee802.3-c45"&lt;/CODE&gt;.&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-processed="true" data-complete="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEICBAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Conflict: If your MDIO controller node (&lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;mdio@fc000&lt;/CODE&gt;) is not explicitly configured to support Clause 45 via the driver, it may fail to probe those PHYs.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEICBAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Check: Does &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;dmesg&lt;/CODE&gt; show "PHY not found" for these addresses? If so, verify the MDIO compatible string is exactly &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl,fman-memac-mdio&lt;/CODE&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-complete="true" data-sae="" data-processed="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;3. Misalignment in &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsldpaa&lt;/CODE&gt; Nodes&amp;nbsp;In your DTS, you have:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="r1PmQe" data-processed="true" data-complete="true" data-hveid="CAEICxAA" data-sfc-cb="" data-wiz-uids="eL9CJc_2c,eL9CJc_2d,eL9CJc_2e"&gt;
&lt;DIV data-processed="true"&gt;
&lt;DIV class="pHpOfb" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="z0e9Qd"&gt;
&lt;DIV class="vVRw1d"&gt;dts&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="pCTyYe" dir="ltr"&gt;
&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class="undefined"&gt;ethernet@&lt;/SPAN&gt;&lt;SPAN class="tnfcCf"&gt;10&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt; {
    fsl,fman-mac = &amp;lt;&amp;amp;enet7&amp;gt;; &lt;/SPAN&gt;&lt;SPAN class="ClTQqc"&gt;// This maps to MAC10&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;
};
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="LIBz9e" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="P8PNlb"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIDBAA" data-sfc-cb="" data-sfc-cp=""&gt;However, the other ports (&lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@2&lt;/CODE&gt; through &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@8&lt;/CODE&gt;) might be mapping to the wrong &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;enet&lt;/CODE&gt; labels. In the LS1046A SDK:&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-complete="true" data-processed="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIDRAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC5 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet4&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-complete="true" data-sae="" data-hveid="CAEIDRAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC6 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet5&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-processed="true" data-complete="true" data-hveid="CAEIDRAC" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC9 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet6&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-processed="true" data-complete="true" data-hveid="CAEIDRAD" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC10 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet7&lt;/CODE&gt; (which matches your working port)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIDhAA" data-sfc-cb="" data-sfc-cp=""&gt;Action: Ensure that for every &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@X&lt;/CODE&gt; node under &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;fsldpaa&lt;/CODE&gt;, the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl,fman-mac&lt;/CODE&gt; property points to the correct &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enetX&lt;/CODE&gt; label defined in &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl-ls1046-post.dtsi&lt;/CODE&gt;.&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-sae="" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;4. Duplicate &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fman0&lt;/CODE&gt; Definition&amp;nbsp;At the end of your snippet, you have:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="r1PmQe" data-processed="true" data-complete="true" data-hveid="CAEIERAA" data-sfc-cb="" data-wiz-uids="eL9CJc_3u,eL9CJc_3v,eL9CJc_3w"&gt;
&lt;DIV data-processed="true"&gt;
&lt;DIV class="pHpOfb" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="z0e9Qd"&gt;
&lt;DIV class="vVRw1d"&gt;dts&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="pCTyYe" dir="ltr"&gt;
&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class="undefined"&gt;&amp;amp;fman0 { compatible = &lt;/SPAN&gt;&lt;SPAN class="CS0cqb"&gt;"fsl,fman"&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;, &lt;/SPAN&gt;&lt;SPAN class="CS0cqb"&gt;"simple-bus"&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;; };
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;Remove this. By adding &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;simple-bus&lt;/CODE&gt; and changing the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;compatible&lt;/CODE&gt; string, you might be preventing the DPAA FMan driver from binding correctly to the sub-nodes (the MACs). The driver expects the specific FMan compatible string provided by the NXP SDK dtsi files.&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;regards&lt;/DIV&gt;</description>
    <pubDate>Fri, 13 Mar 2026 14:14:47 GMT</pubDate>
    <dc:creator>Bio_TICFSL</dc:creator>
    <dc:date>2026-03-13T14:14:47Z</dc:date>
    <item>
      <title>Poblems with DPAA ports</title>
      <link>https://community.nxp.com/t5/Layerscape/Poblems-with-DPAA-ports/m-p/2331514#M16578</link>
      <description>&lt;P&gt;Good day!&lt;/P&gt;&lt;P&gt;I'm trying to bring up eth ports on custom ls1046-based board. All eth ports are on serdes with protocol - 0x2223.&amp;nbsp;&lt;/P&gt;&lt;P&gt;So ports are:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;MAC9  ethernet@f0000 (SGMII,2.5) -&amp;gt; RTL8221
MAC10 - ethernet@f2000 (SGMII,2.5) -&amp;gt; RTL8221
MAC5 - ethernet@e8000 (SGMII,2.5) -&amp;gt; RTL8221
MAC6 - ethernet@ea000 -&amp;gt; RTL8211&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My fman-related piece of UBoot dts(base on DTS for LS1046ARDB):&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;........
#include "fsl-ls1046-post.dtsi"
&amp;amp;fman0 {
        EMAC6: ethernet@ea000 {
	        phy-handle = &amp;lt;&amp;amp;sgmii_phy4&amp;gt;;
		phy-connection-type = "sgmii";
		status = "okay";
	};
        rtl8211: mdio@fc000 {
		sgmii_phy4: ethernet-phy@4 {
		        reg = &amp;lt;0x4&amp;gt;;
		};
	};
};&lt;/LI-CODE&gt;&lt;P&gt;With this everything woks just fine -&amp;nbsp;&lt;A href="mailto:ethernet@ea000" target="_blank"&gt;ethernet@ea000&lt;/A&gt;&amp;nbsp;in Uboot works just perfectly.&lt;/P&gt;&lt;P&gt;After that I move to Linux. I use USDPAA SDK drivers.&lt;/P&gt;&lt;P&gt;My Linux dts is also based on LS1046ardb SDK DTS:&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;........
#include "fsl-ls1046-post.dtsi"
&amp;amp;fman0 {
        //// MAC 5
        ethernet@e8000 {   /// 2.5G SerDes SGMII external
	        phy-handle = &amp;lt;&amp;amp;sgmii_phy3&amp;gt;;
		phy-connection-type = "sgmii";
	};
        /// MAC6
        ethernet@ea000 {    /// 1G SerDes SGMII external
	        phy-handle = &amp;lt;&amp;amp;sgmii_phy4&amp;gt;; 
		phy-connection-type = "sgmii";
	};
        //// MAC9
	ethernet@f0000 { /// 2.5G SerDes SGMII external
	        phy-handle = &amp;lt;&amp;amp;sgmii_phy1&amp;gt;;
		phy-connection-type = "sgmii";
	};
        /// MAC10
        ethernet@f2000 {  /// 2.5G SerDes SGMII external
	        phy-handle = &amp;lt;&amp;amp;sgmii_phy2&amp;gt;;
		phy-connection-type = "sgmii";
	};
        mdio@fc000 {
	        compatible = "fsl,fman-memac-mdio";
                /// RTL8221
		sgmii_phy1: ethernet-phy@1 {
		        reg = &amp;lt;0x1&amp;gt;;
			compatible = "ethernet-phy-ieee802.3-c45";
		};
                /// RTL8221
		sgmii_phy2: ethernet-phy@2 {
		        reg = &amp;lt;0x2&amp;gt;;			
			compatible = "ethernet-phy-ieee802.3-c45";
		};
                /// RTL8221
		sgmii_phy3: ethernet-phy@3 {
		        reg = &amp;lt;0x3&amp;gt;;			
			compatible = "ethernet-phy-ieee802.3-c45";
		};
                /// RTL8211
		sgmii_phy4: ethernet-phy@4 {
		        reg = &amp;lt;0x4&amp;gt;;
		};
	};
};
....
#include "qoriq-dpaa-eth.dtsi"
#include "qoriq-fman3-0-6oh.dtsi"
....
&amp;amp;fsldpaa {
        ethernet@0 {
                status = "disabled";
        };
        ethernet@1 {
                status = "disabled";
        };

        ethernet@2 {
                status = "okay";

        };
        ethernet@3 {
                status = "okay";
        };

        ethernet@4 {
                status = "okay";
        };
        ethernet@5 {
                status = "okay";
        };
        ethernet@6 {
                status = "okay";
        };
        ethernet@8 {
                status = "okay";
        };

        ethernet@10 {
                status = "okay";
                compatible = "fsl,dpa-ethernet";
                fsl,fman-mac = &amp;lt;&amp;amp;enet7&amp;gt;;
                dma-coherent;
        };
};

&amp;amp;fman0 {
        compatible = "fsl,fman", "simple-bus";
};
.....&lt;/LI-CODE&gt;&lt;P&gt;During Linux boot i get this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="memac.png" style="width: 872px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/379108i74B446DA1F4586D4/image-size/large?v=v2&amp;amp;px=999" role="button" title="memac.png" alt="memac.png" /&gt;&lt;/span&gt;&amp;nbsp;Only MAC10 is enabling, all other ports - failed. Quite interesting that MAC6 is failed, despite to it worked OK in UBoot.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My RCW:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SYS_PLL_RAT=7
MEM_PLL_RAT=21
CGA_PLL1_RAT=18
CGA_PLL2_RAT=16
/// SerDes PLL &amp;amp; Protocol configuration
SRDS_PRTCL_S1=8739  ///  0x2223
SRDS_PRTCL_S2=34952  /// 0x8888
SRDS_PLL_REF_CLK_SEL_S1=2
SRDS_PLL_REF_CLK_SEL_S2=0
SRDS_PLL_PD_S1=0
SRDS_PLL_PD_S2=0
SRDS_DIV_PEX_S1=0
SRDS_DIV_PEX_S2=0

/// Misc PLL-Related Configuration
DDR_REFCLK_SEL=1
SRDS_REFCLK_SEL_S1=1
SRDS_REFCLK_SEL_S2=1
DDR_FDBK_MULT=2
/// Boot configuartion
PBI_src=4
/// Clocking configuration
HWA_CGA_M1_CLK_SEL=6
DRAM_LAT=1
/// Pin Multiplexing Configuration
UART_BASE=5
IRQ_OUT=1
IRQ_BASE=510
IFC_GRP_A_EXT=1
IFC_GRP_E1_EXT=2
IFC_GRP_E1_EXT=0
IFC_GRP_F_EXT=1
/// SoC-specific Configuration
EM1=0
EMI1_DMODE=0
EMI1_CMODE=0

EM2=1
EMI2_DMODE=1
EMI2_CMODE=1

DVDD_VSEL=2
/// PLL &amp;amp; Clocking Configuration Expansion
SYSCLK_FREQ=600
HWA_CGA_M2_CLK_SEL=1&lt;/LI-CODE&gt;&lt;P&gt;So please tell me what can be the problem with ports? Why only MAC10 is enabling?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2026 13:18:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Poblems-with-DPAA-ports/m-p/2331514#M16578</guid>
      <dc:creator>altu</dc:creator>
      <dc:date>2026-03-12T13:18:22Z</dc:date>
    </item>
    <item>
      <title>Re: Poblems with DPAA ports</title>
      <link>https://community.nxp.com/t5/Layerscape/Poblems-with-DPAA-ports/m-p/2332701#M16585</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIARAA" data-sfc-cb="" data-sfc-cp=""&gt;
&lt;DIV style="display: contents;" data-processed="true" data-complete="true" data-sfc-cb="" data-subtree="aimfl"&gt;The issue where only&lt;/DIV&gt;
MAC10 is enabling in Linux, despite MAC6 working in U-Boot, typically points to a discrepancy in the DPAA (Data Path Acceleration Architecture) configuration within the Linux Device Tree (DTS).&amp;nbsp;Here are the most likely causes and how to fix them:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-complete="true" data-sae="" data-processed="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;1. Incorrect SGMII Speed Mapping (2.5G vs 1G)&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIBBAA" data-sfc-cb="" data-sfc-cp=""&gt;The LS1046A SGMII lanes for MAC9, 10, and 5 are running at 2.5G. In Linux, the standard &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;sgmii&lt;/CODE&gt; type often defaults to 1G.&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-processed="true" data-complete="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIBRAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Fix: Change the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;phy-connection-type&lt;/CODE&gt; for MAC9, 10, and 5 to &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"2500base-x"&lt;/CODE&gt; or &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"sgmii-2500"&lt;/CODE&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIBRAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;For MAC6 (RTL8211), keep it as &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;"sgmii"&lt;/CODE&gt; (1G).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-sae="" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;2. MDIO Clause 45 vs Clause 22&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIBxAA" data-sfc-cb="" data-sfc-cp=""&gt;Your DTS shows the RTL8221s (MACs 9, 10, 5) using &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;compatible = "ethernet-phy-ieee802.3-c45"&lt;/CODE&gt;.&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-processed="true" data-complete="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEICBAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Conflict: If your MDIO controller node (&lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;mdio@fc000&lt;/CODE&gt;) is not explicitly configured to support Clause 45 via the driver, it may fail to probe those PHYs.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEICBAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;Check: Does &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;dmesg&lt;/CODE&gt; show "PHY not found" for these addresses? If so, verify the MDIO compatible string is exactly &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl,fman-memac-mdio&lt;/CODE&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-complete="true" data-sae="" data-processed="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;3. Misalignment in &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsldpaa&lt;/CODE&gt; Nodes&amp;nbsp;In your DTS, you have:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="r1PmQe" data-processed="true" data-complete="true" data-hveid="CAEICxAA" data-sfc-cb="" data-wiz-uids="eL9CJc_2c,eL9CJc_2d,eL9CJc_2e"&gt;
&lt;DIV data-processed="true"&gt;
&lt;DIV class="pHpOfb" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="z0e9Qd"&gt;
&lt;DIV class="vVRw1d"&gt;dts&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="pCTyYe" dir="ltr"&gt;
&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class="undefined"&gt;ethernet@&lt;/SPAN&gt;&lt;SPAN class="tnfcCf"&gt;10&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt; {
    fsl,fman-mac = &amp;lt;&amp;amp;enet7&amp;gt;; &lt;/SPAN&gt;&lt;SPAN class="ClTQqc"&gt;// This maps to MAC10&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;
};
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="LIBz9e" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="P8PNlb"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIDBAA" data-sfc-cb="" data-sfc-cp=""&gt;However, the other ports (&lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@2&lt;/CODE&gt; through &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@8&lt;/CODE&gt;) might be mapping to the wrong &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;enet&lt;/CODE&gt; labels. In the LS1046A SDK:&lt;/DIV&gt;
&lt;UL class="KsbFXc U6u95" data-complete="true" data-processed="true" data-sfc-cb=""&gt;
&lt;LI class="dF3vjf" data-sae="" data-complete="true" data-hveid="CAEIDRAA" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC5 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet4&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-complete="true" data-sae="" data-hveid="CAEIDRAB" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC6 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet5&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-processed="true" data-complete="true" data-hveid="CAEIDRAC" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC9 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet6&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class="dF3vjf" data-sae="" data-processed="true" data-complete="true" data-hveid="CAEIDRAD" data-sfc-cb=""&gt;&lt;SPAN class="T286Pc" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;MAC10 is usually &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enet7&lt;/CODE&gt; (which matches your working port)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIDhAA" data-sfc-cb="" data-sfc-cp=""&gt;Action: Ensure that for every &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;ethernet@X&lt;/CODE&gt; node under &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;fsldpaa&lt;/CODE&gt;, the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl,fman-mac&lt;/CODE&gt; property points to the correct &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;&amp;amp;enetX&lt;/CODE&gt; label defined in &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fsl-ls1046-post.dtsi&lt;/CODE&gt;.&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="otQkpb" role="heading" data-sae="" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp="" data-animation-nesting="" aria-level="3"&gt;4. Duplicate &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;fman0&lt;/CODE&gt; Definition&amp;nbsp;At the end of your snippet, you have:&lt;/DIV&gt;
&lt;DIV class="Fsg96" data-processed="true" data-complete="true" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="r1PmQe" data-processed="true" data-complete="true" data-hveid="CAEIERAA" data-sfc-cb="" data-wiz-uids="eL9CJc_3u,eL9CJc_3v,eL9CJc_3w"&gt;
&lt;DIV data-processed="true"&gt;
&lt;DIV class="pHpOfb" data-sae="" data-animation-atomic=""&gt;
&lt;DIV class="z0e9Qd"&gt;
&lt;DIV class="vVRw1d"&gt;dts&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="pCTyYe" dir="ltr"&gt;
&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class="undefined"&gt;&amp;amp;fman0 { compatible = &lt;/SPAN&gt;&lt;SPAN class="CS0cqb"&gt;"fsl,fman"&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;, &lt;/SPAN&gt;&lt;SPAN class="CS0cqb"&gt;"simple-bus"&lt;/SPAN&gt;&lt;SPAN class="undefined"&gt;; };
&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;Remove this. By adding &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;simple-bus&lt;/CODE&gt; and changing the &lt;CODE class="o8j0Mc" dir="ltr" data-sae="" data-complete="true" data-sfc-cb=""&gt;compatible&lt;/CODE&gt; string, you might be preventing the DPAA FMan driver from binding correctly to the sub-nodes (the MACs). The driver expects the specific FMan compatible string provided by the NXP SDK dtsi files.&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Y3BBE" data-processed="true" data-complete="true" data-hveid="CAEIEhAA" data-sfc-cb="" data-sfc-cp=""&gt;regards&lt;/DIV&gt;</description>
      <pubDate>Fri, 13 Mar 2026 14:14:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Poblems-with-DPAA-ports/m-p/2332701#M16585</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2026-03-13T14:14:47Z</dc:date>
    </item>
  </channel>
</rss>

