Configuration file fields

nRF Util

tags
nRF Util

The configuration file uses JSON format and includes the fields listed in the following table. For values to use, you need to check the datasheet of the SoC you are working with (for example, for pins, see nRF54L15 pins, nRF5340 pins, or nRF52840 pins).

Field Description Required
firmware_config.peripheral Specifies the interface type: "QSPI", "SPIMnn", "EXMIF" (depending on the SoC; nn in "SPIMnn" is the instance number, for example SPIM0 or SPIM00) Yes
firmware_config.compress Enables compression of data transferred to or from the target device: true or false.

This field is not available for some nRF52 Series devices because of RAM requirements. It is available only on nRF52840, nRF52833, and nRF52832, in addition to nRF54L Series devices, nRF5340, and nRF54H20.
No (default: true)
pins.sck Clock pin number Yes
pins.csn Chip select pin number Yes
pins.io0 Data line 0 pin number Yes
pins.io1 Data line 1 pin number Yes
pins.io2 Data line 2 pin number Used optionally with SPIM/SPI - see below; 4294967295 value means that the pin is not used or is disabled
pins.io3 Data line 3 pin number Used optionally with SPIM/SPI - see below; 4294967295 value means that the pin is not used or is disabled
pins.io4 Data line 4 pin number Currently ignored - for future use with EXMIF on nRF54H20
pins.io5 Data line 5 pin number Currently ignored - for future use with EXMIF on nRF54H20
pins.io6 Data line 6 pin number Currently ignored - for future use with EXMIF on nRF54H20
pins.io7 Data line 7 pin number Currently ignored - for future use with EXMIF on nRF54H20
pins.read_write_data_strobe Read/Write data strobe pin Currently latched to high level if defined when using EXMIF on nRF54H20
pins.reset Reset pin Latched to high level if defined when using EXMIF on nRF54H20
flash_size Actual size of external memory, in bytes Yes
page_size Size of memory page in bytes: hardcoded to 4096 Yes
sck_frequency Clock frequency used on the SCK pin Yes
address_mode Addressing mode for memory: "MODE24BIT", "MODE32BIT" Yes
readoc Read operation code: "FASTREAD", "READ2O", "READ2IO", "READ4O", "READ4IO" QSPI only
writeoc Write operation code: "PP", "PP2O", "PP4O", "PP4IO" QSPI only
pp_size Page program size: "PPSIZE256", "PPSIZE512" QSPI only
sck_delay Clock delay in cycles: from 0 to 255 QSPI only
rx_delay Receive delay in cycles: from 0 to 7 QSPI only
io_pin_impedance Value written directly to the DRIVECTRL register EXMIF on nRF54H20 only

Tip

The decimal values for the required pins fields can be calculated based on the pin select bit numbers for the peripheral of the SoC you are using. The formula is:

pin number = port pin number + (32 * port number)

Check the device's register overview in the hardware documentation. For example, to define pins.sck to pin number 27 on port 1 for nRF52840 with QSPI, look at the PSEL.SCK bit number table: port is selected using bit 5 (B, set to 1), 27 is selected using corresponding bits A. Using the formula above (27 + (32 * 1)), you get the decimal value 59 as the result, which is the value for the configuration file.