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)>;
  };
};

Related