<?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>nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/59627/nrf5340-peripheral-selection-w-engineering-a-silicon---comments-please</link><description>Hi everyone, 
 Currently I am routing hardware for an upcoming project using the nRF5340 and it&amp;#39;s time for a sanity check. 
 The goal is that the HW works well enough w/Engineering A samples for initial development. I reviewed the errata for Engineering</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 31 Mar 2020 23:13:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/59627/nrf5340-peripheral-selection-w-engineering-a-silicon---comments-please" /><item><title>RE: nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/thread/242804?ContentTypeID=1</link><pubDate>Tue, 31 Mar 2020 23:13:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6baecb2a-c429-4aed-9b32-2a1ba9d5f9c8</guid><dc:creator>navigator</dc:creator><description>&lt;p&gt;Thanks Einar for pointing me in the right direction &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regarding my original plan..&lt;/p&gt;
&lt;p&gt;I will use SPI sequentially instead of concurrently, with 3 slave CSNs&amp;nbsp; using SPIM4 w/DMA.&lt;/p&gt;
&lt;p&gt;I will use 4 pins for I2C, on 2 buses -- separating high speed from low speed devices.&amp;nbsp; Since I have only one peripheral available, I will use TWIM1 and need to init / un-init each time I want to switch between the two buses.&amp;nbsp; &amp;nbsp;I do it this way so when the next rev of silicon comes (and errata 1000kHz gets fixed), I don&amp;#39;t have to change my layout, just drop in the new chip, and change the SW to use the new dedicated TWIM2.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Lastly I will use UARTE0, and get rid of the concurrency, but talk to two devices.&amp;nbsp; I will alternate between talking to the devices on different pins using init/un-init, then later when the new silicon arrives, I can use dedicated UARTE3 and keep my layout.&amp;nbsp; It will need a little handshaking to turn off the remote transmit when there is nobody home to receive....&lt;/p&gt;
&lt;p&gt;Thanks for help!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/thread/242600?ContentTypeID=1</link><pubDate>Tue, 31 Mar 2020 07:52:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e87d68e-a00e-478f-a3d4-28ec1377b91e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The Device Tree approach used in Zephyr does not work with having the same pins for several peripherals, so you need to use the nrfx drivers directly. Then, you basically follow this approach:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Initialize the peripheral&amp;nbsp;when you need it.&lt;/li&gt;
&lt;li&gt;Use it&lt;/li&gt;
&lt;li&gt;Uninitialized peripheral when done.&lt;/li&gt;
&lt;li&gt;Now you can do the same with the other peripheral of the same ID, since the first peripheral is no longer in use. And so on...&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Taking SPIM as an example, this means that for step 1 you initialize it with nrfx_spim_init(), use it as described in the &lt;a href="https://github.com/NordicSemiconductor/nrfx/blob/master/drivers/include/nrfx_spim.h"&gt;API doc&lt;/a&gt; and uninitialized it with&amp;nbsp;nrfx_spim_uninit().&lt;/p&gt;
&lt;p&gt;You can refer to &lt;a href="https://docs.zephyrproject.org/latest/samples/boards/nrf/nrfx/README.html?highlight=nrfx%20example#nrf91-nrfx-example"&gt;nRF91 nrfx example&lt;/a&gt;&amp;nbsp;to see an example of how to use nrfx drivers directly (there is no example specifically for nRF5340, but the principles are the same).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/thread/242500?ContentTypeID=1</link><pubDate>Mon, 30 Mar 2020 15:21:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d11379ff-6ff9-4a28-8199-1fba76e09503</guid><dc:creator>navigator</dc:creator><description>&lt;p&gt;Thanks Einar, I understand.&amp;nbsp; &amp;nbsp;Could you be so kind as to point me to a code snippet of the best practice technique to disable/reenable a peripheral as you suggest?&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/thread/242481?ContentTypeID=1</link><pubDate>Mon, 30 Mar 2020 14:34:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c709d502-3013-4005-8d96-c0c22ad6d07c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The QSPI peripheral can only be used for QSPI.&lt;/p&gt;
&lt;p&gt;Regarding the general issue of not having enough peripherals to use concurrently, I would like to mention that unless you need all enabled simultaneously, you could aways reconfigure the peripheral. For instance, you could use both SPIM0 and TWIM0 in the same product, just that you would have to disable SPIM0 in order to enable TWIM0, and so on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 peripheral selection w/Engineering A silicon - comments please</title><link>https://devzone.nordicsemi.com/thread/242212?ContentTypeID=1</link><pubDate>Sat, 28 Mar 2020 13:46:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:89600c57-b499-4c34-857f-b48ee46aa434</guid><dc:creator>navigator</dc:creator><description>&lt;p&gt;Yeah, I&amp;#39;m starting to see this is not going to work at all.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;I get to pick one: SPIM0 or TWIM0 or UARTE0&lt;br /&gt;&lt;span&gt;I get to pick one: SPIM1 or TWIM1 or UARTE1&lt;br /&gt;I get to pick one: SPIM4 or TRACEDATA&lt;br /&gt;I get to pick one: SPIM2 or TWIM2 or UARTE2&amp;nbsp;&amp;nbsp;(but none of these work in Engineering A silicon)&lt;br /&gt;I get to pick one: SPIM3 or TWIM3 or UARTE3&amp;nbsp; (but none of these work in Engineering A silicon)&lt;br /&gt;QSPI comes without conflict.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;So I am going to need to cut back.&amp;nbsp; &amp;nbsp;I knew it was looking too easy.&amp;nbsp; &amp;nbsp;Can I run all three SPI slaves with same QSPI peripheral using different CSN lines....when only one slave supports QSPI, the others are straight SPI ?&amp;nbsp; &amp;nbsp;Does the QSPI peripheral allow me to I mix and match using some config magic, or does it only service QSPI slaves?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>