<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Can we share QSPI port with FPGA and nRF7002?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112600/can-we-share-qspi-port-with-fpga-and-nrf7002</link><description>We need to retrieve data from an FPGA to the nRF5340, process it with the network and Wi-Fi protocol stacks and then send the data to the nRF7002 for Wi-Fi transmission. We need very high data rates, and SPI would not be fast enough. So we would like</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 13 Jul 2024 22:44:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112600/can-we-share-qspi-port-with-fpga-and-nrf7002" /><item><title>RE: Can we share QSPI port with FPGA and nRF7002?</title><link>https://devzone.nordicsemi.com/thread/493757?ContentTypeID=1</link><pubDate>Sat, 13 Jul 2024 22:44:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d1fcf2f-47b3-4476-ad97-319a18f0e415</guid><dc:creator>Saxman58</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;I looked into this further and am now convinced that this isn&amp;#39;t really possible, even if I wanted to modify the Nordic Wi-Fi library code myself.&amp;nbsp; There is far more traffic on the QSPI bus than I expected, especially when we are trying to maximize the Wi-Fi throughput.&amp;nbsp; And all the queues and threads further complicate the idea of trying to steal time from the QSPI usage.&lt;/p&gt;
&lt;p&gt;At first I thought that the SPI would be too slow for the FPGA interface, even the 32 MHz SPIM4 on the nRF5340.&amp;nbsp; But we found a way to make that work.&amp;nbsp; So we are back to the using the dedicated QSPI connection to the nRF7002.&lt;/p&gt;
&lt;p&gt;Thanks for your help!&lt;/p&gt;
&lt;p&gt;Glen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can we share QSPI port with FPGA and nRF7002?</title><link>https://devzone.nordicsemi.com/thread/492482?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2024 13:58:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7efc09ea-46af-41de-ad28-10676efdf049</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Glen,&lt;/p&gt;
&lt;p&gt;I asked our WiFi team, and they said that it is not possible to share the QSPI peripheral with other devices, when it is used for the nRF7002, and it is not something that is planned to come soon either.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It is, however, possible to connect the nRF7002 via SPI instead of QSPI. It does slow it down, but if that is the only option, then perhaps you can look into it? Alternatively, you can investigate whether the FPGA is capable of running on SPI instead of QSPI as well?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can we share QSPI port with FPGA and nRF7002?</title><link>https://devzone.nordicsemi.com/thread/491716?ContentTypeID=1</link><pubDate>Tue, 02 Jul 2024 03:42:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2739dfb-75fd-4736-a82f-91496b5f430f</guid><dc:creator>Saxman58</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;br /&gt;&lt;br /&gt;1. We don&amp;#39;t have hardware to test the QSPI with the FPGA, but will soon.&amp;nbsp; But here is my reasoning.&amp;nbsp; Xilinx has IP modules to implement QSPI in the FPGA, and they are highly configurable.&amp;nbsp; But they only support master mode, and of course we want the FPGA to be the slave to the Nordic MCU, like the nRF7002 is.&amp;nbsp; So we will design our own QSPI slave port (simpler than a master) and make sure that it matches the appropriate QSPI modes and operations that the nRF5340 supports and that we would use.&amp;nbsp; The FPGA design will have addressable status and control registers, and memory read and write operations, all of which map very well to the commands for an external flash chip.&amp;nbsp; Because we are creating the registers and memory interface, we can make sure they are compatible.&amp;nbsp; (Memory will be RAM, not Flash, so the sector/block/chip erase instructions won&amp;#39;t be used, but reads and writes still make sense.)&lt;br /&gt;The QSPI port also supports custom instructions (see section 7.25.7 of the nRF5340_PS-v1.3.1)&amp;nbsp;that might be useful to us to make some custom commands.&amp;nbsp; However, I believe that as long as make the FPGA look like a memory chip (with the RAM as part of the address space, and the memory mapped status and control registers at different addresses) then the standard memory read and write operations (e.g.- READ4IO and PP4IO) should work.&lt;br /&gt;&lt;br /&gt;2. On this point, I think the big question is whether the&amp;nbsp;Wi-Fi drivers ever try to communicate with the nRF7002 without the application in the nRF5340 initiating it.&amp;nbsp; Since the nRF7002 has an interrupt line to the MCU, I doubt that the driver would poll the nRF7002, but I can&amp;#39;t say for sure.&amp;nbsp; My hope is that the drivers talk to the nRF7002 a lot during the initialization and the establishment of communications to the Wi-Fi Access Point, but then after that the drivers only talk over the QSPI when the application asks for it (checking status or sending a new message) or when there is an interrupt.&amp;nbsp; So if we have the FPGA mask the interrupt (pass it through an AND gate) for the few microseconds it takes to grab a new 512 byte block of data from the FPGA, and then allow the interrupt to pass through to the MCU once the QSPI is returned to the nRF7002, then that takes care of the interrupts.&amp;nbsp; And the application would know not to initiate any Wi-Fi operations during the QSPI transfer from the FPGA.&lt;br /&gt;&lt;br /&gt;If the driver doesn&amp;#39;t talk to the nRF7002 unless the application asks it to, or if it gets an interrupt, then with this scheme there may not be a need to put the Wi-Fi driver on hold.&amp;nbsp; But if it polls the nRF7002 periodically or something like that, then there could be a problem.&lt;br /&gt;&lt;br /&gt;The other situation that would be a problem is if the Wi-Fi driver somehow gets exclusive control over the QSPI bus and prevents the application from accessing it directly.&amp;nbsp; I don&amp;#39;t know if this is possible for the driver to do.&lt;br /&gt;&lt;br /&gt;Tusen takk,&lt;/p&gt;
&lt;p&gt;Glen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can we share QSPI port with FPGA and nRF7002?</title><link>https://devzone.nordicsemi.com/thread/491702?ContentTypeID=1</link><pubDate>Mon, 01 Jul 2024 22:18:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02aa532f-2a9a-445d-a4ed-875f85a0192b</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have two questions:&lt;/p&gt;
&lt;p&gt;1: Have you tried using the QSPI on the nRF5340 on your FPGA device? Does that work? The reason I ask is that the QSPI drivers on the nRF5340 are tailored to work with external flash chips, and of course the nRF70-series, because we can design these drivers as we like. However, you need to check that the QSPI drivers works with the FPGA device that you want to use.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2: I don&amp;#39;t think the nRF7002 drivers will accept not being able to communicate with the nRF5340. At least not without disabling the WiFi protocol before doing so. So if that is an option, the answer is &amp;quot;maybe&amp;quot;, but again, it depends on whether or not you are able to use the QSPI drivers with your FPGA devices.&lt;/p&gt;
&lt;p&gt;I want to check this before diving more deeply into your questions. Then I know a bit more details before start asking our WiFi teams about details on how to set the WiFi on hold for a given amount of time.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>