Skip to content

Commit fb0df5b

Browse files
annwojnordicjm
authored andcommitted
doc: thread: update nrfjprog commands
updated to nRF Util. Signed-off-by: Anna Wojdylo <[email protected]>
1 parent 773bdf7 commit fb0df5b

File tree

2 files changed

+47
-48
lines changed

2 files changed

+47
-48
lines changed

doc/nrf/includes/ieee802154_eui64_conf.txt

Lines changed: 0 additions & 47 deletions
This file was deleted.

doc/nrf/protocols/thread/configuring.rst

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,53 @@ For a list of all supported features in the |NCS|, see the :ref:`thread_ug_featu
153153
IEEE 802.15.4 EUI-64 configuration options
154154
==========================================
155155

156-
.. include:: ../../includes/ieee802154_eui64_conf.txt
156+
An IEEE EUI-64 address consists of two parts:
157+
158+
* Company ID - a 24-bit MA-L (MAC Address Block Large), formerly called OUI (Organizationally Unique Identifier)
159+
* Extension identifier - a 40-bit device unique identifier
160+
161+
You can configure the EUI-64 for a device in the following ways:
162+
163+
Use the default
164+
By default, the company ID is set to Nordic Semiconductor's MA-L (``f4-ce-36``).
165+
The extension identifier is set to the DEVICEID from the factory information configuration registers (FICR).
166+
167+
Replace the company ID
168+
You can enable :kconfig:option:`CONFIG_IEEE802154_VENDOR_OUI_ENABLE` to replace Nordic Semiconductor's company ID with your own company ID.
169+
Specify your company ID in :kconfig:option:`CONFIG_IEEE802154_VENDOR_OUI`.
170+
171+
The extension identifier is set to the default, namely the DEVICEID from FICR.
172+
173+
Replace the full EUI-64
174+
You can provide the full EUI-64 value by programming certain user information configuration registers (UICR).
175+
For nRF52 Series devices, the CUSTOMER registers block is used.
176+
For nRF53 Series devices, the OTP registers block is used.
177+
178+
To use the EUI-64 value from the UICR, enable :kconfig:option:`CONFIG_IEEE802154_NRF5_UICR_EUI64_ENABLE` and set :kconfig:option:`CONFIG_IEEE802154_NRF5_UICR_EUI64_REG` to the base of the two consecutive registers that contain your EUI-64 value.
179+
180+
The following example shows how to replace the full EUI-64 on an nRF52840 device:
181+
182+
1. Enable :kconfig:option:`CONFIG_IEEE802154_NRF5_UICR_EUI64_ENABLE`.
183+
#. Specify the offset for the UICR registers in :kconfig:option:`CONFIG_IEEE802154_NRF5_UICR_EUI64_REG`.
184+
This example uses UICR->CUSTOMER[0] and UICR->CUSTOMER[1], which means that you can keep the default value ``0``.
185+
#. Build and program your application erasing the whole memory (replace *serial_number* with the serial number of your debugger):
186+
187+
.. parsed-literal::
188+
:class: highlight
189+
190+
west build -b nrf52840dk/nrf52840 -p always
191+
west flash --snr *serial_number* --erase
192+
193+
#. Program the registers UICR->CUSTOMER[0] and UICR->CUSTOMER[1] with your EUI-64 value (replace *serial_number* with the serial number of your debugger):
194+
195+
.. parsed-literal::
196+
:class: highlight
197+
198+
nrfutil device x-write --serial-number *serial_number* --address 0x10001080 --value 0x11223344
199+
nrfutil device x-write --serial-number *serial_number* --address 0x10001084 --value 0x55667788
200+
nrfutil device reset --reset-kind=RESET_PIN
201+
202+
If you used a different value for :kconfig:option:`CONFIG_IEEE802154_NRF5_UICR_EUI64_REG`, you must use different register addresses.
157203

158204
At the end of the configuration process, you can check the EUI-64 value using OpenThread CLI:
159205

0 commit comments

Comments
 (0)