<?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>Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/111589/disable-uart-tx-voltage-by-default-in-zephyr</link><description>We have a problem where a display running on 5V with an UART on 3.3V will self-bias through the UART TX pin when the 5V supply is switched on. 
 How do you make zephyr not init UART TX at boot? And then how do you init it when you need it? 
 Thanks.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 30 May 2024 12:17:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/111589/disable-uart-tx-voltage-by-default-in-zephyr" /><item><title>RE: Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/thread/486661?ContentTypeID=1</link><pubDate>Thu, 30 May 2024 12:17:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ac06a1c-9393-4f3b-8c1d-ee9f9e444d55</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Thanks for the clarification, I know they are working on something like this:&lt;br /&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/pull/67335"&gt;https://github.com/zephyrproject-rtos/zephyr/pull/67335&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Until that is ready I may have a different suggestion, in devicetree you can define multiple pinctrl configurations, by default it will use &amp;quot;default&amp;quot;, so you can for instance set the tx pin to not used and/or a different pin that is not used. That should solve the problem on how the tx pin behaves at boot. Now the remaining question is how to update the tx pin whenever you want to, and I hope you may find this answer useful:&amp;nbsp;&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/101574/dynamic-uart0-pin-change-for-communicating-with-multiple-3-uart-devices-connected-at-different-pins"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/101574/dynamic-uart0-pin-change-for-communicating-with-multiple-3-uart-devices-connected-at-different-pins&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/thread/486553?ContentTypeID=1</link><pubDate>Thu, 30 May 2024 05:40:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd8a79fa-dcd0-4770-b2dd-bfa44fc22e45</guid><dc:creator>Elith</dc:creator><description>&lt;p&gt;So it kinda works by turning off the UART after (!) boot. I disable it first thing in main. However, the uart is still initialized high and I can measure this.&lt;/p&gt;
&lt;p&gt;Can you have devicetree not init the uart at boot? Or how can a deferred init be done?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/thread/486505?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 16:17:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:273a085b-3c52-4741-98b1-e962b1b66eea</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Thanks for the clarification, then I believe it may be solved using the power management feature, ref similar issue when using SPI here:&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/106183/deinitialize-spi"&gt;Deinitialize SPI&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/thread/486405?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 11:30:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ad3bda2-153b-443e-8b46-3680db194997</guid><dc:creator>Elith</dc:creator><description>&lt;p&gt;Indeed, I think you are misunderstanding what I&amp;#39;m asking. This is an issue with voltage on the UART pin from the MCU to the Display (when the display is switched off).&lt;/p&gt;
&lt;p&gt;Using zephyr, the UART TX pin is automatically init&amp;#39;ed and thus puts 3.3V out of the MCU. How do I avoid that? I tried with zephyr,deferred-init in the devicetree but says it does not exist in nordic,nrf-uarte.&lt;/p&gt;
&lt;p&gt;So, how do I do a deferred init of the UART?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Disable UART TX voltage by default in Zephyr</title><link>https://devzone.nordicsemi.com/thread/486400?ContentTypeID=1</link><pubDate>Wed, 29 May 2024 11:24:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39118221-4698-4807-be0f-b799f2f98f56</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important that voltages on pins does not exceed vdd+0.3V, see absolute maximum ratings:&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf5340/chapters/abs_max_ratings/doc/abs_max_ratings.html"&gt;https://infocenter.nordicsemi.com/topic/ps_nrf5340/chapters/abs_max_ratings/doc/abs_max_ratings.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If pin exceed vdd+0.3V the internal ESD diode will trigger, and make a &amp;quot;path&amp;quot; between the pad and vdd, indirectlly supplying the nRF5340 from the pin. The ESD diode will be damaged over time in such a setup and very likely also damage the part. There is no way to override this in software, it&amp;#39;s also important that VDD does not exceed 3.6V.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>