<?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: RPMSG-lite in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1244575#M170753</link>
    <description>&lt;P&gt;&amp;gt;However, as I said, t&lt;SPAN&gt;he Linux kernel source file &lt;EM&gt;drivers/rpmsg/imx_rpmsg.c&lt;/EM&gt; defines&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;colibri board was developed by third party toradex, nxp does not support&amp;nbsp;&lt;/P&gt;
&lt;P&gt;its board and software. Please post issue on toradex forum.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
    <pubDate>Fri, 12 Mar 2021 05:02:52 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2021-03-12T05:02:52Z</dc:date>
    <item>
      <title>RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1242875#M170591</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;I'm trying to run the Pingpong example application of rpmsg on my imx8dual.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I read&amp;nbsp;&lt;A href="https://github.com/toradex/device-trees/blob/toradex_5.4-2.1.x-imx/dts-arm64/imx8qxp-colibri.dtsi," target="_blank"&gt;https://github.com/toradex/device-trees/blob/toradex_5.4-2.1.x-imx/dts-arm64/imx8qxp-colibri.dtsi,&lt;/A&gt;&amp;nbsp;so I think that I need to add the following into my device tree file&lt;/P&gt;&lt;P&gt;&lt;EM&gt;vdevbuffer: vdevbuffer {&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;compatible = "shared-dma-pool";&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;reg = &amp;lt;0 0x90400000 0 0x100000&amp;gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;no-map;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;&amp;amp;rpmsg{&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/*&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;* 64K for one rpmsg instance:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;*/&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;vdev-nums = &amp;lt;2&amp;gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;reg = &amp;lt;0x0 0x90000000 0x0 0x20000&amp;gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;memory-region = &amp;lt;&amp;amp;vdevbuffer&amp;gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;status = "okay";&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I noticed that the &lt;EM&gt;SDK_2.8.0_MIMX8UX5xxxDZ\boards\mekmimx8qx\multicore_examples\rpmsg_lite_pingpong_rtos\linux_remote\board.h&lt;/EM&gt; file has these two macro definitions:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;EM&gt;#define&amp;nbsp;VDEV0_VRING_BASE&amp;nbsp;(0x90000000U)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;#define&amp;nbsp;VDEV1_VRING_BASE&amp;nbsp;(0x90010000U)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;They match the above-mentioned&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;EM&gt;vdev-nums = &amp;lt;2&amp;gt;;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;reg = &amp;lt;0x0 0x90000000 0x0 0x20000&amp;gt;;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I think that the 128K of memory is not used for the rpmsg buffers themselves, but for something like the&amp;nbsp; descriptors of the buffers. Instead, the &lt;EM&gt;vdevbuffer&lt;/EM&gt; above-mentioned in the device tree is used for the buffers themselves. &lt;STRONG&gt;Is that right?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Do I need to specify the address and size of the buffers in the M4 code? If so, how? If not, why?&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The Linux kernel source file drivers/rpmsg/imx_rpmsg.c defines&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define RPMSG_NUM_BUFS (512)&lt;BR /&gt;#define RPMSG_BUF_SIZE (512)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;so the buffer size should be 256KB. &lt;STRONG&gt;Why does the&amp;nbsp;&lt;EM&gt;vdevbuffer &lt;/EM&gt;node in the device tree specify 1MB for the size? Is it because there are 2 rpmsg devices and each has both rx and tx directions?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Mar 2021 03:15:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1242875#M170591</guid>
      <dc:creator>xiaokaoy</dc:creator>
      <dc:date>2021-03-10T03:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1242920#M170604</link>
      <description>&lt;P&gt;Hi xiaokaoy&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;one can look at NXP i.MX8QXP MEK example and port similar changes to colibri :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://git.toradex.com/cgit/linux-toradex.git/tree/arch/arm64/boot/dts/freescale/imx8qxp-mek-dsi-rm67191-rpmsg.dts?h=toradex_5.4-2.1.x-imx" target="_blank" rel="noopener"&gt;http://git.toradex.com/cgit/linux-toradex.git/tree/arch/arm64/boot/dts/freescale/imx8qxp-mek-dsi-rm67191-rpmsg.dts?h=toradex_5.4-2.1.x-imx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8qxp-mek-dsi-rm67191-rpmsg.dts?h=imx_5.4.70_2.3.0" target="_blank" rel="noopener"&gt;https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8qxp-mek-dsi-rm67191-rpmsg.dts?h=imx_5.4.70_2.3.0&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;sect.2.8 Remote Processor Messaging&amp;nbsp; &lt;A style="box-sizing: border-box; background-color: transparent; color: #215bd6; text-decoration: none; cursor: pointer;" href="https://www.nxp.com/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf" target="_blank" rel="noopener"&gt;i.MX Linux Reference Manual​&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Note, colibri board was developed by third party toradex and issues may posted on its forum&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.toradex.com/community/questions/18537/rpmsg-pingpong-example-with-boot2qt-stack.html" target="_blank" rel="noopener"&gt;https://www.toradex.com/community/questions/18537/rpmsg-pingpong-example-with-boot2qt-stack.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.toradex.cn/community/questions/57284/verdin-m4-core-rpmsg-example-problem.html" target="_blank" rel="noopener"&gt;https://www.toradex.cn/community/questions/57284/verdin-m4-core-rpmsg-example-problem.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;rpmsg buffers usage:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://developer.toradex.com/knowledge-base/freertos-on-the-cortex-m4-of-a-colibri-imx7#Change_RPmsg_Buffer_Count_and_Size" target="_blank"&gt;https://developer.toradex.com/knowledge-base/freertos-on-the-cortex-m4-of-a-colibri-imx7#Change_RPmsg_Buffer_Count_and_Size&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Wed, 10 Mar 2021 05:21:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1242920#M170604</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-03-10T05:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1243803#M170658</link>
      <description>&lt;P&gt;Thanks very much. That helps a lot.&amp;nbsp;&lt;/P&gt;&lt;P&gt;"FreeRTOS: middleware/multicore/open-amp/porting/imx7d_m4/platform_info.c (RPMSG_NUM_BUFS, VRING0/1_BASE) and middleware/multicore/open-amp/rpmsg/rpmsg_core.h (RPMSG_BUFFER_SIZE)" on &lt;A href="https://developer.toradex.com/knowledge-base/freertos-on-the-cortex-m4-of-a-colibri-imx7#Change_RPmsg_Buffer_Count_and_Size" target="_blank"&gt;https://developer.toradex.com/knowledge-base/freertos-on-the-cortex-m4-of-a-colibri-imx7#Change_RPmsg_Buffer_Count_and_Size&lt;/A&gt;&lt;/P&gt;&lt;P&gt;is about imx7, though. I can't find&amp;nbsp;RPMSG_NUM_BUFS or&amp;nbsp;RPMSG_BUFFER_SIZE in&amp;nbsp;SDK_2.8.0_MIMX8UX5xxxDZ.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Mar 2021 03:03:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1243803#M170658</guid>
      <dc:creator>xiaokaoy</dc:creator>
      <dc:date>2021-03-11T03:03:18Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1243829#M170660</link>
      <description>&lt;P&gt;one can look at folder ../middleware/multicore/rpmsg_lite/lib/rpmsg_lite,&lt;/P&gt;
&lt;P&gt;rpmsg_default_config.h :&lt;/P&gt;
&lt;P&gt;//! Number of the buffers, it must be power of two (2, 4, ...).&lt;BR /&gt;//! The default value is 2U.&lt;BR /&gt;#ifndef RL_BUFFER_COUNT&lt;BR /&gt;#define RL_BUFFER_COUNT (2U)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Thu, 11 Mar 2021 05:02:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1243829#M170660</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-03-11T05:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1244552#M170747</link>
      <description>&lt;P&gt;Thanks again.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In&amp;nbsp;&lt;EM&gt;SDK_2.8.0_MIMX8UX5xxxDZ\boards\mekmimx8qx\multicore_examples\rpmsg_lite_pingpong_rtos\linux_remote\rpmsg_config.h&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define RL_BUFFER_COUNT (256U)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;However, as I said, t&lt;SPAN&gt;he Linux kernel source file &lt;EM&gt;drivers/rpmsg/imx_rpmsg.c&lt;/EM&gt; defines&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;EM&gt;#define RPMSG_NUM_BUFS (512)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The two definitions are not contradictory, are they? I guess that &lt;EM&gt;RL_BUFFER_COUNT&lt;/EM&gt; refers to the number of buffers for each direction (tx or rx) while&amp;nbsp;&lt;EM&gt;RPMSG_NUM_BUFS&lt;/EM&gt; refers to the total number for both tx and rx.&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 12 Mar 2021 04:07:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1244552#M170747</guid>
      <dc:creator>xiaokaoy</dc:creator>
      <dc:date>2021-03-12T04:07:04Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1244575#M170753</link>
      <description>&lt;P&gt;&amp;gt;However, as I said, t&lt;SPAN&gt;he Linux kernel source file &lt;EM&gt;drivers/rpmsg/imx_rpmsg.c&lt;/EM&gt; defines&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;colibri board was developed by third party toradex, nxp does not support&amp;nbsp;&lt;/P&gt;
&lt;P&gt;its board and software. Please post issue on toradex forum.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Fri, 12 Mar 2021 05:02:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1244575#M170753</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-03-12T05:02:52Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1245242#M170819</link>
      <description>&lt;P&gt;OK, thanks.&lt;/P&gt;&lt;P&gt;In &lt;EM&gt;SDK_2.8.0_MIMX8UX5xxxDZ\boards\mekmimx8qx\multicore_examples\rpmsg_lite_pingpong_rtos\linux_remote\board.h&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define VDEV0_VRING_BASE (0x90000000U)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;#define VDEV1_VRING_BASE (0x90010000U)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Does this mean two rpmsg devices? That means the same as 'vdev-nums' ("The number of the remote virtual devices") in the device tree, doesn't? But what exactly does a remote virtual device mean? Does it depend on the number of M4 cores? The imx8dual I'm using has only one M4 core (not considering SCU/SECO). So can I use just one rpmsg device?&lt;/P&gt;</description>
      <pubDate>Sun, 14 Mar 2021 20:55:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1245242#M170819</guid>
      <dc:creator>xiaokaoy</dc:creator>
      <dc:date>2021-03-14T20:55:21Z</dc:date>
    </item>
    <item>
      <title>Re: RPMSG-lite</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1245247#M170820</link>
      <description>&lt;P&gt;&amp;gt;..Does it depend on the number of M4 cores? The imx8dual I'm using has only one M4 core..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe yes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Mar 2021 00:03:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/RPMSG-lite/m-p/1245247#M170820</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-03-15T00:03:35Z</dc:date>
    </item>
  </channel>
</rss>

