<?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: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638508#M6232</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I forgot to mention the development environment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;- MPC5777C-EVB Rev.C 516DS&lt;/P&gt;&lt;P&gt;&amp;nbsp;- S32DS IDE&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to use MII-Lite interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) I have same declaration for the&amp;nbsp;Buffer Descriptors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Min 2 descriptors needed to prevent resending&lt;BR /&gt;BufferDescriptor txDesc[2] __attribute__ ((aligned (16)));&lt;BR /&gt;BufferDescriptor rxDesc[2] __attribute__ ((aligned (16)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// We need 1518 bytes... but 1536 is evenly divisible by 16&lt;BR /&gt;uint8_t txBuf[1536] __attribute__ ((aligned (16)));&lt;BR /&gt;uint8_t rxBuf[2][1536] __attribute__ ((aligned (16)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)&amp;nbsp;I had configured clock setting as you told, but same problem was occurred.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- My SIU.SYSDIV setting is below&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13611iDC9E8E9F78CC8E14/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- System clock setting&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;#define SIU_SYSDIV_SYSCLKSEL_FM_PLL1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00002000&lt;BR /&gt;#define SIU_SYSDIV_FMPERDIV_DIVIDE_BY_2 &amp;nbsp;&amp;nbsp;&amp;nbsp;0x00000000&lt;/P&gt;&lt;P&gt;... &amp;nbsp;&lt;/P&gt;&lt;P&gt;SIU.SYSDIV.R = SIU_SYSDIV_SYSCLKSEL_FM_PLL1 | SIU_SYSDIV_FMPERDIV_DIVIDE_BY_2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- MII Speed setting&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;FEC.MSCR.B.MII_SPEED = 0xD;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the 'MPC5777C EVB user guide' (document number&amp;nbsp;MPC5777CEVBUG, Rev0/2015)'&lt;/P&gt;&lt;P&gt;with that jumper setting, it enables FEC 50MHz clock. That's why I configured 'MII_SPEED' like&lt;/P&gt;&lt;P&gt;&amp;nbsp;- on board 50MHz FEC clock / Divided by 2 &amp;nbsp;-&amp;gt; &amp;nbsp;(50MHz / 2) = 25MHz (Internal bus clock)&lt;/P&gt;&lt;P&gt;&amp;nbsp;- &lt;STRONG&gt;FEC.MSCR.B.MII_SPEED = 0x5; &amp;nbsp;// 25MHz(Internal bus clock) x (1 / (5 x 2)) =&amp;lt; 2.5 MHz&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And 'Petr Stancik' told me in the previous question that&amp;nbsp;(&lt;A href="https://community.nxp.com/thread/444274"&gt;Questions of MPC5777C FEC setting&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;'The MDC frequency is calculated from the internal bus clock, in this case it should be &lt;STRONG&gt;PER_CLK&lt;/STRONG&gt; selected by &lt;STRONG&gt;SIU_SYSDIV.PERDIV&lt;/STRONG&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which register should I set for the FEC clock setting(MII-Lite interface)? PERCLKSEL or&amp;nbsp;SYSCLKSEL?&lt;/P&gt;&lt;P&gt;I'm confused about FEC clock setting, please explain more detail about it.&lt;/P&gt;&lt;P&gt;(It would be a great help, if you list up all the registers to configure FEC clock)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_14.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14199i4D563902BE9D5A8A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_14.png" alt="pastedImage_14.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14146i40DBCC8E0D253E40/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Feb 2017 02:31:09 GMT</pubDate>
    <dc:creator>taekyoungkim</dc:creator>
    <dc:date>2017-02-17T02:31:09Z</dc:date>
    <item>
      <title>MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638504#M6228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have problem with transmission of&amp;nbsp;Ethernet frame.&lt;/P&gt;&lt;P&gt;When I captured a transmitted Ethernet frame at the other monitoring system, it looked like the Ethernet frame data was disordered.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="176348_176348.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122876iE7EAE08FD065F73B/image-size/large?v=v2&amp;amp;px=999" role="button" title="176348_176348.png" alt="176348_176348.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/16043i17B62F8565607CBA/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I have set the source MAC address like a 0x11, 0x22, 0x33, 0x44, 0x55, 0x66&lt;/P&gt;&lt;P&gt;The captured packet showed disordered MAC address and wrong data length.(I set the frame length '18')&lt;/P&gt;&lt;P&gt;I'm considering that this problem caused by miss configuration of FEC DMA or Transmit Buffer Descriptor.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The Ethernet frame setting function likes below... (I referred MPC5646C FEC sample code)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void setupGlobalFrame() &lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int i;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;frame = (void *) txBuf;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Setup broadcast as destination&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 6; i++) &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame-&amp;gt;destination[i] = broadcast[i];&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Setup source address&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 6; i++) &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;frame-&amp;gt;source[i] = mac[i];&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Set length (static at 4 for the 32-bit data payload)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;frame-&amp;gt;length = 4;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// Setup txDesc for the (2x6-byte address + 2byte length + 4byte data) 18-byte frame&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[0].length = 18;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[1].length = 18;&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also TBD settings are below&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 2; i++)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Init tx and rx descriptors&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].status = 0x2C00; // Last and transmit CRC&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].length = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].bufferPointer = txBuf;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;markRxDescEmpty(&amp;amp;rxDesc[i]);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rxDesc[i].bufferPointer = rxBuf[i];&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt; &lt;/SPAN&gt;FEC.ETDSR.R = (unsigned long) &amp;amp;txDesc;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In short, my questions are below&lt;/P&gt;&lt;P&gt;1. Is there any configuration for FEC DMA?&lt;/P&gt;&lt;P&gt;2. Possible miss-configuration of&amp;nbsp;Transmit Buffer Descriptor? Any guesses?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Taekyoung Kim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2017 10:58:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638504#M6228</guid>
      <dc:creator>taekyoungkim</dc:creator>
      <dc:date>2017-02-15T10:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638505#M6229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;could you please share your project? I will check it on my side.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Feb 2017 11:39:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638505#M6229</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2017-02-15T11:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638506#M6230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found the similar issue from&amp;nbsp;&lt;A href="https://community.nxp.com/thread/314601"&gt;FEC CodeWarrior MPC56xx - Tx repeting bytes&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;From that issue,&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;-------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;This is very hard to explain if you have 32-bit memory and the FEC is reading 32 bits at a time, as it would require some intermediate "byte-lane changing hardware" to be doing something stupid.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;It would be easier to understand if you've got 16-bit RAM, or a 16-bit pathway between the FEC and the RAM. the "pathway" is unlikely as the FEC is a master on the Crossbar.&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can see that the transmitted Ethernet frame was duplicated 16 bit words.&amp;nbsp;&lt;/P&gt;&lt;P&gt;ex) 11 22 11 22 11 22 11 22 11 22&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/17962i5E25F5B36F7C22D7/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this because Crossbar setting? or system clock?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm afraid not to share the project files for the security policy, but&amp;nbsp;here are some functions related to FEC configuration.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P&gt;#define OBE &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0200&lt;BR /&gt;#define IBE &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0100&lt;BR /&gt;#define ODE &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0020&lt;BR /&gt;#define SRC &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0004&lt;BR /&gt;#define WPE &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0002&lt;BR /&gt;#define WPS &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0001&lt;/P&gt;&lt;P&gt;#define PA_GPIO &amp;nbsp;&amp;nbsp;&amp;nbsp;0x0000&lt;BR /&gt;#define PA_PRIM &amp;nbsp;&amp;nbsp;&amp;nbsp;0x0400&lt;BR /&gt;#define PA_ALT1 &amp;nbsp;&amp;nbsp;&amp;nbsp;0x0800&lt;BR /&gt;#define PA_ALT2 &amp;nbsp;&amp;nbsp;&amp;nbsp;0x0C00&lt;BR /&gt;#define PA_ALT3 &amp;nbsp;&amp;nbsp;&amp;nbsp;0x1000&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;#define SIU_SYSDIV_PERCLKSEL_NON_FM_CLOCK &amp;nbsp;&amp;nbsp;&amp;nbsp;0x1000000&lt;BR /&gt;#define SIU_SYSDIV_PERDIV_DIVIDE_BY_2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x0000000&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;...&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;// initFecIo - initialise pads for FEC use in the SIU&lt;BR /&gt;&lt;STRONG&gt;void initFecIo(void)&lt;/STRONG&gt;&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; // MPC5777C - FEC MII-Lite mode IO setting&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR99_FEC_MDIO_ALT2].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;= PA_ALT2 | OBE | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_MDIO&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR109_FEC_MDC_ALT3].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = PA_ALT3 | OBE | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_MDC&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; SIU.PCR[PCR252_FEC_TX_EN_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_PRIM | OBE | SRC; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TX_EN&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR248_FEC_TXD0_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; = PA_PRIM | OBE | SRC; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TXD0&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR251_FEC_TXD1_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_PRIM | OBE | SRC; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TXD1&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR98_FEC_TXD2_ALT2].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_ALT2 | OBE | SRC; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TXD2&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR101_FEC_TXD3_ALT3].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_ALT3 | OBE | SRC; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TXD3&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR474_FEC_TX_CLK_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_PRIM | IBE | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_TX_CLK&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; SIU.PCR[PCR100_FEC_RX_CLK_ALT3].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_ALT3 | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_RX_CLK&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR249_FEC_RX_DV_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_PRIM | IBE | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FEC_RX_DV&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR250_FEC_RXD0_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = PA_PRIM | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FEC_RXD0&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR253_FEC_RXD1_PRIM].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= PA_PRIM | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FEC_RXD1&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR101_FEC_RXD2_ALT3].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = PA_ALT3 | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//FEC_RXD2&lt;BR /&gt;&amp;nbsp; SIU.PCR[PCR107_FEC_RXD3_ALT3].R &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = PA_ALT3 | IBE | SRC | WPE; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //FEC_RXD3&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; //Input Multiplexing Register0(SIU_IMUX0) setting for FEC input pins&lt;BR /&gt;&amp;nbsp; SIU.IMUX0.R = IMUX0_MUXSEL6_FEC_TXCLK | IMUX0_MUXSEL1_FEC_RXDV | IMUX0_MUXSEL2_FEC_RXD0 | \&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IMUX0_MUXSEL5_FEC_RXD1 | IMUX0_MUXSEL11_FEC_RXD2 | IMUX0_MUXSEL8_FEC_RXD3;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp; &amp;nbsp;//Peripheral Clock Setting&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SIU.SYSDIV.R = SIU_SYSDIV_PERCLKSEL_NON_FM_CLOCK | SIU_SYSDIV_PERDIV_DIVIDE_BY_2;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;static int initFec(void)&lt;/STRONG&gt;&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int result = 1;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;initFecIo();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.ECR.R = 0x1;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;while (FEC.ECR.B.RESET) { } ; // Wait for reset to complete&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.EIMR.R = 0; // Disable interrupts&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.EIR.R = 0xFFFFFFFF; // Clear any interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 2; i++)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Init tx and rx descriptors&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].status = 0x2C00; // Last and transmit CRC&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].length = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txDesc[i].bufferPointer = txBuf;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;markRxDescEmpty(&amp;amp;rxDesc[i]);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rxDesc[i].bufferPointer = rxBuf[i];&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Reset multicast fields&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.GAUR.R = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.GALR.R = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.IAUR.R = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.IALR.R = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;// Set rx buf size&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.EMRBR.R = 1536;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Point FEC to our (single) tx and rx descriptors&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.ETDSR.R = (unsigned long) &amp;amp;txDesc;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.ERDSR.R = (unsigned long) &amp;amp;rxDesc;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enable full duplex&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.TCR.R = 0x00000004; //full duplex enable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Set in MII mode with full frame size&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.RCR.R = 0x05EE0004;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Set MII speed - assume operation at 64Mhz&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.MSCR.B.MII_SPEED = 0x5; // 50MHz(Internal bus clock) / 2 =&amp;gt; 25 MHz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enable interrupt&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.EIMR.R = 0x02000000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enable module&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.ECR.R = 0x2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Configure a MAC address&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.PALR.R = (unsigned long)((mac[0] &amp;lt;&amp;lt;24)|(mac[1] &amp;lt;&amp;lt;16)|(mac[2] &amp;lt;&amp;lt;8)|(mac[3] &amp;lt;&amp;lt;0));&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.PAUR.R = (unsigned long)(mac[4] &amp;lt;&amp;lt;24)|(mac[5] &amp;lt;&amp;lt;16);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;initFecPhy();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Flag descriptors available to allow reception&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;FEC.RDAR.R = 0x0100000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return result;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;int main(void)&lt;/STRONG&gt;&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;volatile int counter = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;volatile int loop = 0;&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;STM_A.CR.R = 1; //System Timer Module&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;disableWatchdog();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;xcptn_xmpl (); /* Configure and Enable Interrupts */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;HW_init();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;setMacAddr();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;initFec();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;setupGlobalFrame();&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SIU.GPDO[LED1_pin].R = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!isConnected());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Loop forever */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;for(;;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(loop &amp;lt;= 10000)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loop++;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIU.GPDO[LED1_pin].R ^= 1;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txEthernetFrame();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loop = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counter++;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 00:42:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638506#M6230</guid>
      <dc:creator>taekyoungkim</dc:creator>
      <dc:date>2017-02-16T00:42:27Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638507#M6231</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Please check if you have correctly aligned Buffer Descriptors and tx/rs buffers? Please see code below:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14290iB091C40F9F264702/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) I am not sure about your MII_SPEED settings. FEC module is clocked from FM_PER_CLK. What is the value of your FM_PER_CLK?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MII Speed calculation is following&amp;nbsp;&amp;nbsp; FM_PER_CLK * ( 1/ (MSCR[MII_SPEED]*2)) &amp;lt;= 2.5MHz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;FM_PER_CLK = 64MHz&lt;/P&gt;&lt;P&gt;Calculation:&amp;nbsp; 64MHz * 1 / MSCR[MII_SPEED] * 2 &amp;lt;= 2.5MHz&lt;/P&gt;&lt;P&gt;Result:&amp;nbsp; MSCR[MII_SPEED] = 13 (0xD)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 14:13:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638507#M6231</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2017-02-16T14:13:11Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638508#M6232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I forgot to mention the development environment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;- MPC5777C-EVB Rev.C 516DS&lt;/P&gt;&lt;P&gt;&amp;nbsp;- S32DS IDE&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to use MII-Lite interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) I have same declaration for the&amp;nbsp;Buffer Descriptors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Min 2 descriptors needed to prevent resending&lt;BR /&gt;BufferDescriptor txDesc[2] __attribute__ ((aligned (16)));&lt;BR /&gt;BufferDescriptor rxDesc[2] __attribute__ ((aligned (16)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// We need 1518 bytes... but 1536 is evenly divisible by 16&lt;BR /&gt;uint8_t txBuf[1536] __attribute__ ((aligned (16)));&lt;BR /&gt;uint8_t rxBuf[2][1536] __attribute__ ((aligned (16)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)&amp;nbsp;I had configured clock setting as you told, but same problem was occurred.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- My SIU.SYSDIV setting is below&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13611iDC9E8E9F78CC8E14/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- System clock setting&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;#define SIU_SYSDIV_SYSCLKSEL_FM_PLL1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00002000&lt;BR /&gt;#define SIU_SYSDIV_FMPERDIV_DIVIDE_BY_2 &amp;nbsp;&amp;nbsp;&amp;nbsp;0x00000000&lt;/P&gt;&lt;P&gt;... &amp;nbsp;&lt;/P&gt;&lt;P&gt;SIU.SYSDIV.R = SIU_SYSDIV_SYSCLKSEL_FM_PLL1 | SIU_SYSDIV_FMPERDIV_DIVIDE_BY_2;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;- MII Speed setting&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;FEC.MSCR.B.MII_SPEED = 0xD;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the 'MPC5777C EVB user guide' (document number&amp;nbsp;MPC5777CEVBUG, Rev0/2015)'&lt;/P&gt;&lt;P&gt;with that jumper setting, it enables FEC 50MHz clock. That's why I configured 'MII_SPEED' like&lt;/P&gt;&lt;P&gt;&amp;nbsp;- on board 50MHz FEC clock / Divided by 2 &amp;nbsp;-&amp;gt; &amp;nbsp;(50MHz / 2) = 25MHz (Internal bus clock)&lt;/P&gt;&lt;P&gt;&amp;nbsp;- &lt;STRONG&gt;FEC.MSCR.B.MII_SPEED = 0x5; &amp;nbsp;// 25MHz(Internal bus clock) x (1 / (5 x 2)) =&amp;lt; 2.5 MHz&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And 'Petr Stancik' told me in the previous question that&amp;nbsp;(&lt;A href="https://community.nxp.com/thread/444274"&gt;Questions of MPC5777C FEC setting&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;'The MDC frequency is calculated from the internal bus clock, in this case it should be &lt;STRONG&gt;PER_CLK&lt;/STRONG&gt; selected by &lt;STRONG&gt;SIU_SYSDIV.PERDIV&lt;/STRONG&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which register should I set for the FEC clock setting(MII-Lite interface)? PERCLKSEL or&amp;nbsp;SYSCLKSEL?&lt;/P&gt;&lt;P&gt;I'm confused about FEC clock setting, please explain more detail about it.&lt;/P&gt;&lt;P&gt;(It would be a great help, if you list up all the registers to configure FEC clock)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_14.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14199i4D563902BE9D5A8A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_14.png" alt="pastedImage_14.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14146i40DBCC8E0D253E40/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2017 02:31:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638508#M6232</guid>
      <dc:creator>taekyoungkim</dc:creator>
      <dc:date>2017-02-17T02:31:09Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638509#M6233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have set SIU.SYSDIVE register like this&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/16320i9678D0AEA32E5518/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;So&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;FM_PER_CLK = 8MHz &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;- SYSCLKSEL : 0 (16MHz IRC)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;- SYSCLKDIV : 0x4 (Divide by 1) &amp;nbsp;-&amp;gt; 16MHz / 1 = 16MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;- FMPERDIV : 0 (Divide by 2) -&amp;gt; 16MHz / 2 = 8MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;FEC.MSCR.B.MII_SPEED = 0x2;&lt;SPAN class=""&gt; &lt;/SPAN&gt;// 8MHz x ( 1 / ( 2 x 2)) = &lt;STRONG&gt;2MHz&lt;/STRONG&gt; &amp;lt;= 2.5MHz&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Is it correct?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Nevertheless, the result of transmitted Ethernet frame was same. (You can still see the duplicated data, 01 02 01 02...)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/16361i8FA74B6EE5FF2265/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Please give me a feedback about my clock setting.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Thank you for your patience.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Taekyoung Kim&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2017 07:48:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638509#M6233</guid>
      <dc:creator>taekyoungkim</dc:creator>
      <dc:date>2017-02-17T07:48:40Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5777C FEC - Transmit Buffer Descriptor &amp; FEC DMA setting</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638510#M6234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Seems I was wrong last time, the FEC is actually clocked from FM_PER_CLK and so the MDC clock must be calculated from this FM_PER_CLK. Note this clock must be at least 50MHz so full duplex is supported.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If the MII-lite is used the following jumper setting must be done on minimodule and PHY on motherboard must be clocked from 25MHz crystal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13645i21D687050B5232AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2017 12:52:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5777C-FEC-Transmit-Buffer-Descriptor-FEC-DMA-setting/m-p/638510#M6234</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2017-02-17T12:52:09Z</dc:date>
    </item>
  </channel>
</rss>

