<?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>T-SeriesのトピックUsing 1000base-kx on a T1042</title>
    <link>https://community.nxp.com/t5/T-Series/Using-1000base-kx-on-a-T1042/m-p/2061629#M5173</link>
    <description>&lt;DIV&gt;I am completely new to NXP, QorIQ, Yocto, identifying and adding out-of-tree modules (drivers), RCW, and so much more. I am struggling with enabling 1000base-kx on a T1042D4RDB system. I've mentally pieced together many web pages, since there don't seem to be any straight-forward instructions anywhere, but my knowledge still has gaping holes.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I started here:&amp;nbsp;&lt;A title="Ls1046a 1000Base-KX/10gBase-KR Linux support" href="https://community.nxp.com/t5/Layerscape/Ls1046a-1000Base-KX-10gBase-KR-Linux-support/m-p/2038075/highlight/true" target="_blank" rel="noopener"&gt;Ls1046a 1000Base-KX/10gBase-KR Linux support.&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;The solution is "There a few more bits to set along with clearing the AMP_RED field", which is not useful,&amp;nbsp; but it does point to these two pages:&lt;/DIV&gt;&lt;DIV&gt;&lt;A title="lf-6.6.y fman" href="https://github.com/nxp-qoriq/linux/tree/lf-6.6.y/drivers/net/ethernet/freescale/fman" target="_blank" rel="noopener"&gt;lf-6.6.y fman&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A title="Eval Board for 1000Base-KX LS1046A ?" href="https://community.nxp.com/t5/QorIQ/Eval-Board-for-1000Base-KX-LS1046A/m-p/1178936" target="_blank" rel="noopener"&gt;Eval Board for 1000Base-KX LS1046A ?&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;So far, I think I need to:&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Download the nxp-qoriq/linux source from GitHub&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Done&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Compile the source for the T1042 processor&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;GNU Make &amp;gt;= 3.82 is required. Your Make version is 8.81. Stop&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Create a driver module&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;I plan to utilize &lt;A title="Incorporating Out-of-Tree Modules in YOCTO" href="https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Incorporating-Out-of-Tree-Modules-in-YOCTO/ta-p/1373825" target="_blank" rel="noopener"&gt;Incorporating Out-of-Tree Modules in YOCTO&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;I have many doubts and questions about a 1000base-kx driver&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Edit the RCW&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Discussed Below&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Configure / create an SGMII device?&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;This might be easier once #4 has been completed.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;I may just need to create and write the RCW binary&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Create a 1000base-kx connection using the SGMII?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;Any guidance would be appreciated.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;For #4, I need to convert from RR_P_86 (default) to RR_S_86.&lt;/DIV&gt;&lt;DIV&gt;I think this involves:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;Starting here: &lt;A title="GitHub: nxp-qoriq/rcw" href="https://github.com/nxp-qoriq/rcw" target="_blank" rel="noopener"&gt;GitHub: nxp-qoriq/rcw&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Copying t1042d4rdb/RR_P_86/rcw_1400MHz.rcw to t1042d4rdb/RR_S_86/rcw_1400MHz.rcw&lt;/LI&gt;&lt;LI&gt;Editing rcw_1400MHz.rcw to change ... something?&lt;/LI&gt;&lt;LI&gt;Converting to binary using rcw.py?&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;Maybe I can make more sense of the statements in &lt;A title="Eval Board for 1000Base-KX LS1046A ?" href="https://community.nxp.com/t5/QorIQ/Eval-Board-for-1000Base-KX-LS1046A/m-p/1178936" target="_blank" rel="noopener"&gt;Eval Board for 1000Base-KX LS1046A ?&lt;/A&gt;, but I currently don't understand what to do for lines like:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;LNmGCR1 [REIDL_TH]&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;LNmGCR1 [REIDL_EX_SEL]&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;LNmGCR1 [REIDL_ET_MSB]&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;LNmTECR0 [AMP_RED]&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;or how to reconcile:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;SGMII_EN = 0&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;USE_SGMII_AN = 0&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;SGMII_SPEED = 10&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;with anything in t1042d4rdb/RR_P_86/rcw_1400MHz.rcw, t1040si/t1040.rcwi, or t1040si/a007662.rcw:&lt;/DIV&gt;&lt;DIV&gt;And then there's this: Instead, a SerDes reference clock is required on SD1_REF_CLK[1:2]_P and&lt;/DIV&gt;&lt;DIV&gt;SD1_REF_CLK[1:2]_N pins.&lt;/DIV&gt;</description>
    <pubDate>Thu, 13 Mar 2025 22:54:18 GMT</pubDate>
    <dc:creator>hanshamb</dc:creator>
    <dc:date>2025-03-13T22:54:18Z</dc:date>
    <item>
      <title>Using 1000base-kx on a T1042</title>
      <link>https://community.nxp.com/t5/T-Series/Using-1000base-kx-on-a-T1042/m-p/2061629#M5173</link>
      <description>&lt;DIV&gt;I am completely new to NXP, QorIQ, Yocto, identifying and adding out-of-tree modules (drivers), RCW, and so much more. I am struggling with enabling 1000base-kx on a T1042D4RDB system. I've mentally pieced together many web pages, since there don't seem to be any straight-forward instructions anywhere, but my knowledge still has gaping holes.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I started here:&amp;nbsp;&lt;A title="Ls1046a 1000Base-KX/10gBase-KR Linux support" href="https://community.nxp.com/t5/Layerscape/Ls1046a-1000Base-KX-10gBase-KR-Linux-support/m-p/2038075/highlight/true" target="_blank" rel="noopener"&gt;Ls1046a 1000Base-KX/10gBase-KR Linux support.&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;The solution is "There a few more bits to set along with clearing the AMP_RED field", which is not useful,&amp;nbsp; but it does point to these two pages:&lt;/DIV&gt;&lt;DIV&gt;&lt;A title="lf-6.6.y fman" href="https://github.com/nxp-qoriq/linux/tree/lf-6.6.y/drivers/net/ethernet/freescale/fman" target="_blank" rel="noopener"&gt;lf-6.6.y fman&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A title="Eval Board for 1000Base-KX LS1046A ?" href="https://community.nxp.com/t5/QorIQ/Eval-Board-for-1000Base-KX-LS1046A/m-p/1178936" target="_blank" rel="noopener"&gt;Eval Board for 1000Base-KX LS1046A ?&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;So far, I think I need to:&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Download the nxp-qoriq/linux source from GitHub&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Done&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Compile the source for the T1042 processor&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;GNU Make &amp;gt;= 3.82 is required. Your Make version is 8.81. Stop&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Create a driver module&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;I plan to utilize &lt;A title="Incorporating Out-of-Tree Modules in YOCTO" href="https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Incorporating-Out-of-Tree-Modules-in-YOCTO/ta-p/1373825" target="_blank" rel="noopener"&gt;Incorporating Out-of-Tree Modules in YOCTO&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;I have many doubts and questions about a 1000base-kx driver&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Edit the RCW&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Discussed Below&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Configure / create an SGMII device?&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;This might be easier once #4 has been completed.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;I may just need to create and write the RCW binary&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Create a 1000base-kx connection using the SGMII?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;Any guidance would be appreciated.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;For #4, I need to convert from RR_P_86 (default) to RR_S_86.&lt;/DIV&gt;&lt;DIV&gt;I think this involves:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;Starting here: &lt;A title="GitHub: nxp-qoriq/rcw" href="https://github.com/nxp-qoriq/rcw" target="_blank" rel="noopener"&gt;GitHub: nxp-qoriq/rcw&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Copying t1042d4rdb/RR_P_86/rcw_1400MHz.rcw to t1042d4rdb/RR_S_86/rcw_1400MHz.rcw&lt;/LI&gt;&lt;LI&gt;Editing rcw_1400MHz.rcw to change ... something?&lt;/LI&gt;&lt;LI&gt;Converting to binary using rcw.py?&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;Maybe I can make more sense of the statements in &lt;A title="Eval Board for 1000Base-KX LS1046A ?" href="https://community.nxp.com/t5/QorIQ/Eval-Board-for-1000Base-KX-LS1046A/m-p/1178936" target="_blank" rel="noopener"&gt;Eval Board for 1000Base-KX LS1046A ?&lt;/A&gt;, but I currently don't understand what to do for lines like:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;LNmGCR1 [REIDL_TH]&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;LNmGCR1 [REIDL_EX_SEL]&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;LNmGCR1 [REIDL_ET_MSB]&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;LNmTECR0 [AMP_RED]&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;or how to reconcile:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;SGMII_EN = 0&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;USE_SGMII_AN = 0&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;SGMII_SPEED = 10&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;with anything in t1042d4rdb/RR_P_86/rcw_1400MHz.rcw, t1040si/t1040.rcwi, or t1040si/a007662.rcw:&lt;/DIV&gt;&lt;DIV&gt;And then there's this: Instead, a SerDes reference clock is required on SD1_REF_CLK[1:2]_P and&lt;/DIV&gt;&lt;DIV&gt;SD1_REF_CLK[1:2]_N pins.&lt;/DIV&gt;</description>
      <pubDate>Thu, 13 Mar 2025 22:54:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/Using-1000base-kx-on-a-T1042/m-p/2061629#M5173</guid>
      <dc:creator>hanshamb</dc:creator>
      <dc:date>2025-03-13T22:54:18Z</dc:date>
    </item>
    <item>
      <title>Re: Using 1000base-kx on a T1042</title>
      <link>https://community.nxp.com/t5/T-Series/Using-1000base-kx-on-a-T1042/m-p/2070905#M5181</link>
      <description>&lt;P&gt;&lt;SPAN&gt;It does not need to modify RCW as 1000Base-KX is supported on all SGMII lanes, and the default t1042d4rdb/RR_P_86/ had selected SGMII.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Customer can refer to Please refer to chapter 31.6.1.3 1000Base-KX to initialize 1000base-kx.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The following are registers which need to be set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;• SRDSx_LNmGCR1[REIDL_TH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;• SRDSx_LNmGCR1[REIDL_EX_SEL]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;• SRDSx_LNmGCR1[REIDL_ET_MSB]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;• SRDSx_LNmTECR0[AMP_RED]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Meantime, it can also refer to t208xqds implementation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1000BASE-KX(1G-KX):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - T2080QDS can support 1G-KX by using SGMII protocol, but serdes lane&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; runs in 1G-KX mode. By default, the lane runs in SGMII mode, to set a lane&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; in 1G-KX mode, need to set corresponding bit in SerDes Protocol Configuration&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Register 1 (PCCR1), and U-Boot fixup the dtb for kernel to do proper&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; initialization.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Hwconfig "fsl_1gkx" is used to indicate a lane runs in 1G-KX mode, MAC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1/2/5/6/9/10 are available for 1G-KX, MAC 3/4 run in RGMII mode. To set a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; MAC to use 1G-KX mode, set its' corresponding env in "fsl_1gkx", 'fm1_1g1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; stands for MAC 1, 'fm1_1g2' stands for MAC 2, etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; For ex. set "fsl_1gkx:fm1_1g1,fm1_1g2,fm1_1g5,fm1_1g6,fm1_1g9,fm1_1g10" in&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; hwconfig, MAC 1/2/5/6/9/10 will use 1G-KX mode.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2025 07:34:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/Using-1000base-kx-on-a-T1042/m-p/2070905#M5181</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2025-03-31T07:34:40Z</dc:date>
    </item>
  </channel>
</rss>

