<?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>CodeWarrior for StarCore中的主题 any reference code of serial rapidIO for MSC8151?</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-StarCore/any-reference-code-of-serial-rapidIO-for-MSC8151/m-p/276630#M435</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am a newbie for freescale StarCore DSP.&amp;nbsp; Now I want to set up serial rapidIO between MSC8151 and an FPGA.&amp;nbsp;&amp;nbsp; I firstly want to configure serial rapidIO registers in MSC8151, and started setting up a loopback connection inside the DSP processor.&amp;nbsp; But looks like it does not work as expected,&amp;nbsp; DST address cannot receive any data.&amp;nbsp; The following is the code.&amp;nbsp; Anyone can help me fix it?&amp;nbsp;&amp;nbsp; Thanks!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UINT32 i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT32&amp;nbsp; bdid;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Target device id&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* configure SRIO ports */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0CCSR,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x50e00001);&amp;nbsp;&amp;nbsp; // Disable SRIO&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ADIDCSR, 0x80010000);&amp;nbsp;&amp;nbsp; //alternate device id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ESCSR,&amp;nbsp;&amp;nbsp; 0xffffffff);&amp;nbsp;&amp;nbsp; // Reset status register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(1)&amp;nbsp;&amp;nbsp; // loopback&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(PHY0_SRDSCR2, 0x008020c0);&amp;nbsp; // enable loopback&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // back-to-back&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // lane E/F transmitter equalization selection bus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(PHY0_SRDSCR1, 0x11006630);&amp;nbsp; // 1.33x relative amplitude&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable SERDES1 SRDSCR2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_CLR_BITS32(HSSI_CR1, 0x00000001);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0CCSR, 0x50600001);&amp;nbsp;&amp;nbsp; // Enable SRIO (4x)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //---------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;1024;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(UINT32 *)(SRC_ADDR+i) = i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset((void *)DST_ADDR, 0, 1024);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // checking that 4 lanes are synchronized and aligned&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(MEM_READ32(RIO_P0SLCSR) != 0xF0800000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_BDIDCSR, 0x00FF0000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //configure as agent&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_PGCCSR,&amp;nbsp; 0x40000000);&amp;nbsp; // set device as initiator (master)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // Configure Delta Outbound Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bdid = 1 &amp;lt;&amp;lt; SHIFT22;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWBAR1,&amp;nbsp; (1&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp; // +1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MEM_WRITE32(RIO_P0ROWTAR1,&amp;nbsp; (2&amp;lt;&amp;lt;20)|bdid | (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // target device id &amp;lt;&amp;lt; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWTAR1,&amp;nbsp; bdid | (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // target device id &amp;lt;&amp;lt; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWAR1,&amp;nbsp;&amp;nbsp; 0x8004000f | (SWRITE &amp;lt;&amp;lt; SHIFT12));&amp;nbsp; // for nread, nwrite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWTEAR1, 0x00000000);&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; // large mode device id&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure Delta Inbound Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // delta 1 goes to mbus 1 [by default value of RIO_P1RIWAR0 ] and delta 0 goes to mbus1 [RIO_P0RIWAR1] &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWAR1, 0x8014400f);&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; // all the write should go through O2M1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWTAR1, (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MEM_WRITE32(RIO_P0RIWBAR1, (2&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWBAR1, (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifdef LATE_ARBITRATION &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(GCR_GCR12,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000100ff);&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; // weighted/late arbitration in RIO&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //---------------------------------&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure O2M&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_O2MCR, 0x01050000);&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; // max burst size 64B&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure OCNDMA Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWBAR0, SRC_ADDR &amp;gt;&amp;gt; SHIFT12);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWAR0,&amp;nbsp; 0x80b0000f);&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; // OCN to MBus Bridge 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWBAR1, (1&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp; //+1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWAR1,&amp;nbsp; 0x80c0000f);&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; // RapidIO Delta Port 0&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //config channel 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8110) = 0x00040000;// source attributes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8114) = SRC_ADDR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8118) = 0x40040001;// destination attributes&amp;nbsp;&amp;nbsp; +1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA811C) = DST_ADDR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8120) = 32123;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8100) = 0x0f00004;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8100) = 0x0f00005;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable channel 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //*((UINT32 *)0xFFFA8180) = 0x0f00005;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable channel 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" syncio");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0SLEICR,&amp;nbsp; 0xF0000001);&amp;nbsp;&amp;nbsp; //alert for testing, inject error *********************&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;1000000;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" nop");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Aug 2013 02:49:28 GMT</pubDate>
    <dc:creator>David_usami</dc:creator>
    <dc:date>2013-08-27T02:49:28Z</dc:date>
    <item>
      <title>any reference code of serial rapidIO for MSC8151?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-StarCore/any-reference-code-of-serial-rapidIO-for-MSC8151/m-p/276630#M435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am a newbie for freescale StarCore DSP.&amp;nbsp; Now I want to set up serial rapidIO between MSC8151 and an FPGA.&amp;nbsp;&amp;nbsp; I firstly want to configure serial rapidIO registers in MSC8151, and started setting up a loopback connection inside the DSP processor.&amp;nbsp; But looks like it does not work as expected,&amp;nbsp; DST address cannot receive any data.&amp;nbsp; The following is the code.&amp;nbsp; Anyone can help me fix it?&amp;nbsp;&amp;nbsp; Thanks!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int main()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UINT32 i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT32&amp;nbsp; bdid;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Target device id&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* configure SRIO ports */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0CCSR,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x50e00001);&amp;nbsp;&amp;nbsp; // Disable SRIO&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ADIDCSR, 0x80010000);&amp;nbsp;&amp;nbsp; //alternate device id&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ESCSR,&amp;nbsp;&amp;nbsp; 0xffffffff);&amp;nbsp;&amp;nbsp; // Reset status register&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(1)&amp;nbsp;&amp;nbsp; // loopback&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(PHY0_SRDSCR2, 0x008020c0);&amp;nbsp; // enable loopback&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // back-to-back&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // lane E/F transmitter equalization selection bus&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(PHY0_SRDSCR1, 0x11006630);&amp;nbsp; // 1.33x relative amplitude&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable SERDES1 SRDSCR2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_CLR_BITS32(HSSI_CR1, 0x00000001);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0CCSR, 0x50600001);&amp;nbsp;&amp;nbsp; // Enable SRIO (4x)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //---------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;1024;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(UINT32 *)(SRC_ADDR+i) = i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset((void *)DST_ADDR, 0, 1024);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // checking that 4 lanes are synchronized and aligned&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(MEM_READ32(RIO_P0SLCSR) != 0xF0800000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_BDIDCSR, 0x00FF0000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //configure as agent&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_PGCCSR,&amp;nbsp; 0x40000000);&amp;nbsp; // set device as initiator (master)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // Configure Delta Outbound Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bdid = 1 &amp;lt;&amp;lt; SHIFT22;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWBAR1,&amp;nbsp; (1&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp; // +1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MEM_WRITE32(RIO_P0ROWTAR1,&amp;nbsp; (2&amp;lt;&amp;lt;20)|bdid | (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // target device id &amp;lt;&amp;lt; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWTAR1,&amp;nbsp; bdid | (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // target device id &amp;lt;&amp;lt; 22&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWAR1,&amp;nbsp;&amp;nbsp; 0x8004000f | (SWRITE &amp;lt;&amp;lt; SHIFT12));&amp;nbsp; // for nread, nwrite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0ROWTEAR1, 0x00000000);&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; // large mode device id&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure Delta Inbound Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // delta 1 goes to mbus 1 [by default value of RIO_P1RIWAR0 ] and delta 0 goes to mbus1 [RIO_P0RIWAR1] &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWAR1, 0x8014400f);&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; // all the write should go through O2M1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWTAR1, (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MEM_WRITE32(RIO_P0RIWBAR1, (2&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0RIWBAR1, (DST_ADDR &amp;gt;&amp;gt; SHIFT12));&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifdef LATE_ARBITRATION &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(GCR_GCR12,&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000100ff);&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; // weighted/late arbitration in RIO&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //---------------------------------&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure O2M&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_O2MCR, 0x01050000);&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; // max burst size 64B&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure OCNDMA Address Translation Management Unit&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWBAR0, SRC_ADDR &amp;gt;&amp;gt; SHIFT12);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWAR0,&amp;nbsp; 0x80b0000f);&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; // OCN to MBus Bridge 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWBAR1, (1&amp;lt;&amp;lt;20)|(DST_ADDR &amp;gt;&amp;gt; SHIFT12));&amp;nbsp;&amp;nbsp; //+1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO0_D2O_LAWAR1,&amp;nbsp; 0x80c0000f);&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; // RapidIO Delta Port 0&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //config channel 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8110) = 0x00040000;// source attributes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8114) = SRC_ADDR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8118) = 0x40040001;// destination attributes&amp;nbsp;&amp;nbsp; +1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA811C) = DST_ADDR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8120) = 32123;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8100) = 0x0f00004;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //MR&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((UINT32 *)0xFFFA8100) = 0x0f00005;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable channel 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //*((UINT32 *)0xFFFA8180) = 0x0f00005;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enable channel 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" syncio");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MEM_WRITE32(RIO_P0SLEICR,&amp;nbsp; 0xF0000001);&amp;nbsp;&amp;nbsp; //alert for testing, inject error *********************&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;1000000;i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" nop");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm(" debug");&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2013 02:49:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-StarCore/any-reference-code-of-serial-rapidIO-for-MSC8151/m-p/276630#M435</guid>
      <dc:creator>David_usami</dc:creator>
      <dc:date>2013-08-27T02:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: any reference code of serial rapidIO for MSC8151?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-StarCore/any-reference-code-of-serial-rapidIO-for-MSC8151/m-p/276631#M436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you help me with this questions so I can help you with this issue please:&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;Which software are you using?&lt;/LI&gt;&lt;LI&gt;What do you mean that it is not working as expected?&lt;/LI&gt;&lt;LI&gt;What exactly are you doing?&amp;nbsp; What do you mean that the DST address cannot &lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; receive any data?&lt;/P&gt;&lt;P&gt;4. Which version of the SDOS tools are you using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any more information can be greatly appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Aug 2013 20:02:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-StarCore/any-reference-code-of-serial-rapidIO-for-MSC8151/m-p/276631#M436</guid>
      <dc:creator>jorge_plascencia</dc:creator>
      <dc:date>2013-08-29T20:02:36Z</dc:date>
    </item>
  </channel>
</rss>

