<?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>BICR file for custom boards</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/124647/bicr-file-for-custom-boards</link><description>I&amp;#39;m developing a custom board that uses the nRF54H20. 
 The Getting Started guide for the nRF54H20DK explains how to use the pre-built BICR file and program it to the chip, but it doesn&amp;#39;t explain how to create custom BICRs for custom boards. 
 In the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 09 Oct 2025 08:58:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/124647/bicr-file-for-custom-boards" /><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550981?ContentTypeID=1</link><pubDate>Thu, 09 Oct 2025 08:58:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:daf025b2-153c-4523-8a5e-7b054f169047</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You can look at this&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/releases_and_maturity/migration/migration_bicr_nRF54H20.html#gpio_power_configuration"&gt;Migrating nRF54H20 SoC BICR from DTS to JSON&lt;/a&gt;&amp;nbsp;and this&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/v4.0.99-ncs1/soc/nordic/nrf54h/bicr/bicr-schema.json"&gt;sdk-zephyr/soc/nordic/nrf54h/bicr/bicr-schema.json at v4.0.99-ncs1 · nrfconnect/sdk-zephyr · GitHub&lt;/a&gt;&amp;nbsp;to know about the different fields in the bicr.json file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550832?ContentTypeID=1</link><pubDate>Tue, 07 Oct 2025 15:25:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05a17e3a-54ae-483e-baa2-c3f9d57618a3</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;Is there documentation somewhere on the different fields in the bicr.json file, and what the potential values for those fields are?&lt;br /&gt;&lt;br /&gt;e.g. in the&amp;nbsp;&lt;span&gt;bicr&lt;/span&gt;&lt;span&gt;.json file that is in the nRF54H20DK board files, it has:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;{
  &amp;quot;power&amp;quot;: {
    &amp;quot;scheme&amp;quot;: &amp;quot;VDDH_2V1_5V5&amp;quot;
  },
  &amp;quot;ioPortPower&amp;quot;: {
    &amp;quot;p1Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p2Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p6Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p7Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p9Supply&amp;quot;: &amp;quot;EXTERNAL_FULL&amp;quot;
  },
  &amp;quot;ioPortImpedance&amp;quot;: {
    &amp;quot;p6ImpedanceOhms&amp;quot;: 50,
    &amp;quot;p7ImpedanceOhms&amp;quot;: 50
  },
  &amp;quot;lfosc&amp;quot;: {
    &amp;quot;source&amp;quot;: &amp;quot;LFXO&amp;quot;,
    &amp;quot;lfxo&amp;quot;: {
      &amp;quot;mode&amp;quot;: &amp;quot;CRYSTAL&amp;quot;,
      &amp;quot;accuracyPPM&amp;quot;: 20,
      &amp;quot;startupTimeMs&amp;quot;: 600,
      &amp;quot;builtInLoadCapacitancePf&amp;quot;: 15,
      &amp;quot;builtInLoadCapacitors&amp;quot;: true
    }
  },
  &amp;quot;hfxo&amp;quot;: {
    &amp;quot;mode&amp;quot;: &amp;quot;CRYSTAL&amp;quot;,
    &amp;quot;startupTimeUs&amp;quot;: 850,
    &amp;quot;builtInLoadCapacitors&amp;quot;: true,
    &amp;quot;builtInLoadCapacitancePf&amp;quot;: 14
  }
}
&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For &amp;quot;p1Supply&amp;quot;, for example, what are the other possible options instead of &amp;quot;EXTERNAL_1V8&amp;quot;?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550650?ContentTypeID=1</link><pubDate>Mon, 06 Oct 2025 06:32:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:13c8d50f-04a6-4d10-ba25-2f5bf0d53058</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;BICR will never flash automatically.&lt;/p&gt;
&lt;p&gt;You have to do this manually by following command. bicr.hex is generated in the build folder (build/zephyr/bicr.hex)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfutil device program --options chip_erase_mode=ERASE_NONE --firmware build/&amp;lt;app&amp;gt;/zephyr/bicr.hex --core Application --serial-number &amp;lt;serial_number&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550616?ContentTypeID=1</link><pubDate>Fri, 03 Oct 2025 16:35:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22cdfa18-cdfc-425a-900b-87254820e374</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;So it will be generated automatically, but will it be flashed automatically?&lt;/p&gt;
&lt;p&gt;If not, is there any way to also automatically flash the BICR as part of the build (if it&amp;#39;s changed)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550565?ContentTypeID=1</link><pubDate>Fri, 03 Oct 2025 08:49:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81580ca3-925f-4b1e-8e97-4a2ca847f15c</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Regarding the config, I have feedback from team&lt;/p&gt;
&lt;p&gt;&lt;em&gt;CONFIG_SOC_NRF54H20_GENERATE_BICR is set to y by default, so unless you actively set it to n, it will be generated.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550433?ContentTypeID=1</link><pubDate>Thu, 02 Oct 2025 08:25:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a89dbbf-6da7-4cfb-b141-114bde72bb6b</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The generated bicr.hex file you got is the hes file for your custom board. The explicit setting of CONFIG_SOC_NRFH20_GENERATE_BICR=y ensures BICR generation, but maybe for some boards it is enabled automatically. I will ask team to be sure about this.&lt;/p&gt;
&lt;p&gt;What you can do, you can check your build configuration (.config file in your build directory) to see if CONFIG_SOC_NRF54H20_GENERATE_BICR=y is set, even if it is not manually set by you in prj.conf file.&lt;/p&gt;
&lt;p&gt;The flashing of bicr.hex file manually with the nrfutil command ( what I mentioned in my previous reply) is must do thing.&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/pastedimage1759396267246v2.png" alt=" " /&gt;&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/pastedimage1759396255210v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;My team also commented alike&lt;/p&gt;
&lt;p&gt;&amp;#39;&amp;#39;BICR must be flashed manually in bring-up, and does not need to be changed later, unless you change HW the configuration of the board (or found that you had a wrong BICR in the first place and need to fix it).&lt;/p&gt;
&lt;p&gt;BICR will not be erased when doing recover or eraseall, so in a lot of cases, you can just program it once and be done with it.&amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;BR&lt;/p&gt;
&lt;p&gt;Kazi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/550050?ContentTypeID=1</link><pubDate>Mon, 29 Sep 2025 14:54:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50924ebb-0454-4cd8-9771-6e44074efea0</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;Thanks Kazi. Could you clarify though, in the original post I showed a log line where Zephyr is apparently generating a BICR file itself (and without me setting the `..._GENERATE_BICR` KConfig option you mention). Is this different than the BICR file that would be created following your directions?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BICR file for custom boards</title><link>https://devzone.nordicsemi.com/thread/549988?ContentTypeID=1</link><pubDate>Mon, 29 Sep 2025 09:38:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95e20de9-419e-44c1-b4ee-c7b8ecd387ce</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You have to create and configure BICR JSON file for your custom board.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The BICR configures how the nRF54H20 SoC interacts with board elements, such as power schemes, oscillators, GPIO drive, and more.&amp;nbsp;You can follow the default&amp;nbsp;nRF54H20 DK’s BICR JSON file as a template:&amp;nbsp;&lt;br /&gt;&lt;code dir="ltr"&gt;sdk-zephyr/boards/nordic/nrf54h20dk/bicr.json&amp;nbsp;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;to make custom board&amp;#39;s bicr.&lt;/p&gt;
&lt;p&gt;you can change the parameter from the default to your custom board (&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;Place your custom&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;bicr.json&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your custom board’s directory.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;Configure the required fields, such as power scheme, oscillator settings, GPIO drive, etc.)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;{
  &amp;quot;power&amp;quot;: {
    &amp;quot;scheme&amp;quot;: &amp;quot;VDDH_2V1_5V5&amp;quot;
  },
  &amp;quot;ioPortPower&amp;quot;: {
    &amp;quot;p1Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p2Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p6Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p7Supply&amp;quot;: &amp;quot;EXTERNAL_1V8&amp;quot;,
    &amp;quot;p9Supply&amp;quot;: &amp;quot;EXTERNAL_FULL&amp;quot;
  },
  &amp;quot;ioPortImpedance&amp;quot;: {
    &amp;quot;p6ImpedanceOhms&amp;quot;: 50,
    &amp;quot;p7ImpedanceOhms&amp;quot;: 50
  },
  &amp;quot;lfosc&amp;quot;: {
    &amp;quot;source&amp;quot;: &amp;quot;LFXO&amp;quot;,
    &amp;quot;lfxo&amp;quot;: {
      &amp;quot;mode&amp;quot;: &amp;quot;CRYSTAL&amp;quot;,
      &amp;quot;accuracyPPM&amp;quot;: 20,
      &amp;quot;startupTimeMs&amp;quot;: 600,
      &amp;quot;builtInLoadCapacitancePf&amp;quot;: 15,
      &amp;quot;builtInLoadCapacitors&amp;quot;: true
    }
  },
  &amp;quot;hfxo&amp;quot;: {
    &amp;quot;mode&amp;quot;: &amp;quot;CRYSTAL&amp;quot;,
    &amp;quot;startupTimeUs&amp;quot;: 850,
    &amp;quot;builtInLoadCapacitors&amp;quot;: true,
    &amp;quot;builtInLoadCapacitancePf&amp;quot;: 14
  }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Next step is to set the Kconfig option&amp;nbsp;&lt;span&gt;&lt;code dir="ltr"&gt;CONFIG_SOC_NRF54H20_GENERATE_BICR=y&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in the prj.conf file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;After building the application build system will generate bircr.hex file and after that you have to manually program the bicr.hex file on your device by the following command&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfutil device program --options chip_erase_mode=ERASE_NONE --firmware bicr.hex --core Application --serial-number &amp;lt;serial_number&amp;gt;
&lt;/pre&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You can look at the details information here&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_custom_pcb.html#configure_generate_and_program_the_bicr" rel="noopener noreferrer" target="_blank"&gt;Configure, generate, and program the BICR&lt;/a&gt;&lt;span&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_custom_pcb.html#program_the_bicr_binary" rel="noopener noreferrer" target="_blank"&gt;Program the BICR binary&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;BR&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kazi&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>