Skip to content

Commit 2a97534

Browse files
committed
doc: nrf: ug_nrf54h20_custom_pcb: update BICR details
Update details on how BICR is generated. Signed-off-by: Gerard Marull-Paretas <[email protected]>
1 parent 5ffd6e4 commit 2a97534

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_custom_pcb.rst

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,22 @@ First, you need to create your PCB for the nRF54H20 SoC.
1616

1717
We highly recommend using the PCB layouts and component values provided by Nordic Semiconductor, especially for clock and power sources, considering the following limitations:
1818

19-
* The DC/DC inductor must be present on the PCB, and the ``inductor-present;`` node must be configured either in the :file:`zephyr/boards/your_board/nrf54h20dk_bicr.dtsi` file or in the section where ``bicr: bicr@fff87b0`` is present in the devicetree.
20-
* For the lowest sleep power consumption, use a 32 KHz crystal.
21-
* The **P9** port cannot be used with internal or external pull-down resistors.
22-
* For optimal performance, the output impedance of the **P6** and **P7** ports should match the PCB and external device pin impedance.
23-
* Use one of the following power supply options:
19+
* The DC/DC inductor must be present on the PCB for any of the supported power schemes.
20+
Use one of the following power supply options:
2421

2522
* VDDH higher than 2.05V.
2623
* VDDH shorted to VDD at 1.8V
2724

25+
* For the lowest sleep power consumption, use a 32 KHz crystal.
26+
* The **P9** port cannot be used with internal or external pull-down resistors.
27+
* For optimal performance, the output impedance of the **P6** and **P7** ports should match the PCB and external device pin impedance.
28+
2829
Prepare the configuration files for your custom board in the |NCS|
2930
******************************************************************
3031

31-
The nRF54H20 DK uses multiple board files for its configuration.
32-
You can use these files as a starting point for configuring your own custom board.
33-
When creating a :ref:`Zephyr repository application <zephyr:zephyr-repo-app>`, copy the files from :file:`sdk-zephyr/boards/nordic/nrf54h20dk` to the :file:`sdk-zephyr/boards/<your_vendor_prefix>/<your_custom_board_name>` file.
32+
Use the `nRF Connect for VS Code Extension Pack`_ to generate a custom board skeleton.
3433

35-
You must edit the :file:`.dts` and :file:`.overlay` files for your project to match your board configuration, similarly to any new board added to the |NCS| or Zephyr.
34+
Use the nRF54H20 DK board files found in :file:`sdk-zephyr/boards/nordic/nrf54h20dk` as a reference point for configuring your own custom board.
3635

3736
See the following documentation pages for more information:
3837

@@ -60,16 +59,16 @@ The power and clock control firmware uses this information to apply the proper r
6059

6160
BICR allows for the configuration of various components on your custom board, like the following:
6261

63-
* Power rails
64-
* Low-frequency oscillator
62+
* Power scheme
63+
* Low-frequency oscillator (LFXO or LFRC)
6564
* High-frequency oscillator (HFXO)
6665
* GPIO ports power and drive control
6766
* Tamper switches
6867
* Active shield channels
6968

70-
You can find the details in the DTS specification for the BICR in :file:`sdk-zephyr/dts/bindings/misc/nordic,nrf-bicr.yaml`
69+
You can find the details in the BICR configuration file scheme in :file:`sdk-zephyr/soc/nordic/nrf54h/bicr/bicr-schema.json`.
7170

72-
When not set, the registers' default value is ``0xFFFFFFFF``.
71+
When the BICR has not been programmed, all the registers contain ``0xFFFFFFFF``.
7372

7473
The ``LFOSC.LFXOCAL`` register is used by the device to store the calibration of the LFXO.
7574

@@ -81,25 +80,23 @@ Each subsequent start will use this initial calibration as the starting point.
8180
BICR configuration
8281
==================
8382

84-
The nRF54H20 DK BICR configuration can be found in the board configuration directory as :file:`sdk-zephyr/boards/nordic/nrf54h20dk/nrf54h20dk_bicr.dtsi`.
83+
The nRF54H20 DK BICR configuration can be found in the board configuration directory as :file:`sdk-zephyr/boards/nordic/nrf54h20dk/bicr.json`.
8584
This file is used by the |NCS| build system to generate a corresponding HEX file.
86-
You can start from this file when editing the values of the devicetree properties inside your custom board folder (:file:`boards/nordic/your_custom_board`), according to your board configuration.
85+
The scheme for this file can be found in :file:`sdk-zephyr/soc/nordic/nrf54h/bicr/bicr-schema.json`.
8786

8887
.. caution::
8988
A mismatch between the board and the configuration values in BICR can damage the device or set it in an unrecoverable state.
9089

9190
Generate the BICR binary
9291
========================
9392

94-
To generate the BICR binary, you must first set the Kconfig option :kconfig:option:`CONFIG_NRF_REGTOOL_GENERATE_BICR` to ``y``.
95-
When running ``west build``, the build system then creates the relevant HEX file (:file:`bicr.hex`) at build time.
96-
Based on the peripheral definition extracted from the nRF54H20 SVD file, the modified registers from the configuration are mapped into their relevant position in memory.
93+
To generate the BICR binary, you must first set the Kconfig option :kconfig:option:`CONFIG_SOC_NRF54H20_GENERATE_BICR` to ``y``.
94+
When running ``west build`` for the ``cpuapp`` core, the build system creates the relevant HEX file (:file:`bicr.hex`) at build time.
9795

9896
.. note::
99-
If the build system cannot locate the ``bicr`` node inside your custom board's devicetree, or if you did not create a custom :file:`.dtsi` file for it, the BICR generation cannot progress, and the build system will skip it.
97+
If the build system is unable to locate the :file:`bicr.json` file inside your custom board's directory, the build system will skip it.
10098

101-
You can find the generated :file:`bicr.hex` file in the :file:`build_dir/zephyr/`.
102-
The presence of a ``bicr`` node in the application devicetree will automatically trigger a build of the BICR binary, and will place this file alongside the other binary outputs such as ``zephyr.hex`` and ``uicr.hex``.
99+
You can find the generated :file:`bicr.hex` file in the :file:`build_dir/<sample>/zephyr/`.
103100

104101
Program the BICR binary
105102
=======================

0 commit comments

Comments
 (0)