<?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>Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/89440/migrating-to-sdk-2-0-0-caused-my-cs-pin-to-stop-working-on-my-spi</link><description>Was using SDK 1.9.1 up till now, but I migrated to SDK 2.0.0 and I changed my overlay file to add the pin control stuff. I have a nrf5340 and use the app_ns board config. 
 This is the overlay file 
 
 &amp;amp; pinctrl { 
 
 spi2_default: spi2_default { 
 group1</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 26 Nov 2022 09:58:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/89440/migrating-to-sdk-2-0-0-caused-my-cs-pin-to-stop-working-on-my-spi" /><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/397741?ContentTypeID=1</link><pubDate>Sat, 26 Nov 2022 09:58:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:557a3659-f9bd-45c1-8d52-a90c3d814a0e</guid><dc:creator>Jason</dc:creator><description>&lt;p&gt;Thank you for this!&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve had this on my todo list because they removed gpio_dev in 2.1.0 and I didn&amp;#39;t notice that all I had to do was this one line change.&lt;/p&gt;
&lt;p&gt;&amp;quot;port&amp;quot; is a bad name for a device&lt;/p&gt;
&lt;p&gt;THANK YOU!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/379083?ContentTypeID=1</link><pubDate>Thu, 28 Jul 2022 10:02:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:582cfb0e-a301-410e-9515-cba2d2fc247f</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Thanks for sharing your solution!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/378987?ContentTypeID=1</link><pubDate>Wed, 27 Jul 2022 18:26:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:505fad99-5af3-4512-a646-b668e337bb9f</guid><dc:creator>stevenminnick</dc:creator><description>&lt;p&gt;So I think I found the answer on my own.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This seems to work, I have commended out the old stuff and left in the new stuff&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;spi_cs_control&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;spi_cs&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; = {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// this is the new hottness&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;.&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pin&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;18&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;.&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dt_flags&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; = &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;GPIO_ACTIVE_LOW&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// below is the old depricated way&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// .gpio_dev = NULL,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// .gpio_pin = 18,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// .gpio_dt_flags = GPIO_ACTIVE_LOW,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// .delay = 0,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;/div&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;&lt;/div&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// old and busted&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;//spi_cs.gpio_dev = gpioPort0;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#6a9955;"&gt;// new hottness&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;spi_cs&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;.&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;.&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;port&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; = &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpioPort0&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This is from SPI.H&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;spi_cs_control&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; /**&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* GPIO devicetree specification of CS GPIO.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* The device pointer can be set to NULL to fully inhibit CS control if&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* necessary. The GPIO flags GPIO_ACTIVE_LOW/GPIO_ACTIVE_HIGH should be&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* equivalent to SPI_CS_ACTIVE_HIGH/SPI_CS_ACTIVE_LOW options in struct&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* spi_config.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;union&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_dt_spec&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;device&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; *&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio_dev&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;__deprecated&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_pin_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio_pin&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;__deprecated&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_dt_flags_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;gpio_dt_flags&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;__deprecated&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; /**&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Delay in microseconds to wait before starting the&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* transmission and before releasing the CS line.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;uint32_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;delay&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And this is from GPIO.H&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;/**&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;@brief&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; Container for GPIO pin information specified in devicetree&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;*&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* This type contains a pointer to a GPIO device, pin number for a pin&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* controlled by that device, and the subset of pin configuration&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* flags which may be given in devicetree.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;*&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;@see&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; GPIO_DT_SPEC_GET_BY_IDX&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;@see&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; GPIO_DT_SPEC_GET_BY_IDX_OR&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;@see&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; GPIO_DT_SPEC_GET&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;* &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;@see&lt;/span&gt;&lt;span style="color:#6a9955;"&gt; GPIO_DT_SPEC_GET_OR&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_dt_spec&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; /** GPIO device controlling the pin */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;device&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; *&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;port&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; /** The pin&amp;#39;s number on the device */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_pin_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;pin&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#6a9955;"&gt;&amp;nbsp; &amp;nbsp; /** The pin&amp;#39;s configuration flags as specified in devicetree */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;gpio_dt_flags_t&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dt_flags&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I think they want us to use the gpio_dt_spec struct from now on, not the old structure in that union.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/375714?ContentTypeID=1</link><pubDate>Wed, 06 Jul 2022 09:34:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3654400f-e65d-4655-9804-ecc61d09b09d</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I tried to investigate this.&lt;/p&gt;
&lt;p&gt;I figured out that the CS pin set by DTS would eventually end up in &lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/5247ee9a7a4dfa1021c364214d1cf7abff071405/drivers/spi/spi_nrfx_spim.c#L119"&gt;dev-&amp;gt;data-&amp;gt;ctx&lt;/a&gt;-&amp;gt;cs_gpios-&amp;gt;pin and the CS pin set through the API would eventually end up in dev-&amp;gt;data-&amp;gt;ctx-&amp;gt;config-&amp;gt;cs-&amp;gt;gpio-&amp;gt;pin (&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/5247ee9a7a4dfa1021c364214d1cf7abff071405/drivers/spi/spi_context.h#L230"&gt;this is used when asserting/deasserting CS&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;So it seems like setting CS through DTS does nothing, if my findings are correct. I will continue to investigate and also look at v1.9.1 and how it was done there&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374965?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2022 16:33:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c074c5ac-8709-4910-b9fc-3e34a13413fb</guid><dc:creator>stevenminnick</dc:creator><description>&lt;p&gt;Here is some other weirdness.&amp;nbsp; My FAE has also been thinking about this and he emailed me:&lt;/p&gt;
&lt;p&gt;But you have&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.gpio dev set to NULL&lt;/p&gt;
&lt;p&gt;I think it needs to.point to a structure set in the binding of the gpio port&lt;/p&gt;
&lt;p&gt;Creating a structure with the binding of the node label &amp;quot;GPIO_0&amp;quot;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;so I think he was referring to&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#569cd6;"&gt;static&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;spi_cs_control&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;spi_cs&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt; = {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .gpio_dev = &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;NULL&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .gpio_pin = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;25&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .gpio_dt_flags = &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;GPIO_ACTIVE_LOW&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; &amp;nbsp; .delay = &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;now all the examples I have seen with SPI had .gpio_dev set to NULL.&amp;nbsp; And it worked in SDK 1.9.1.&amp;nbsp; But since I&amp;#39;m in a &amp;quot;I&amp;#39;ll try anything&amp;quot; I did this:&lt;/p&gt;
&lt;p class="xmsonormal" style="background:#1E1E1E;line-height:14.25pt;"&gt;&lt;span style="color:#569cd6;font-family:Consolas;font-size:10.5pt;"&gt;const&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;font-family:Consolas;font-size:10.5pt;"&gt;struct&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;font-family:Consolas;font-size:10.5pt;"&gt;device&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt; *&lt;/span&gt;&lt;span style="color:#9cdcfe;font-family:Consolas;font-size:10.5pt;"&gt;gpioPort0&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xmsonormal" style="background:#1E1E1E;line-height:14.25pt;"&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#9cdcfe;font-family:Consolas;font-size:10.5pt;"&gt;gpioPort0&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt; = &lt;/span&gt;&lt;span style="color:#dcdcaa;font-family:Consolas;font-size:10.5pt;"&gt;device_get_binding&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;(&lt;/span&gt;&lt;span style="color:#ce9178;font-family:Consolas;font-size:10.5pt;"&gt;&amp;quot;GPIO_0&amp;quot;&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="xmsonormal" style="background:#1E1E1E;line-height:14.25pt;"&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#9cdcfe;font-family:Consolas;font-size:10.5pt;"&gt;spi_cs&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;.&lt;/span&gt;&lt;span style="color:#9cdcfe;font-family:Consolas;font-size:10.5pt;"&gt;gpio_dev&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt; = &lt;/span&gt;&lt;span style="color:#9cdcfe;font-family:Consolas;font-size:10.5pt;"&gt;gpioPort0&lt;/span&gt;&lt;span style="color:#d4d4d4;font-family:Consolas;font-size:10.5pt;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;By setting .gpio_dev to that, I get the compiler message that .gpio_dev is deprecated:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656606665261v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;But that made the CS line work.&lt;/p&gt;
&lt;p&gt;Before setting .gpio_dev&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656606717698v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;After setting that&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656606734031v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;So is .gpio_dev deprecated?&amp;nbsp; Does that mean I should stop using it?&amp;nbsp; Why was this not needed in 1.9.1 and it&amp;#39;s now needed in 2.0.0?&amp;nbsp; And if it&amp;#39;s deprecated is there something else I should be doing to make the CS line work with SPI in SDK 2.0.0?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374935?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2022 13:49:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e9dc832-ad0f-4f31-8b4e-1006209092dc</guid><dc:creator>stevenminnick</dc:creator><description>&lt;p&gt;Well I still am not able to debug through &lt;span&gt;&lt;/span&gt;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_nrfx_spim.c#L376"&gt;spi_context_cs_control(..,true)&lt;/a&gt; but I can debug into &lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#dcdcaa;"&gt;spi_context_buffers_setup&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dev_data&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;ctx&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;tx_bufs&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;, &lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;rx_bufs&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;, &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And both pass&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dev_data&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;ctx&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Si in the contect_buffer_setup, that dev_data-&amp;gt;ctx is shown here, that looks right doesn&amp;#39;t it?&amp;nbsp; I assume in the next function call for contect_cs_control that&amp;#39;s the same.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656596989672v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374923?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2022 13:29:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1cd923a-f593-4cf4-93cd-2307382e720b</guid><dc:creator>stevenminnick</dc:creator><description>&lt;p&gt;Thanks for the help, I don&amp;#39;t want to modify drivers.&amp;nbsp; I just want to use the SPI stuff.&amp;nbsp; I&amp;#39;m curious why 1.9.1 worked and 2.0.0 doesn&amp;#39;t.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;When I debug I get to here:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656595679091v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;And if I jump into&lt;/p&gt;
&lt;div style="background-color:#1e1e1e;color:#d4d4d4;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#dcdcaa;"&gt;spi_context_cs_control&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;(&amp;amp;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;dev_data&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color:#9cdcfe;"&gt;ctx&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;, &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I get to here:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1656595736703v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Which is what I think you were asking me to look into.&amp;nbsp; But after that it just jumps right out.&amp;nbsp; I can&amp;#39;t debug into there.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374916?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2022 13:08:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4b76ea8-df50-48f9-aae9-43f073e50c03</guid><dc:creator>Simon</dc:creator><description>&lt;div&gt;[quote user=""]So I can use the controller inner CS logic?&amp;nbsp; How do I do that?&amp;nbsp; Was I always using the GPIO line?&amp;nbsp;&amp;nbsp;[/quote]&lt;/div&gt;
&lt;p&gt;In the spi_nrfx_spim.c driver the inner CS logic is not used. You can see that the .ss_pin is set to&amp;nbsp;NRFX_SPIM_PIN_NOT_USED:&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_nrfx_spim.c#L563"&gt;https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_nrfx_spim.c#L563&lt;/a&gt;&amp;nbsp;and the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf5340/spim.html?cp=3_0_0_6_29_6_26#register.PSEL.CSN"&gt;PSEL.CSN register&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;will not be set. To use that, you need to modify the driver.&lt;/p&gt;
&lt;p&gt;The spi_nrfx_spim.c driver instead uses a GPIO pin as CS, and you can see that it gets asserted through&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_nrfx_spim.c#L376"&gt;spi_context_cs_control(..,true)&lt;/a&gt;&amp;nbsp;and deasserted through&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_nrfx_spim.c#L336"&gt;spi_context_cs_control(.., false)&lt;/a&gt;&amp;nbsp;(and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;spi_context_unlock_unconditionally()&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Instead of modifying the driver to use the inner CS logic, I think it would be better to investigate why it doesn&amp;#39;t work using the GPIO line. Could you try to do some debugging and check if the following function&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_context.h#L225"&gt;_spi_context_cs_control()&lt;/a&gt;&amp;nbsp;is reached. If it is, could you check if the port and pin is correct in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/drivers/spi/spi_context.h#L230"&gt;gpio_pin_set_dt()&lt;/a&gt;--&amp;gt;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v3.0.99-ncs1/include/zephyr/drivers/gpio.h#L1193"&gt;gpio_pin_set()&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374750?ContentTypeID=1</link><pubDate>Wed, 29 Jun 2022 13:32:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:468497d1-aa23-41de-8d4b-f38edce269ff</guid><dc:creator>stevenminnick</dc:creator><description>&lt;p&gt;Markus,&lt;/p&gt;
&lt;p&gt;Thanks for the links but I already read though those and they did NOT help.&amp;nbsp; I think I did it correctly.&amp;nbsp; Did I not (in my example)?&amp;nbsp; I read through those links and made the changes and that&amp;#39;s what caused my problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Steve&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Migrating to SDK 2.0.0 caused my CS pin to stop working on my SPI</title><link>https://devzone.nordicsemi.com/thread/374658?ContentTypeID=1</link><pubDate>Wed, 29 Jun 2022 06:34:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:568aeb39-c888-4372-8989-6f5ea58410cd</guid><dc:creator>Albrecht Markus Schellenberger</dc:creator><description>&lt;p&gt;&lt;span&gt;Hello Steven,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user=""]So I can use the controller inner CS logic?&amp;nbsp; How do I do that?&amp;nbsp; Was I always using the GPIO line?&amp;nbsp;&amp;nbsp;[/quote]
&lt;p&gt;&lt;span&gt;Referring to the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.0/nrf/migration/migration_guide_1.x_to_2.x.html#pin-control-transition"&gt;Pin control transition&lt;/a&gt; section in our &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.0/nrf/migration/migration_guide_1.x_to_2.x.html"&gt;Migration notes for nRF Connect SDK v2.0.0&lt;/a&gt;.&lt;/span&gt;&lt;span&gt; Let me know if that does not help solving the issue you are facing.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Markus&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>