You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_custom_pcb.rst
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -16,23 +16,22 @@ First, you need to create your PCB for the nRF54H20 SoC.
16
16
17
17
We highly recommend using the PCB layouts and component values provided by Nordic Semiconductor, especially for clock and power sources, considering the following limitations:
18
18
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:
24
21
25
22
* VDDH higher than 2.05V.
26
23
* VDDH shorted to VDD at 1.8V
27
24
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
+
28
29
Prepare the configuration files for your custom board in the |NCS|
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.
34
33
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.
36
35
37
36
See the following documentation pages for more information:
38
37
@@ -60,16 +59,16 @@ The power and clock control firmware uses this information to apply the proper r
60
59
61
60
BICR allows for the configuration of various components on your custom board, like the following:
62
61
63
-
* Power rails
64
-
* Low-frequency oscillator
62
+
* Power scheme
63
+
* Low-frequency oscillator (LFXO or LFRC)
65
64
* High-frequency oscillator (HFXO)
66
65
* GPIO ports power and drive control
67
66
* Tamper switches
68
67
* Active shield channels
69
68
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`.
71
70
72
-
When not set, the registers' default value is ``0xFFFFFFFF``.
71
+
When the BICR has not been programmed, all the registers contain ``0xFFFFFFFF``.
73
72
74
73
The ``LFOSC.LFXOCAL`` register is used by the device to store the calibration of the LFXO.
75
74
@@ -81,25 +80,23 @@ Each subsequent start will use this initial calibration as the starting point.
81
80
BICR configuration
82
81
==================
83
82
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`.
85
84
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`.
87
86
88
87
.. caution::
89
88
A mismatch between the board and the configuration values in BICR can damage the device or set it in an unrecoverable state.
90
89
91
90
Generate the BICR binary
92
91
========================
93
92
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.
97
95
98
96
.. 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.
100
98
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/`.
0 commit comments