<?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>Use internal nRF52 pull-up w/ TWIM?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/20321/use-internal-nrf52-pull-up-w-twim</link><description>Hi all -- 
 I have a tricky layout &amp;quot;issue&amp;quot; where unfortunately, I&amp;#39;ve ended up connecting my I2C device to the BlueTooth module on the side of the module where my VDD isn&amp;#39;t routed (two-layer board + a solid GND plane on the bottom layer == tricky layout</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Mar 2017 19:37:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/20321/use-internal-nrf52-pull-up-w-twim" /><item><title>RE: Use internal nRF52 pull-up w/ TWIM?</title><link>https://devzone.nordicsemi.com/thread/79165?ContentTypeID=1</link><pubDate>Thu, 09 Mar 2017 19:37:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90910dff-4399-442a-8a88-f4bfbfa6d773</guid><dc:creator>Krunal Desai</dc:creator><description>&lt;p&gt;Perfect, thanks! I may add a high-value pull-down to both lines to enforce some kind of state before the nRF52 comes up and asserts state on its pins.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Use internal nRF52 pull-up w/ TWIM?</title><link>https://devzone.nordicsemi.com/thread/79164?ContentTypeID=1</link><pubDate>Thu, 09 Mar 2017 13:54:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f925b51-a789-4b9f-a2ec-e52a2e9d85e6</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Krunal,&lt;/p&gt;
&lt;p&gt;the internal pull-ups are enabled by default by the TWI Driver(nrf_drv_twi.c). If you take a look at the nrf_drv_twi_init(...) function you&amp;#39;ll see that the GPIO pins are configured the following way&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NRF_GPIO-&amp;gt;PIN_CNF[p_config-&amp;gt;scl] = SCL_PIN_INIT_CONF;
NRF_GPIO-&amp;gt;PIN_CNF[p_config-&amp;gt;sda] = SDA_PIN_INIT_CONF;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;where SCL_PIN_INIT_CONF and SDA_PIN_INIT_CONF are defined as&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define SCL_PIN_INIT_CONF     ( (GPIO_PIN_CNF_SENSE_Disabled &amp;lt;&amp;lt; GPIO_PIN_CNF_SENSE_Pos) \
                              | (GPIO_PIN_CNF_DRIVE_S0D1     &amp;lt;&amp;lt; GPIO_PIN_CNF_DRIVE_Pos) \
                              | (GPIO_PIN_CNF_PULL_Pullup    &amp;lt;&amp;lt; GPIO_PIN_CNF_PULL_Pos)  \
                              | (GPIO_PIN_CNF_INPUT_Connect  &amp;lt;&amp;lt; GPIO_PIN_CNF_INPUT_Pos) \
                              | (GPIO_PIN_CNF_DIR_Input      &amp;lt;&amp;lt; GPIO_PIN_CNF_DIR_Pos))
#define SDA_PIN_INIT_CONF        SCL_PIN_INIT_CONF
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>