enable coexistence between Wi-Fi & BLE on thingy91x

Hello,

I am trying to find a solution how to use wifi and ble on thingy91x and manage the coexistence between them, I have found a sample Wi-Fi: Bluetooth LE coexistence but when I try to build it in nrf5340 SoC I got some errors (for example he doesn't recognize wifi or RAM overflowed) but I have added wifi node to my overlay but I get RAM overflowed.

The question is whether this sample supports thingy91x or not. If not, can you provide a solution to manage it? There are not many documents about thingy91x.

Best Regards

Terminal output :

[327/332] Linking C executable zephyr/zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /home/youssef/git/ble/build/mcuboot/zephyr/zephyr_pre0.map 
: && ccache /home/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc  -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf  zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj  -fuse-ld=bfd  -T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map=/home/youssef/git/ble/build/mcuboot/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/libarch__arm__core.a  zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a  zephyr/arch/arch/arm/core/cortex_m/cmse/libarch__arm__core__cortex_m__cmse.a  zephyr/lib/libc/minimal/liblib__libc__minimal.a  zephyr/lib/libc/common/liblib__libc__common.a  zephyr/soc/soc/nrf5340/libsoc__nordic.a  zephyr/boards/boards/arm/thingy91x/lib..__nrf__boards__nordic__thingy91x.a  zephyr/subsys/retention/libsubsys__retention.a  zephyr/drivers/usb/device/libdrivers__usb__device.a  zephyr/drivers/usb/common/nrf_usbd_common/libdrivers__usb__common__nrf_usbd_common.a  zephyr/drivers/clock_control/libdrivers__clock_control.a  zephyr/drivers/flash/libdrivers__flash.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/hwinfo/libdrivers__hwinfo.a  zephyr/drivers/pinctrl/libdrivers__pinctrl.a  zephyr/drivers/retained_mem/libdrivers__retained_mem.a  zephyr/drivers/serial/libdrivers__serial.a  zephyr/drivers/timer/libdrivers__timer.a  modules/nrf/lib/fprotect/lib..__nrf__lib__fprotect.a  modules/nrf/subsys/pcd/lib..__nrf__subsys__pcd.a  modules/nrf/subsys/fw_info/lib..__nrf__subsys__fw_info.a  modules/nrf/modules/mcuboot/hooks/lib..__nrf__modules__mcuboot__hooks.a  modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a  modules/mcuboot/boot/bootutil/zephyr/libmcuboot_util.a  modules/mbedtls/libmbedTLSBase.a  modules/mbedtls/libmbedTLSCrypto.a  modules/mbedtls/libmbedTLSX509.a  modules/mbedtls/libmodules__mbedtls.a  modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a  modules/segger/libmodules__segger.a  modules/zcbor/libmodules__zcbor.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -L"/home/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v8-m.main/nofp"  -L/home/youssef/git/ble/build/mcuboot/zephyr  -lgcc  zephyr/arch/common/libisr_tables.a  modules/mbedtls/libmbedTLSBase.a  modules/mbedtls/libmbedTLSCrypto.a  modules/mbedtls/libmbedTLSX509.a  -mcpu=cortex-m33  -mthumb  -mabi=aapcs  -mfp16-format=ieee  -Wl,--gc-sections  -Wl,--build-id=none  -Wl,--sort-common=descending  -Wl,--sort-section=alignment  -Wl,-u,_OffsetAbsSyms  -Wl,-u,_ConfigAbsSyms  -nostdlib  -static  -Wl,-X  -Wl,-N  -Wl,--orphan-handling=warn  -Wl,-no-pie  /home/youssef/git/nrfxlib/crypto/nrf_cc312_platform/lib/cortex-m33/soft-float/no-interrupts/libnrf_cc312_platform_0.9.19.a && cd /home/youssef/git/ble/build/mcuboot/zephyr && /usr/bin/cmake -E true
/home/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/zephyr_pre0.elf section `bss' will not fit in region `RAM'
/home/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: region `RAM' overflowed by 271248 bytes
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
[27/591] Generating include/generated/driver-validation.h
FAILED: modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-build mcuboot/zephyr/zephyr.hex mcuboot/zephyr/zephyr.elf /home/youssef/git/ble/build/modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-build /home/youssef/git/ble/build/mcuboot/zephyr/zephyr.hex /home/youssef/git/ble/build/mcuboot/zephyr/zephyr.elf 
cd /home/youssef/git/ble/build/mcuboot && /usr/bin/cmake --build . --
[29/591] Generating ../../tfm/CMakeCache.txt
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- 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/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Found Python3: /home/youssef/git/nrf/samples/wifi/ble_coex/env/bin/python3 (found version "3.10.12") found components: Interpreter 
-- Found Python3: /home/youssef/git/nrf/samples/wifi/ble_coex/env/bin/python3 (found suitable version "3.10.12", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/youssef/.cache/zephyr
-- Configuring done
-- Generating done
-- Build files have been written to: /home/youssef/git/ble/build/tfm
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /home/youssef/git/ble/build

.overlay :

/ {
    aliases {
        zephyr,wifi = &nordic_wlan0;
    };

    nordic_wlan0: nordic_wlan0 {
		compatible = "nordic,wlan0";
		status = "okay";
	};

    nrf700x: nrf7000@1 {
		compatible = "nordic,nrf700x-spi";
		status = "okay";
		reg = <1>;
		spi-max-frequency = <DT_FREQ_M(8)>;

		iovdd-ctrl-gpios = <&gpio0 27 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
		bucken-gpios = <&gpio0 28 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
		host-irq-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
	};

	nrf_radio_coex: nrf7002-coex {
		status = "okay";
		compatible = "nordic,nrf700x-coex";
		req-gpios =     <&gpio0 24 (GPIO_ACTIVE_HIGH)>;
		status0-gpios = <&gpio0 14 (GPIO_ACTIVE_HIGH)>;
		grant-gpios =   <&gpio0 25 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
  };
};

  • Hi Youssef,

    Do you use NCS v2.7.0? Can you check if you used correct Toolchain?

    Best regards,
    Dejan

  • Hi Dejan,

    I tried switching to v2.8.0, but I encountered an issue where the configurations for CONFIG_WIFI_NRF700x and CONFIG_WPA_SUPP were not found. Even with v2.9.0, the same problem persists.

    What I don't understand is how to properly use Wi-Fi in this context. Should I use the nRF5340 as the host or the nRF9151? When I attempted to understand the process of flashing Wi-Fi code to the nRF7002 chip, I found it confusing due to the limited documentation available.

    Could you please provide some guidance or information on this topic?

    Best regards,

    Youssef

  • Hi Youssef,

    Can you try to include SB_CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM into your configuration and build your application as secure build (without /ns) instead?

    Best regards,
    Dejan

  • Hi Dejan,

    When i build with nrf5340_cpuapp and i added  SB_CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM into my conf, i get this error

    -- Zephyr version: 3.6.99 (/home/youssef/git/zephyr), build: v3.6.99-ncs2
    [337/337] Linking C executable zephyr/zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:       65204 B      81408 B     80.10%
                 RAM:      304024 B       439 KB     67.63%
         RetainedMem:          0 GB         1 KB      0.00%
            IDT_LIST:          0 GB        32 KB      0.00%
    Generating files from /home/youssef/git/wifi_apps/ble_coex/build/mcuboot/zephyr/zephyr.elf for board: thingy91x
    [477/590] Generating ../../zephyr/net_core_app_update.bin
    image.py: sign the payload
    [483/590] Generating ../../zephyr/net_core_app_signed.hex
    image.py: sign the payload
    [485/590] Generating ../../zephyr/net_core_app_test_update.hex
    image.py: sign the payload
    [544/590] 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/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DCONFIG_NRF_WIFI_FW_BIN=/home/youssef/git/nrfxlib/nrf_wifi/fw_bins/default/nrf70.bin -DCONFIG_ZEPHYR -DEXT_API_MAGIC=0x281ee6de,0xb845acea,13570 -DFIRMWARE_INFO_MAGIC=0x281ee6de,0x8fcebb4c,13570 -DKERNEL -DK_HEAP_MEM_POOL_SIZE=200000 -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-want-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DNRF5340_XXAA_APPLICATION -DNRF_SKIP_FICR_NS_COPY_TO_RAM -DUSE_PARTITION_MANAGER=1 -DVALIDATION_INFO_MAGIC=0x281ee6de,0x86518483,79106 -DVALIDATION_POINTER_MAGIC=0x281ee6de,0x6919b47e,79106 -D_ANSI_SOURCE -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/home/youssef/git/zephyr/include -I/home/youssef/git/wifi_apps/ble_coex/build/zephyr/include/generated -I/home/youssef/git/zephyr/soc/nordic -I/home/youssef/git/zephyr/lib/libc/newlib/include -I/home/youssef/git/zephyr/include/zephyr/posix -I/home/youssef/git/zephyr/soc/nordic/nrf53/. -I/home/youssef/git/zephyr/soc/nordic/common/. -I/home/youssef/git/zephyr/subsys/bluetooth -I/home/youssef/git/zephyr/subsys/net/l2 -I/home/youssef/git/nrf/include -I/home/youssef/git/nrf/modules/hostap/src -I/home/youssef/git/nrf/modules/hostap/../../../modules/lib/hostap -I/home/youssef/git/nrf/modules/hostap/../../../modules/lib/hostap/wpa_supplicant -I/home/youssef/git/nrf/modules/hostap/../../../modules/lib/hostap/src -I/home/youssef/git/nrf/drivers/wifi/nrf700x/inc -I/home/youssef/git/nrfxlib/nrf_wifi/utils/inc -I/home/youssef/git/nrfxlib/nrf_wifi/os_if/inc -I/home/youssef/git/nrfxlib/nrf_wifi/bus_if/bus/qspi/inc -I/home/youssef/git/nrfxlib/nrf_wifi/bus_if/bal/inc -I/home/youssef/git/nrfxlib/nrf_wifi/fw_if/umac_if/inc -I/home/youssef/git/nrfxlib/nrf_wifi/fw_load/mips/fw/inc -I/home/youssef/git/nrfxlib/nrf_wifi/hw_if/hal/inc -I/home/youssef/git/nrf/drivers/wifi/nrf700x/src/qspi/inc -I/home/youssef/git/zephyr/subsys/net/ip -I/home/youssef/git/nrfxlib/nrf_wifi/hw_if/hal/inc/fw -I/home/youssef/git/nrfxlib/nrf_wifi/fw_if/umac_if/inc/fw -I/home/youssef/git/nrfxlib/nrf_wifi/fw_if/umac_if/inc/default -I/home/youssef/git/nrf/tests/include -I/home/youssef/git/modules/hal/cmsis/CMSIS/Core/Include -I/home/youssef/git/zephyr/modules/cmsis/. -I/home/youssef/git/modules/hal/nordic/nrfx -I/home/youssef/git/modules/hal/nordic/nrfx/drivers/include -I/home/youssef/git/modules/hal/nordic/nrfx/mdk -I/home/youssef/git/zephyr/modules/hal_nordic/nrfx/. -I/home/youssef/git/wifi_apps/ble_coex/build/modules/libmetal/libmetal/lib/include -I/home/youssef/git/modules/lib/open-amp/open-amp/lib/include -I/home/youssef/git/modules/debug/segger/SEGGER -I/home/youssef/git/modules/debug/segger/Config -I/home/youssef/git/modules/crypto/tinycrypt/lib/include -I/home/youssef/git/wifi_apps/ble_coex/build/modules/nrf/subsys/nrf_security/src/include/generated -I/home/youssef/git/nrf/subsys/nrf_security/include -I/home/youssef/git/modules/crypto/oberon-psa-crypto/include -I/home/youssef/git/modules/crypto/oberon-psa-crypto/library -I/home/youssef/git/modules/crypto/mbedtls/library -I/home/youssef/git/modules/crypto/mbedtls/include -I/home/youssef/git/modules/crypto/mbedtls/include/library -I/home/youssef/git/nrfxlib/crypto/nrf_oberon/include -I/home/youssef/git/nrfxlib/crypto/nrf_oberon/include/mbedtls -I/home/youssef/git/modules/crypto/oberon-psa-crypto/oberon/drivers -I/home/youssef/git/nrfxlib/softdevice_controller/include -isystem /home/youssef/git/zephyr/lib/libc/common/include -isystem /home/youssef/git/nrfxlib/crypto/nrf_cc312_platform/include -fno-strict-aliasing -Os -imacros /home/youssef/git/wifi_apps/ble_coex/build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/youssef/zephyr-sdk-0.17.0/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/youssef/git/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -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/youssef/git/wifi_apps/ble_coex=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/youssef/git/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/youssef/git=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/youssef/git/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c
    In file included from /home/youssef/git/zephyr/include/zephyr/toolchain/gcc.h:98,
                     from /home/youssef/git/zephyr/include/zephyr/toolchain.h:50,
                     from /home/youssef/git/zephyr/include/zephyr/kernel_includes.h:23,
                     from /home/youssef/git/zephyr/include/zephyr/kernel.h:17,
                     from /home/youssef/git/nrf/drivers/wifi/nrf700x/src/qspi/src/rpu_hw_if.c:15:
    /home/youssef/git/zephyr/include/zephyr/device.h:91:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/youssef/git/zephyr/include/zephyr/device.h:91:33: note: in expansion of macro '_CONCAT'
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:228:37: note: in expansion of macro 'DEVICE_NAME_GET'
      228 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:245:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      245 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:333:25: note: in expansion of macro 'DEVICE_DT_GET'
      333 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/arch/arm/arch.h:20,
                     from /home/youssef/git/zephyr/include/zephyr/arch/cpu.h:19,
                     from /home/youssef/git/zephyr/include/zephyr/kernel_includes.h:36:
    /home/youssef/git/zephyr/include/zephyr/devicetree.h:200:36: error: 'DT_N_NODELABEL_nrf700x_P_host_irq_gpios_IDX_0_VAL_pin' undeclared here (not in a function); did you mean 'DT_N_S_nrf7002_coex_P_req_gpios_IDX_0_VAL_pin'?
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/devicetree.h:4543:9: note: in definition of macro 'DT_CAT7'
     4543 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/youssef/git/zephyr/include/zephyr/devicetree/gpio.h:110:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      110 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:334:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      334 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/devicetree.h:200:29: note: in expansion of macro 'DT_CAT'
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/youssef/git/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/youssef/git/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/youssef/git/zephyr/include/zephyr/device.h:91:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_iovdd_ctrl_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/youssef/git/zephyr/include/zephyr/device.h:91:33: note: in expansion of macro '_CONCAT'
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:228:37: note: in expansion of macro 'DEVICE_NAME_GET'
      228 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:245:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      245 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:333:25: note: in expansion of macro 'DEVICE_DT_GET'
      333 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/devicetree.h:200:36: error: 'DT_N_NODELABEL_nrf700x_P_iovdd_ctrl_gpios_IDX_0_VAL_pin' undeclared here (not in a function)
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/devicetree.h:4543:9: note: in definition of macro 'DT_CAT7'
     4543 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/youssef/git/zephyr/include/zephyr/devicetree/gpio.h:110:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      110 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:334:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      334 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/devicetree.h:200:29: note: in expansion of macro 'DT_CAT'
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/youssef/git/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/youssef/git/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/youssef/git/zephyr/include/zephyr/device.h:91:41: error: '__device_dts_ord_DT_N_NODELABEL_nrf700x_P_bucken_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                         ^~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/toolchain/common.h:137:26: note: in definition of macro '_DO_CONCAT'
      137 | #define _DO_CONCAT(x, y) x ## y
          |                          ^
    /home/youssef/git/zephyr/include/zephyr/device.h:91:33: note: in expansion of macro '_CONCAT'
       91 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
          |                                 ^~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:228:37: note: in expansion of macro 'DEVICE_NAME_GET'
      228 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
          |                                     ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/device.h:245:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
      245 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
          |                                  ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:333:25: note: in expansion of macro 'DEVICE_DT_GET'
      333 |                 .port = DEVICE_DT_GET(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx)),\
          |                         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/devicetree.h:200:36: error: 'DT_N_NODELABEL_nrf700x_P_bucken_gpios_IDX_0_VAL_pin' undeclared here (not in a function)
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                                    ^~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/devicetree.h:4543:9: note: in definition of macro 'DT_CAT7'
     4543 |         a1 ## a2 ## a3 ## a4 ## a5 ## a6 ## a7
          |         ^~
    /home/youssef/git/zephyr/include/zephyr/devicetree/gpio.h:110:9: note: in expansion of macro 'DT_PHA_BY_IDX'
      110 |         DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
          |         ^~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:334:24: note: in expansion of macro 'DT_GPIO_PIN_BY_IDX'
      334 |                 .pin = DT_GPIO_PIN_BY_IDX(node_id, prop, idx),                 \
          |                        ^~~~~~~~~~~~~~~~~~
    /home/youssef/git/zephyr/include/zephyr/drivers/gpio.h:369:9: note: in expansion of macro 'GPIO_DT_SPEC_GET_BY_IDX'
      369 |         GPIO_DT_SPEC_GET_BY_IDX(node_id, prop, 0)
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    /home/youssef/git/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/youssef/git/zephyr/include/zephyr/devicetree.h:200:29: note: in expansion of macro 'DT_CAT'
      200 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/youssef/git/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/youssef/git/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);
          |                  ^~~~~~~~~~~~
    [560/590] Building C object modules/nrf/drivers/wifi/nrf700x/C...iles/..__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/youssef/git/wifi_apps/ble_coex/build
    

    Best regards,

    Youssef

  • Hi Youssef,

    I have not been able to reproduce your build error in any of the most recent NCS versions (v2.7.0, v2.8.0 and v2.9.0). It might be that you used the sample from NCS v2.7.0 but built it for NCS v2.8.0 or 2.9.0. If you want to build the sample successfully, you should start with the most recent NCS version 2.9.0 and build the sample without any modifications. 

    What you try to do on Thingy91X is currently not supported. It may or may not work, but please be aware that there have been many configuration changes from the NCS v2.7.0 to v2.8.0 or NCS v2.9.0. If you do not intend to use LTE, I strongly recommend that you use one of the supported platforms (here you can read about the requirements) such as nrf7002-dk

    Best regards,
    Dejan

Related