Can't build MQTT sample for custom board with nrf52840 + nrf7002 via QSPI

Hi,

I'm trying to build the MQTT sample for a custom board, trying to communicate between nrf52840 and nrf7002 via QSPI. Here's my board definition:

my_board_nrf52840.zip

In the build configuration, I've obviously selected my_board_nrf52840, and then added two files to the "Base configuration files": the unaltered prj.conf, and the following attached nrf52840dk_nrf52840.conf file, which was sent to me by Runar in a previous question, to get the MQTT sample to build for the nrf52840DK + nrf7002EK shield combination:

3808.nrf52840dk_nrf52840.conf

Note I do NOT have the -DSHIELD="nrf7002ek" extra CMake argument. Side note... I have tried to build using that -DSHIELD argument; but I gave up on that approach because it feels tightly coupled to SPI, rather than QSPI.

I've tried many, many permutations of this build, and I consistently hit this error (or one very similar):

In file included from F:/NrfConnectSdk/v2.6.1/zephyr/include/zephyr/toolchain/gcc.h:98,
                 from F:/NrfConnectSdk/v2.6.1/zephyr/include/zephyr/toolchain.h:50,
                 from F:/NrfConnectSdk/v2.6.1/zephyr/include/zephyr/kernel_includes.h:23,
                 from F:/NrfConnectSdk/v2.6.1/zephyr/include/zephyr/kernel.h:17,
                 from F:/NrfConnectSdk/v2.6.1/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:15:
F:/NrfConnectSdk/v2.6.1/zephyr/include/zephyr/device.h:89:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
   89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)

Any help would be much appreciated.

Parents Reply Children
  • Thanks Marte,

    I tried for another hour today and I actually got it to build. It looks like I was missing two labels in my .dts file:

    nrf70_tx_power_ceiling: nrf700x-tx-power-ceiling {

    and:

    nrf700x: nrf700x-qspi@0 {

    The labels obviously being the symbol to the left of the colon on each line. It also seems that those labels need to be exactly those names ("nrf70_tx_power_ceiling", and "nrf700x"). Any other label results in a build error similar to the one in my original post above.

    I eventually discovered those labels by comparing my .dts with existing .dts and .overlay files in the SDK. But I would like to know, is there another way I could deduce what those labels need to be based on the contents of the project somehow?

    Thanks,

    Richard.

  • Hi Richard,

    The best way is to compare your devicetree file with the existing devicetree files as you did.

    Another option is to look at the build log and see the devicetree nodes the errors point towards. For example, if I build the MQTT sample with your board files and nrf52840dk_nrf52840.conf, I get the following build log:

     *  Executing task: nRF Connect: Generate config my_board_nrf52840 for nrf/samples/net/mqtt 
    
    Building mqtt
    west build --build-dir /home/marte/ncs/nrf/samples/net/mqtt/build /home/marte/ncs/nrf/samples/net/mqtt --pristine --board my_board_nrf52840 --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DEXTRA_CONF_FILE=boards/nrf52840dk_nrf52840.conf -DBOARD_ROOT=/home/marte/nordic
    
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/marte/ncs/nrf/samples/net/mqtt
    -- CMake version: 3.30.2
    -- Found Python3: /usr/bin/python3 (found suitable version "3.10.12", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/marte/.cache/zephyr
    -- Zephyr version: 3.5.99 (/home/marte/ncs/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: my_board_nrf52840
    -- Found host-tools: zephyr 0.16.5 (/home/marte/zephyr-sdk-0.16.5)
    -- Found toolchain: zephyr 0.16.5 (/home/marte/zephyr-sdk-0.16.5)
    -- Found Dtc: /home/marte/zephyr-sdk-0.16.5/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
    -- Found BOARD.dts: /home/marte/nordic/boards/arm/my_board_nrf52840/my_board_nrf52840.dts
    -- Generated zephyr.dts: /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/dts.cmake
    /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/zephyr.dts:53.25-58.5: Warning (unique_unit_address_if_enabled): /soc/clock@40000000: duplicate unit-address (also used in node /soc/power@40000000)
    /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/zephyr.dts:319.21-323.5: Warning (unique_unit_address_if_enabled): /soc/acl@4001e000: duplicate unit-address (also used in node /soc/flash-controller@4001e000)
    
    warning: Deprecated symbol GPIO_AS_PINRESET is enabled.
    
    
    warning: Experimental symbol WIFI_CREDENTIALS is enabled.
    
    
    warning: Experimental symbol WPA_SUPP is enabled.
    
    
    warning: Experimental symbol WIFI_NRF700X is enabled.
    
    
    warning: Experimental symbol NET_CONNECTION_MANAGER is enabled.
    
    Parsing /home/marte/ncs/nrf/samples/net/mqtt/Kconfig
    Loaded configuration '/home/marte/nordic/boards/arm/my_board_nrf52840/my_board_nrf52840_defconfig'
    Merged configuration '/home/marte/ncs/nrf/samples/net/mqtt/prj.conf'
    Merged configuration '/home/marte/ncs/nrf/samples/net/mqtt/boards/nrf52840dk_nrf52840.conf'
    Configuration saved to '/home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/.config'
    Kconfig header saved to '/home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: /home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: /home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
    -- Using ccache: /usr/bin/ccache
    CMake Warning at /home/marte/ncs/zephyr/CMakeLists.txt:862 (message):
      No SOURCES given to Zephyr library: drivers__led
    
      Excluding target from build.
    
    
    CMake Warning at /home/marte/ncs/zephyr/CMakeLists.txt:862 (message):
      No SOURCES given to Zephyr library: drivers__serial
    
      Excluding target from build.
    
    
    CMake Warning at /home/marte/ncs/zephyr/CMakeLists.txt:1957 (message):
      __ASSERT() statements are globally ENABLED
    
    
    -- Configuring done (3.8s)
    -- Generating done (0.2s)
    -- Build files have been written to: /home/marte/ncs/nrf/samples/net/mqtt/build
    -- west build: building application
    [1/472] Preparing syscall dependency handling
    
    [3/472] Generating include/generated/version.h
    -- Zephyr version: 3.5.99 (/home/marte/ncs/zephyr), build: v3.5.99-ncs1-1
    [447/472] Building C object modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/qspi/src/rpu_hw_if.c.obj
    FAILED: modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/qspi/src/rpu_hw_if.c.obj 
    ccache /home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DCONFIG_NRF_WIFI_FW_BIN=/home/marte/ncs/nrfxlib/nrf_wifi/fw_bins/default/nrf70.bin -DCONFIG_ZEPHYR -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-want-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DNRF52840_XXAA -DNRF52_ERRATA_215_ENABLE_WORKAROUND=0 -DNRF53_ERRATA_43_ENABLE_WORKAROUND=0 -D_ANSI_SOURCE -D_FORTIFY_SOURCE=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/home/marte/ncs/zephyr/include -I/home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated -I/home/marte/ncs/zephyr/soc/arm/nordic_nrf/nrf52 -I/home/marte/ncs/zephyr/lib/libc/newlib/include -I/home/marte/ncs/zephyr/lib/posix/getopt/. -I/home/marte/ncs/zephyr/soc/common/nordic_nrf/. -I/home/marte/ncs/zephyr/soc/arm/nordic_nrf/common/. -I/home/marte/ncs/zephyr/subsys/net/l2 -I/home/marte/ncs/zephyr/subsys/net/lib/dns/. -I/home/marte/ncs/zephyr/subsys/net/conn_mgr/. -I/home/marte/ncs/zephyr/subsys/settings/include -I/home/marte/ncs/nrf/include -I/home/marte/ncs/nrf/modules/hostap/src -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap/wpa_supplicant -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap/src -I/home/marte/ncs/nrf/drivers/wifi/nrf700x/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/utils/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/os_if/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/bus_if/bus/qspi/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/bus_if/bal/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_load/mips/fw/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/hw_if/hal/inc -I/home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/inc -I/home/marte/ncs/zephyr/subsys/net/ip -I/home/marte/ncs/nrfxlib/nrf_wifi/hw_if/hal/inc/fw -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc/fw -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc/default -I/home/marte/ncs/nrf/tests/include -I/home/marte/ncs/modules/hal/cmsis/CMSIS/Core/Include -I/home/marte/ncs/zephyr/modules/cmsis/. -I/home/marte/ncs/modules/hal/nordic/nrfx -I/home/marte/ncs/modules/hal/nordic/nrfx/drivers/include -I/home/marte/ncs/modules/hal/nordic/nrfx/mdk -I/home/marte/ncs/zephyr/modules/hal_nordic/nrfx/. -I/home/marte/ncs/modules/debug/segger/SEGGER -I/home/marte/ncs/modules/debug/segger/Config -I/home/marte/ncs/nrf/samples/net/mqtt/build/modules/nrf/subsys/nrf_security/src/include/generated -I/home/marte/ncs/nrf/subsys/nrf_security/include -I/home/marte/ncs/nrf/ext/oberon/psa/core/include -I/home/marte/ncs/nrf/ext/oberon/psa/core/library -I/home/marte/ncs/modules/crypto/mbedtls/include -I/home/marte/ncs/modules/crypto/mbedtls/library -I/home/marte/ncs/nrfxlib/crypto/nrf_oberon/include -I/home/marte/ncs/nrfxlib/crypto/nrf_oberon/include/mbedtls -I/home/marte/ncs/nrf/ext/oberon/psa/drivers -isystem /home/marte/ncs/zephyr/lib/libc/common/include -isystem /home/marte/ncs/nrfxlib/crypto/nrf_cc310_platform/include -fno-strict-aliasing -Os -imacros /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/marte/ncs/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/home/marte/ncs/nrf/samples/net/mqtt=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/marte/ncs/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/marte/ncs=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -D_POSIX_THREADS -std=c99 -MD -MT modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/qspi/src/rpu_hw_if.c.obj -MF modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/qspi/src/rpu_hw_if.c.obj.d -o modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/qspi/src/rpu_hw_if.c.obj -c /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c
    In file included from /home/marte/ncs/zephyr/include/zephyr/toolchain/gcc.h:98,
                     from /home/marte/ncs/zephyr/include/zephyr/toolchain.h:50,
                     from /home/marte/ncs/zephyr/include/zephyr/kernel_includes.h:23,
                     from /home/marte/ncs/zephyr/include/zephyr/kernel.h:17,
                     from /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:15:
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT'
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET'
      216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:331:25: note: in expansion of macro 'DEVICE_DT_GET'
      331 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:30:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       30 | GPIO_DT_SPEC_GET(NRF7002_NODE, host_irq_gpios);
          | ^~~~~~~~~~~~~~~~
    In file included from /home/marte/ncs/zephyr/include/zephyr/arch/arm/arch.h:20,
                     from /home/marte/ncs/zephyr/include/zephyr/arch/cpu.h:19,
                     from /home/marte/ncs/zephyr/include/zephyr/kernel_includes.h:37:
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_VAL_pin' undeclared here (not in a function)
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7'
     4352 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/marte/ncs/zephyr/include/zephyr/devicetree/gpio.h:164:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      164 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:332:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      332 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:30:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       30 | GPIO_DT_SPEC_GET(NRF7002_NODE, host_irq_gpios);
          | ^~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:27:22: note: in expansion of macro 'DT_NODELABEL'
       27 | #define NRF7002_NODE DT_NODELABEL(nrf700x)
          |                      ^~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:30:18: note: in expansion of macro 'NRF7002_NODE'
       30 | GPIO_DT_SPEC_GET(NRF7002_NODE, host_irq_gpios);
          |                  ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_iovdd_ctrl_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT'
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET'
      216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:331:25: note: in expansion of macro 'DEVICE_DT_GET'
      331 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:33:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       33 | GPIO_DT_SPEC_GET(NRF7002_NODE, iovdd_ctrl_gpios);
          | ^~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf700x_P_iovdd_ctrl_gpios_IDX_0_VAL_pin' undeclared here (not in a function)
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7'
     4352 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/marte/ncs/zephyr/include/zephyr/devicetree/gpio.h:164:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      164 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:332:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      332 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:33:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       33 | GPIO_DT_SPEC_GET(NRF7002_NODE, iovdd_ctrl_gpios);
          | ^~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:27:22: note: in expansion of macro 'DT_NODELABEL'
       27 | #define NRF7002_NODE DT_NODELABEL(nrf700x)
          |                      ^~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:33:18: note: in expansion of macro 'NRF7002_NODE'
       33 | GPIO_DT_SPEC_GET(NRF7002_NODE, iovdd_ctrl_gpios);
          |                  ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_bucken_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/marte/ncs/zephyr/include/zephyr/device.h:89:33: note: in expansion of macro '_CONCAT'
       89 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:216:37: note: in expansion of macro 'DEVICE_NAME_GET'
      216 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/device.h:233:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      233 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:331:25: note: in expansion of macro 'DEVICE_DT_GET'
      331 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:36:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       36 | GPIO_DT_SPEC_GET(NRF7002_NODE, bucken_gpios);
          | ^~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf700x_P_bucken_gpios_IDX_0_VAL_pin' undeclared here (not in a function)
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4352:9: note: in definition of macro 'DT_CAT7'
     4352 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/marte/ncs/zephyr/include/zephyr/devicetree/gpio.h:164:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      164 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:332:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      332 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/drivers/gpio.h:367:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      367 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:36:1: note: in expansion of macro 'GPIO_DT_SPEC_GET'
       36 | GPIO_DT_SPEC_GET(NRF7002_NODE, bucken_gpios);
          | ^~~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:27:22: note: in expansion of macro 'DT_NODELABEL'
       27 | #define NRF7002_NODE DT_NODELABEL(nrf700x)
          |                      ^~~~~~~~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:36:18: note: in expansion of macro 'NRF7002_NODE'
       36 | GPIO_DT_SPEC_GET(NRF7002_NODE, bucken_gpios);
          |                  ^~~~~~~~~~~~
    [459/472] Building C object modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/fmac_main.c.obj
    FAILED: modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/fmac_main.c.obj 
    ccache /home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DCONFIG_NRF_WIFI_FW_BIN=/home/marte/ncs/nrfxlib/nrf_wifi/fw_bins/default/nrf70.bin -DCONFIG_ZEPHYR -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-want-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DNRF52840_XXAA -DNRF52_ERRATA_215_ENABLE_WORKAROUND=0 -DNRF53_ERRATA_43_ENABLE_WORKAROUND=0 -D_ANSI_SOURCE -D_FORTIFY_SOURCE=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/home/marte/ncs/zephyr/include -I/home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated -I/home/marte/ncs/zephyr/soc/arm/nordic_nrf/nrf52 -I/home/marte/ncs/zephyr/lib/libc/newlib/include -I/home/marte/ncs/zephyr/lib/posix/getopt/. -I/home/marte/ncs/zephyr/soc/common/nordic_nrf/. -I/home/marte/ncs/zephyr/soc/arm/nordic_nrf/common/. -I/home/marte/ncs/zephyr/subsys/net/l2 -I/home/marte/ncs/zephyr/subsys/net/lib/dns/. -I/home/marte/ncs/zephyr/subsys/net/conn_mgr/. -I/home/marte/ncs/zephyr/subsys/settings/include -I/home/marte/ncs/nrf/include -I/home/marte/ncs/nrf/modules/hostap/src -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap/wpa_supplicant -I/home/marte/ncs/nrf/modules/hostap/../../../modules/lib/hostap/src -I/home/marte/ncs/nrf/drivers/wifi/nrf700x/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/utils/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/os_if/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/bus_if/bus/qspi/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/bus_if/bal/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_load/mips/fw/inc -I/home/marte/ncs/nrfxlib/nrf_wifi/hw_if/hal/inc -I/home/marte/ncs/nrf/drivers/wifi/nrf700x/src/qspi/inc -I/home/marte/ncs/zephyr/subsys/net/ip -I/home/marte/ncs/nrfxlib/nrf_wifi/hw_if/hal/inc/fw -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc/fw -I/home/marte/ncs/nrfxlib/nrf_wifi/fw_if/umac_if/inc/default -I/home/marte/ncs/nrf/tests/include -I/home/marte/ncs/modules/hal/cmsis/CMSIS/Core/Include -I/home/marte/ncs/zephyr/modules/cmsis/. -I/home/marte/ncs/modules/hal/nordic/nrfx -I/home/marte/ncs/modules/hal/nordic/nrfx/drivers/include -I/home/marte/ncs/modules/hal/nordic/nrfx/mdk -I/home/marte/ncs/zephyr/modules/hal_nordic/nrfx/. -I/home/marte/ncs/modules/debug/segger/SEGGER -I/home/marte/ncs/modules/debug/segger/Config -I/home/marte/ncs/nrf/samples/net/mqtt/build/modules/nrf/subsys/nrf_security/src/include/generated -I/home/marte/ncs/nrf/subsys/nrf_security/include -I/home/marte/ncs/nrf/ext/oberon/psa/core/include -I/home/marte/ncs/nrf/ext/oberon/psa/core/library -I/home/marte/ncs/modules/crypto/mbedtls/include -I/home/marte/ncs/modules/crypto/mbedtls/library -I/home/marte/ncs/nrfxlib/crypto/nrf_oberon/include -I/home/marte/ncs/nrfxlib/crypto/nrf_oberon/include/mbedtls -I/home/marte/ncs/nrf/ext/oberon/psa/drivers -isystem /home/marte/ncs/zephyr/lib/libc/common/include -isystem /home/marte/ncs/nrfxlib/crypto/nrf_cc310_platform/include -fno-strict-aliasing -Os -imacros /home/marte/ncs/nrf/samples/net/mqtt/build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/marte/zephyr-sdk-0.16.5/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/marte/ncs/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/home/marte/ncs/nrf/samples/net/mqtt=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/marte/ncs/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/marte/ncs=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -D_POSIX_THREADS -std=c99 -MD -MT modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/fmac_main.c.obj -MF modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/fmac_main.c.obj.d -o modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/fmac_main.c.obj -c /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c
    In file included from /home/marte/ncs/zephyr/include/zephyr/arch/arm/arch.h:20,
                     from /home/marte/ncs/zephyr/include/zephyr/arch/cpu.h:19,
                     from /home/marte/ncs/zephyr/include/zephyr/kernel_includes.h:37,
                     from /home/marte/ncs/zephyr/include/zephyr/kernel.h:17,
                     from /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:14:
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c: In function 'configure_tx_pwr_settings':
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_2g_dsss' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_2g_dsss'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:513:25: note: in expansion of macro 'DT_PROP'
      513 |                         DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_dsss);
          |                         ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:513:33: note: in expansion of macro 'DT_NODELABEL'
      513 |                         DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_dsss);
          |                                 ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: note: each undeclared identifier is reported only once for each function it appears in
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:513:25: note: in expansion of macro 'DT_PROP'
      513 |                         DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_dsss);
          |                         ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:513:33: note: in expansion of macro 'DT_NODELABEL'
      513 |                         DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_dsss);
          |                                 ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_2g_mcs7' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_2g_mcs7'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:516:17: note: in expansion of macro 'DT_PROP'
      516 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_mcs7);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:516:25: note: in expansion of macro 'DT_NODELABEL'
      516 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_mcs7);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_2g_mcs0' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_2g_mcs0'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:519:17: note: in expansion of macro 'DT_PROP'
      519 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_mcs0);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:519:25: note: in expansion of macro 'DT_NODELABEL'
      519 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_2g_mcs0);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_low_mcs7' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_low_mcs7'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:523:17: note: in expansion of macro 'DT_PROP'
      523 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_low_mcs7);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:523:25: note: in expansion of macro 'DT_NODELABEL'
      523 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_low_mcs7);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_mid_mcs7' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_mid_mcs7'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:526:17: note: in expansion of macro 'DT_PROP'
      526 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_mid_mcs7);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:526:25: note: in expansion of macro 'DT_NODELABEL'
      526 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_mid_mcs7);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_high_mcs7' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_high_mcs7'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:529:17: note: in expansion of macro 'DT_PROP'
      529 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_high_mcs7);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:529:25: note: in expansion of macro 'DT_NODELABEL'
      529 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_high_mcs7);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_low_mcs0' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_low_mcs0'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:532:17: note: in expansion of macro 'DT_PROP'
      532 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_low_mcs0);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:532:25: note: in expansion of macro 'DT_NODELABEL'
      532 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_low_mcs0);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_mid_mcs0' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_mid_mcs0'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:535:17: note: in expansion of macro 'DT_PROP'
      535 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_mid_mcs0);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:535:25: note: in expansion of macro 'DT_NODELABEL'
      535 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_mid_mcs0);
          |                         ^~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:36: error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_5g_high_mcs0' undeclared (first use in this function); did you mean 'DT_N_S_nrf700x_tx_power_ceiling_P_max_pwr_5g_high_mcs0'?
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:4343:29: note: in definition of macro 'DT_CAT3'
     4343 | #define DT_CAT3(a1, a2, a3) a1 ## a2 ## a3
          |                             ^~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:538:17: note: in expansion of macro 'DT_PROP'
      538 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_high_mcs0);
          |                 ^~~~~~~
    /home/marte/ncs/zephyr/include/zephyr/devicetree.h:198:29: note: in expansion of macro 'DT_CAT'
      198 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/marte/ncs/nrf/drivers/wifi/nrf700x/src/fmac_main.c:538:25: note: in expansion of macro 'DT_NODELABEL'
      538 |                 DT_PROP(DT_NODELABEL(nrf70_tx_power_ceiling), max_pwr_5g_high_mcs0);
          |                         ^~~~~~~~~~~~
    [460/472] Building C object modules/nrf/drivers/wifi/nrf700x/CMakeFiles/..__nrf__drivers__wifi__nrf700x.dir/src/wpa_supp_if.c.obj
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /home/marte/ncs/nrf/samples/net/mqtt/build
    
     *  The terminal process terminated with exit code: 1. 
     *  Terminal will be reused by tasks, press any key to close it. 
    

    The list of errors becomes very long, but a good tip when debugging devicetree errors is to look for errors on one of these two forms:

    'DT_N_NODELABEL_<nodelabel>' undeclared

    '__device_dts_ord_DT_N_NODELABEL_<nodelabel>' undeclared here

    For example:

    error: 'DT_N_NODELABEL_nrf70_tx_power_ceiling_P_max_pwr_2g_dsss' undeclared

    error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_PH_ORD' undeclared here

    This should give hints about which devicetree nodes there is an issue with. In the log above, you can find errors like this for host-irq-gpios, iovdd-ctrl-gpios, and bucken-gpios (which are parts of the nrf700x-qspi node) and for nrf700x-tx-power-ceiling. So that should tell you that you need to look more into these devicetree nodes.

    We have a lesson on Troubleshooting the devicetree in our nRF Connect SDK Intermediate course on DevAcademy, which I recommend reading through.

    Best regards,
    Marte

Related