<?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 I run the nRF54L15 I2C peripheral SCL in push-pull mode?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122112/can-i-run-the-nrf54l15-i2c-peripheral-scl-in-push-pull-mode</link><description>Hi all, 
 
 It is a common convention to configure the I2C SCL signal to be push-pull instead of open-collector if there are no other I2C masters in the system (saves a pull up resistor, simplifies circuitry, etc). I’m assuming that there’s a way to do</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 07 Jun 2025 02:50:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122112/can-i-run-the-nrf54l15-i2c-peripheral-scl-in-push-pull-mode" /><item><title>RE: Can I run the nRF54L15 I2C peripheral SCL in push-pull mode?</title><link>https://devzone.nordicsemi.com/thread/538499?ContentTypeID=1</link><pubDate>Sat, 07 Jun 2025 02:50:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:033425b3-c085-4154-8685-9a529ad633df</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Yes, of course, push-pull works fine. Sadly you will have to fight with the version of nRFConnect which you are using, unless using nRFx.&lt;/p&gt;
&lt;p&gt;This is how to normally set (say) H0H1:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    nordic,drive-mode = &amp;lt;NRF_DRIVE_H0H1&amp;gt;;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;.. &lt;em&gt;&lt;strong&gt;but note: nordic,drive-mode int&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;em&gt;Pin output drive mode. Available drive modes are pre-defined in&amp;nbsp;nrf-pinctrl.h. Note that extra modes may not be available on certain&amp;nbsp;devices. Defaults to standard mode for 0 and 1 (NRF_DRIVE_S0S1), the&amp;nbsp;SoC default, except for the &amp;quot;&lt;strong&gt;nordic,nrf-twi&lt;/strong&gt;&amp;quot; and &amp;quot;&lt;strong&gt;nordic,nrf-twim&lt;/strong&gt;&amp;quot;&amp;nbsp;nodes where NRF_DRIVE_S0S1 is always overridden with &lt;strong&gt;NRF_DRIVE_S0D1&lt;/strong&gt;&amp;nbsp;(standard &amp;#39;0&amp;#39;, disconnect &amp;#39;1&amp;#39;)&lt;/em&gt;.&amp;quot;&lt;/p&gt;
&lt;p&gt;Some effort will be required to defeat this, Nordic may supply the relevant notes&lt;/p&gt;
&lt;p&gt;Edit: I should add that we found that some slave I2C devices hold SCL low for clock-stretching (to create a delay between byte transfer) without this being explicitly mentioned in the data sheet; that would cause anything other than S0D1 or H0D1 mode to fail with those I2C slave devices.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>