nRF5340 Audio Dev Kit - Change Default I2S Pins

Hello,

I am developing a custom PCB for use with the nRF5340 and would like to change the default pin values of the I2S module on my nRF5340 Audio DK first in order to validate. I would like to start by moving BCLK to P0.19. 

Can you please help me understand how to do so?

Thank you!

Best,

Louie

  • Hello

    Zephyr uses a devicetree structure to keep track of hardware and peripherals. When building, a devicetree is generated based on different files in the SDK, this devicetree ends up in build/zephyr/zephyr.dts. I would recommend having a look at this devicetree file to get an idea what it looks like.

    In order to make changes to nodes in this devicetree you should make an overlay file and include it in your project. You can read about how to do that here:

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/dts/howtos.html#use-devicetree-overlays

    In your case you'll want to make changes to the i2s part of the pinctrl node to change which pins are used.

    I would also recommend going through our NCS fundamentals course if you're new to working with NCS/Zephyr:

    https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/

    Best regards,

    Einar

  • Hi Einar,

    Thanks for the support. 

    I've tried a number of things with your recommendations and I am not having any luck. I'm wondering if you could potentially point me in the right direction. 

    I created the following overlay file (nrf5340_audio_dk_nrf5340.overlay) at this path (C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec): 

    &i2s0_default {
    	group1 {
    		psels = <NRF_PSEL(NRF_FUN_I2S_SCK_M, 1, 12)>;
    	};
    };
    which yielded the following errors:

    PS C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog> python buildprog.py -c both -b debug -d headset --pristine -p --recover
    +------------+----------+---------+--------------+---------------------+---------------------+
    |    snr     | snr conn |  device | only reboot  | core app programmed | core net programmed |
    +------------+----------+---------+--------------+---------------------+---------------------+
    | 1050169241 |   True   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    | 1050135307 |  False   | gateway | Not selected |     Not selected    |     Not selected    |
    |    1000    |  False   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    +------------+----------+---------+--------------+---------------------+---------------------+
    Invoking build step
    Net core uses precompiled hex
    Run: west build C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec -b nrf5340_audio_dk_nrf5340_cpuapp -p -d C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug -DCONFIG_AUDIO_DEV=1
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec
    -- Using NCS Toolchain 2.2.0 for building. (C:/ncs/toolchains/v2.2.0/cmake)
    -- Found Python3: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.2.0/zephyr/.cache
    -- Zephyr version: 3.2.99 (C:/ncs/v2.2.0/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf5340_audio_dk_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/v2.2.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.2.0/nrf/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay
    devicetree error: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay:3 (column 56): parse error: expected number or parenthesized expression   
    -- In: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr, command: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe;C:/ncs/v2.2.0/zephyr/scripts/dts/gen_defines.py;--dts;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.pre;--dtc-flags;'-Wno-unique_unit_address_if_enabled';--bindings-dirs;C:/ncs/v2.2.0/nrf/dts/bindings;C:/ncs/v2.2.0/zephyr/dts/bindings;--header-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/include/generated/devicetree_generated.h.new;--dts-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.new;--edt-pickle-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/edt.pickle;--vendor-prefixes;C:/ncs/v2.2.0/nrf/dts/bindings/vendor-prefixes.txt;--vendor-prefixes;C:/ncs/v2.2.0/zephyr/dts/bindings/vendor-prefixes.txt
    CMake Error at C:/ncs/v2.2.0/zephyr/cmake/modules/dts.cmake:231 (message):
      gen_defines.py failed with return code: 1
    Call Stack (most recent call first):
      C:/ncs/v2.2.0/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
      C:/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      C:/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate) 
      CMakeLists.txt:44 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    ←[91mFATAL ERROR: command exited with status 1: 'C:\Users\elray\AppData\Local\Programs\Python\Python311\Scripts\cmake.EXE' '-DWEST_PYTHON=C:\Users\elray\AppData\Local\Programs\Python\Python311\python.exe' '-BC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug' -GNinja -DBOARD=nrf5340_audio_dk_nrf5340_cpuapp -DCONFIG_AUDIO_DEV=1 '-SC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec'
    ←[0mTraceback (most recent call last):
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 394, in <module>
        __main()
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 377, in __main
        __build_module(build_cfg, options)
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 146, in __build_module
        raise Exception("cmake error: " + str(ret_val))
    Exception: cmake error: 1

    I also tried

    &i2s0 {
    	status = "okay";
    	pinctrl-0 = <&i2s0_pins>;
    };
    
    i2s0_pins: i2s0_pins {
    	pins1 {
    		pinmux = <44>; // SCK - P1.12
    		bias-disable;
    	};
    };

    which yielded the following errors:

    python buildprog.py -c both -b debug -d headset --pristine -p --recovercodec\tools\buildprog>
    +------------+----------+---------+--------------+---------------------+---------------------+
    |    snr     | snr conn |  device | only reboot  | core app programmed | core net programmed |
    +------------+----------+---------+--------------+---------------------+---------------------+
    | 1050169241 |   True   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    | 1050135307 |  False   | gateway | Not selected |     Not selected    |     Not selected    |
    |    1000    |  False   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    +------------+----------+---------+--------------+---------------------+---------------------+
    Invoking build step
    Net core uses precompiled hex
    Run: west build C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec -b nrf5340_audio_dk_nrf5340_cpuapp -p -d C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug -DCONFIG_AUDIO_DEV=1
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec
    -- Using NCS Toolchain 2.2.0 for building. (C:/ncs/toolchains/v2.2.0/cmake)
    -- Found Python3: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.2.0/zephyr/.cache
    -- Zephyr version: 3.2.99 (C:/ncs/v2.2.0/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf5340_audio_dk_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/v2.2.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.2.0/nrf/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay
    devicetree error: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay:6 (column 12): parse error: expected label reference (&foo)
    -- In: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr, command: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe;C:/ncs/v2.2.0/zephyr/scripts/dts/gen_defines.py;--dts;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.pre;--dtc-flags;'-Wno-unique_unit_address_if_enabled';--bindings-dirs;C:/ncs/v2.2.0/nrf/dts/bindings;C:/ncs/v2.2.0/zephyr/dts/bindings;--header-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/include/generated/devicetree_generated.h.new;--dts-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.new;--edt-pickle-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/edt.pickle;--vendor-prefixes;C:/ncs/v2.2.0/nrf/dts/bindings/vendor-prefixes.txt;--vendor-prefixes;C:/ncs/v2.2.0/zephyr/dts/bindings/vendor-prefixes.txt
    CMake Error at C:/ncs/v2.2.0/zephyr/cmake/modules/dts.cmake:231 (message):
      gen_defines.py failed with return code: 1
    Call Stack (most recent call first):
      C:/ncs/v2.2.0/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
      C:/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      C:/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate) 
      CMakeLists.txt:44 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    ←[91mFATAL ERROR: command exited with status 1: 'C:\Users\elray\AppData\Local\Programs\Python\Python311\Scripts\cmake.EXE' '-DWEST_PYTHON=C:\Users\elray\AppData\Local\Programs\Python\Python311\python.exe' '-BC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug' -GNinja -DBOARD=nrf5340_audio_dk_nrf5340_cpuapp -DCONFIG_AUDIO_DEV=1 '-SC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec'
    ←[0mTraceback (most recent call last):
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 394, in <module>
        __main()
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 377, in __main
        __build_module(build_cfg, options)
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 146, in __build_module
        raise Exception("cmake error: " + str(ret_val))
    Exception: cmake error: 1

    I created these various attempts at overlay files using the information found at the following links: 

    Use devicetree overlays

    How to use Zephyr Pin Control (pinctrl) for pin multiplexing and configuration

    However, I am unsure of what the proper format of my overlay file should be, especially since the zephyr.dts file's i2s code  apparently has a different syntax than the above links'.

    I also added the following snippet of code to my CMakeLists.txt file per the recommendation of this link

    #
    # Copyright (c) 2022 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    
    set(DTC_OVERLAY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/nrf5340_audio_dk_nrf5340.overlay")
    
    cmake_minimum_required(VERSION 3.20.0)
    # ... Rest of the CMakeLists.txt contents

    Again, all I am trying to do is change the BCLK (or SCK as it is referred to in code) output to P1.12 (or any other unused pin) on my nRF5340 Audio Dev kit. 

    Thank you!

    Best,

    Louie

  • Hi

    Could you share what your generated zephyr.dts looks like when you use the first of those overlays?

    I suspect it might be supposed to look like this:

    &pinctrl {
        i2s0_default {
    	    group1 {
    	        psels = <NRF_PSEL(NRF_FUN_I2S_SCK_M, 1, 12)>;
            };
        };
    };

    Though I'm not entirely sure if the way you're doing it shouldn't also work, but you can always check if the devicetree was generated the way you expected with these types of errors.

    -Einar

  • Hi Einar,

    Thanks for the response!

    When I use the following overlay

    &i2s0_default {
    	group1 {
    		psels = <NRF_PSEL(NRF_FUN_I2S_SCK_M, 1, 12)>;
    	};
    };

    the following zephyr.dts file is generated:

    /dts-v1/;
    
    / {
    	#address-cells = < 0x1 >;
    	#size-cells = < 0x1 >;
    	model = "Nordic nRF5340 Audio DK NRF5340 Application";
    	compatible = "nordic,nrf5340-audio-dk-nrf5340-cpuapp";
    	chosen {
    		zephyr,entropy = &cryptocell;
    		zephyr,flash-controller = &flash_controller;
    		zephyr,console = &uart0;
    		zephyr,shell-uart = &uart0;
    		zephyr,uart-mcumgr = &uart0;
    		zephyr,bt-mon-uart = &uart0;
    		zephyr,bt-c2h-uart = &uart0;
    		zephyr,bt-hci-rpmsg-ipc = &ipc0;
    		zephyr,ipc_shm = &sram0_shared;
    		zephyr,sram = &sram0_image;
    		zephyr,flash = &flash0;
    		zephyr,code-partition = &slot0_partition;
    		zephyr,sram-secure-partition = &sram0_s;
    		zephyr,sram-non-secure-partition = &sram0_ns;
    	};
    	aliases {
    		led0 = &rgb1_red;
    		led1 = &rgb1_green;
    		led2 = &rgb1_blue;
    		led3 = &rgb2_red;
    		led4 = &rgb2_green;
    		led5 = &rgb2_blue;
    		led6 = &led1_blue;
    		led7 = &led2_green;
    		led8 = &led3_green;
    		sw0 = &button_1_vol_dn;
    		sw1 = &button_2_vol_up;
    		sw2 = &button3;
    		sw3 = &button4;
    		sw4 = &button5;
    		mcuboot-led0 = &led1_blue;
    		mcuboot-button0 = &button3;
    	};
    	soc {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		compatible = "nordic,nRF5340-CPUAPP-QKAA", "nordic,nRF5340-CPUAPP", "nordic,nRF53", "simple-bus";
    		interrupt-parent = < &nvic >;
    		ranges;
    		nvic: interrupt-controller@e000e100 {
    			#address-cells = < 0x1 >;
    			compatible = "arm,v8m-nvic";
    			reg = < 0xe000e100 0xc00 >;
    			interrupt-controller;
    			#interrupt-cells = < 0x2 >;
    			arm,num-irq-priority-bits = < 0x3 >;
    			phandle = < 0x1 >;
    		};
    		systick: timer@e000e010 {
    			compatible = "arm,armv8m-systick";
    			reg = < 0xe000e010 0x10 >;
    			status = "disabled";
    		};
    		ficr: ficr@ff0000 {
    			compatible = "nordic,nrf-ficr";
    			reg = < 0xff0000 0x1000 >;
    			status = "okay";
    		};
    		uicr: uicr@ff8000 {
    			compatible = "nordic,nrf-uicr";
    			reg = < 0xff8000 0x1000 >;
    			status = "okay";
    		};
    		sram0: memory@20000000 {
    			compatible = "mmio-sram";
    			reg = < 0x20000000 0x80000 >;
    		};
    		peripheral@50000000 {
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			ranges = < 0x0 0x50000000 0x10000000 >;
    			dcnf: dcnf@0 {
    				compatible = "nordic,nrf-dcnf";
    				reg = < 0x0 0x1000 >;
    				status = "okay";
    			};
    			oscillators: oscillator@4000 {
    				compatible = "nordic,nrf-oscillators";
    				reg = < 0x4000 0x1000 >;
    				status = "okay";
    			};
    			regulators: regulator@4000 {
    				compatible = "nordic,nrf-regulators";
    				reg = < 0x4000 0x1000 >;
    				status = "okay";
    			};
    			clock: clock@5000 {
    				compatible = "nordic,nrf-clock";
    				reg = < 0x5000 0x1000 >;
    				interrupts = < 0x5 0x1 >;
    				status = "okay";
    			};
    			power: power@5000 {
    				compatible = "nordic,nrf-power";
    				reg = < 0x5000 0x1000 >;
    				interrupts = < 0x5 0x1 >;
    				status = "okay";
    			};
    			reset: reset-controller@5000 {
    				compatible = "nordic,nrf-reset";
    				reg = < 0x5000 0x1000 >;
    				status = "okay";
    			};
    			ctrlap: ctrlap@6000 {
    				compatible = "nordic,nrf-ctrlapperi";
    				reg = < 0x6000 0x1000 >;
    				status = "okay";
    			};
    			i2c0: i2c@8000 {
    				compatible = "nordic,nrf-twim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x8000 0x1000 >;
    				clock-frequency = < 0x186a0 >;
    				interrupts = < 0x8 0x1 >;
    				status = "disabled";
    			};
    			spi0: spi@8000 {
    				compatible = "nordic,nrf-spim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x8000 0x1000 >;
    				interrupts = < 0x8 0x1 >;
    				max-frequency = < 0x7a1200 >;
    				status = "disabled";
    			};
    			uart0: uart@8000 {
    				compatible = "nordic,nrf-uarte";
    				reg = < 0x8000 0x1000 >;
    				interrupts = < 0x8 0x1 >;
    				status = "okay";
    				current-speed = < 0x1c200 >;
    				pinctrl-0 = < &uart0_default >;
    				pinctrl-1 = < &uart0_sleep >;
    				pinctrl-names = "default", "sleep";
    			};
    			i2c1: i2c@9000 {
    				compatible = "nordic,nrf-twim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x9000 0x1000 >;
    				clock-frequency = < 0x186a0 >;
    				interrupts = < 0x9 0x1 >;
    				status = "okay";
    				pinctrl-0 = < &i2c1_default >;
    				pinctrl-1 = < &i2c1_sleep >;
    				pinctrl-names = "default", "sleep";
    			};
    			spi1: spi@9000 {
    				compatible = "nordic,nrf-spim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x9000 0x1000 >;
    				interrupts = < 0x9 0x1 >;
    				max-frequency = < 0x7a1200 >;
    				status = "disabled";
    			};
    			uart1: uart@9000 {
    				compatible = "nordic,nrf-uarte";
    				reg = < 0x9000 0x1000 >;
    				interrupts = < 0x9 0x1 >;
    				status = "disabled";
    			};
    			spi4: spi@a000 {
    				compatible = "nordic,nrf-spim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0xa000 0x1000 >;
    				interrupts = < 0xa 0x1 >;
    				max-frequency = < 0x1e84800 >;
    				rx-delay-supported;
    				rx-delay = < 0x2 >;
    				status = "okay";
    				cs-gpios = < &gpio0 0xb 0x1 >, < &gpio0 0x11 0x1 >;
    				pinctrl-0 = < &spi4_default >;
    				pinctrl-1 = < &spi4_sleep >;
    				pinctrl-names = "default", "sleep";
    				sdhc0: sdhc@0 {
    					compatible = "zephyr,sdhc-spi-slot";
    					reg = < 0x0 >;
    					status = "okay";
    					spi-max-frequency = < 0x7a1200 >;
    					mmc {
    						compatible = "zephyr,sdmmc-disk";
    						status = "okay";
    					};
    				};
    				cs47l63: cs47l63@1 {
    					reg = < 0x1 >;
    				};
    			};
    			i2c2: i2c@b000 {
    				compatible = "nordic,nrf-twim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0xb000 0x1000 >;
    				clock-frequency = < 0x186a0 >;
    				interrupts = < 0xb 0x1 >;
    				status = "disabled";
    			};
    			spi2: spi@b000 {
    				compatible = "nordic,nrf-spim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0xb000 0x1000 >;
    				interrupts = < 0xb 0x1 >;
    				max-frequency = < 0x7a1200 >;
    				status = "disabled";
    			};
    			uart2: uart@b000 {
    				compatible = "nordic,nrf-uarte";
    				reg = < 0xb000 0x1000 >;
    				interrupts = < 0xb 0x1 >;
    				status = "disabled";
    			};
    			i2c3: i2c@c000 {
    				compatible = "nordic,nrf-twim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0xc000 0x1000 >;
    				clock-frequency = < 0x186a0 >;
    				interrupts = < 0xc 0x1 >;
    				status = "disabled";
    			};
    			spi3: spi@c000 {
    				compatible = "nordic,nrf-spim";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0xc000 0x1000 >;
    				interrupts = < 0xc 0x1 >;
    				max-frequency = < 0x7a1200 >;
    				status = "disabled";
    			};
    			uart3: uart@c000 {
    				compatible = "nordic,nrf-uarte";
    				reg = < 0xc000 0x1000 >;
    				interrupts = < 0xc 0x1 >;
    				status = "disabled";
    			};
    			adc: adc@e000 {
    				compatible = "nordic,nrf-saadc";
    				reg = < 0xe000 0x1000 >;
    				interrupts = < 0xe 0x1 >;
    				status = "okay";
    				#io-channel-cells = < 0x1 >;
    			};
    			timer0: timer@f000 {
    				compatible = "nordic,nrf-timer";
    				status = "okay";
    				reg = < 0xf000 0x1000 >;
    				cc-num = < 0x6 >;
    				interrupts = < 0xf 0x1 >;
    				prescaler = < 0x0 >;
    			};
    			timer1: timer@10000 {
    				compatible = "nordic,nrf-timer";
    				status = "okay";
    				reg = < 0x10000 0x1000 >;
    				cc-num = < 0x6 >;
    				interrupts = < 0x10 0x1 >;
    				prescaler = < 0x0 >;
    			};
    			timer2: timer@11000 {
    				compatible = "nordic,nrf-timer";
    				status = "okay";
    				reg = < 0x11000 0x1000 >;
    				cc-num = < 0x6 >;
    				interrupts = < 0x11 0x1 >;
    				prescaler = < 0x0 >;
    			};
    			rtc0: rtc@14000 {
    				compatible = "nordic,nrf-rtc";
    				reg = < 0x14000 0x1000 >;
    				cc-num = < 0x4 >;
    				interrupts = < 0x14 0x1 >;
    				status = "okay";
    				clock-frequency = < 0x8000 >;
    				prescaler = < 0x1 >;
    			};
    			rtc1: rtc@15000 {
    				compatible = "nordic,nrf-rtc";
    				reg = < 0x15000 0x1000 >;
    				cc-num = < 0x4 >;
    				interrupts = < 0x15 0x1 >;
    				status = "okay";
    				clock-frequency = < 0x8000 >;
    				prescaler = < 0x1 >;
    			};
    			dppic: dppic@17000 {
    				compatible = "nordic,nrf-dppic";
    				reg = < 0x17000 0x1000 >;
    				status = "okay";
    			};
    			wdt: wdt0: watchdog@18000 {
    				compatible = "nordic,nrf-wdt";
    				reg = < 0x18000 0x1000 >;
    				interrupts = < 0x18 0x1 >;
    				status = "okay";
    			};
    			wdt1: watchdog@19000 {
    				compatible = "nordic,nrf-wdt";
    				reg = < 0x19000 0x1000 >;
    				interrupts = < 0x19 0x1 >;
    				status = "disabled";
    			};
    			comp: comparator@1a000 {
    				compatible = "nordic,nrf-comp";
    				reg = < 0x1a000 0x1000 >;
    				interrupts = < 0x1a 0x1 >;
    				status = "disabled";
    				#io-channel-cells = < 0x1 >;
    			};
    			egu0: egu@1b000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x1b000 0x1000 >;
    				interrupts = < 0x1b 0x1 >;
    				status = "okay";
    			};
    			egu1: egu@1c000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x1c000 0x1000 >;
    				interrupts = < 0x1c 0x1 >;
    				status = "okay";
    			};
    			egu2: egu@1d000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x1d000 0x1000 >;
    				interrupts = < 0x1d 0x1 >;
    				status = "okay";
    			};
    			egu3: egu@1e000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x1e000 0x1000 >;
    				interrupts = < 0x1e 0x1 >;
    				status = "okay";
    			};
    			egu4: egu@1f000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x1f000 0x1000 >;
    				interrupts = < 0x1f 0x1 >;
    				status = "okay";
    			};
    			egu5: egu@20000 {
    				compatible = "nordic,nrf-egu";
    				reg = < 0x20000 0x1000 >;
    				interrupts = < 0x20 0x1 >;
    				status = "okay";
    			};
    			pwm0: pwm@21000 {
    				compatible = "nordic,nrf-pwm";
    				reg = < 0x21000 0x1000 >;
    				interrupts = < 0x21 0x1 >;
    				status = "okay";
    				#pwm-cells = < 0x3 >;
    			};
    			pwm1: pwm@22000 {
    				compatible = "nordic,nrf-pwm";
    				reg = < 0x22000 0x1000 >;
    				interrupts = < 0x22 0x1 >;
    				status = "disabled";
    				#pwm-cells = < 0x3 >;
    			};
    			pwm2: pwm@23000 {
    				compatible = "nordic,nrf-pwm";
    				reg = < 0x23000 0x1000 >;
    				interrupts = < 0x23 0x1 >;
    				status = "disabled";
    				#pwm-cells = < 0x3 >;
    			};
    			pwm3: pwm@24000 {
    				compatible = "nordic,nrf-pwm";
    				reg = < 0x24000 0x1000 >;
    				interrupts = < 0x24 0x1 >;
    				status = "disabled";
    				#pwm-cells = < 0x3 >;
    			};
    			pdm0: pdm@26000 {
    				compatible = "nordic,nrf-pdm";
    				reg = < 0x26000 0x1000 >;
    				interrupts = < 0x26 0x1 >;
    				status = "disabled";
    			};
    			i2s0: i2s@28000 {
    				compatible = "nordic,nrf-i2s";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x28000 0x1000 >;
    				interrupts = < 0x28 0x1 >;
    				status = "okay";
    				pinctrl-0 = < &i2s0_default >;
    				pinctrl-names = "default";
    			};
    			mbox: ipc: mbox@2a000 {
    				compatible = "nordic,mbox-nrf-ipc", "nordic,nrf-ipc";
    				reg = < 0x2a000 0x1000 >;
    				tx-mask = < 0xffff >;
    				rx-mask = < 0xffff >;
    				interrupts = < 0x2a 0x1 >;
    				#mbox-cells = < 0x1 >;
    				status = "okay";
    				phandle = < 0xb >;
    			};
    			qspi: qspi@2b000 {
    				compatible = "nordic,nrf-qspi";
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x0 >;
    				reg = < 0x2b000 0x1000 >, < 0x10000000 0x10000000 >;
    				reg-names = "qspi", "qspi_mm";
    				interrupts = < 0x2b 0x1 >;
    				status = "disabled";
    			};
    			nfct: nfct@2d000 {
    				compatible = "nordic,nrf-nfct";
    				reg = < 0x2d000 0x1000 >;
    				interrupts = < 0x2d 0x1 >;
    				status = "disabled";
    			};
    			mutex: mutex@30000 {
    				compatible = "nordic,nrf-mutex";
    				reg = < 0x30000 0x1000 >;
    				status = "okay";
    			};
    			qdec0: qdec@33000 {
    				compatible = "nordic,nrf-qdec";
    				reg = < 0x33000 0x1000 >;
    				interrupts = < 0x33 0x1 >;
    				status = "disabled";
    			};
    			qdec1: qdec@34000 {
    				compatible = "nordic,nrf-qdec";
    				reg = < 0x34000 0x1000 >;
    				interrupts = < 0x34 0x1 >;
    				status = "disabled";
    			};
    			usbd: zephyr_udc0: usbd@36000 {
    				compatible = "nordic,nrf-usbd";
    				reg = < 0x36000 0x1000 >;
    				interrupts = < 0x36 0x1 >;
    				num-bidir-endpoints = < 0x1 >;
    				num-in-endpoints = < 0x7 >;
    				num-out-endpoints = < 0x7 >;
    				num-isoin-endpoints = < 0x1 >;
    				num-isoout-endpoints = < 0x1 >;
    				status = "okay";
    				hs_0: hs_0 {
    					compatible = "usb-audio-hs";
    					mic-feature-mute;
    					mic-channel-l;
    					mic-channel-r;
    					hp-feature-mute;
    					hp-channel-l;
    					hp-channel-r;
    				};
    			};
    			usbreg: regulator@37000 {
    				compatible = "nordic,nrf-usbreg";
    				reg = < 0x37000 0x1000 >;
    				interrupts = < 0x37 0x1 >;
    				status = "okay";
    			};
    			flash_controller: flash-controller@39000 {
    				compatible = "nordic,nrf53-flash-controller";
    				reg = < 0x39000 0x1000 >;
    				partial-erase;
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x1 >;
    				flash0: flash@0 {
    					compatible = "soc-nv-flash";
    					erase-block-size = < 0x1000 >;
    					write-block-size = < 0x4 >;
    					reg = < 0x0 0x100000 >;
    					partitions {
    						compatible = "fixed-partitions";
    						#address-cells = < 0x1 >;
    						#size-cells = < 0x1 >;
    						boot_partition: partition@0 {
    							label = "mcuboot";
    							reg = < 0x0 0x10000 >;
    						};
    						slot0_partition: partition@10000 {
    							label = "image-0";
    							reg = < 0x10000 0x40000 >;
    						};
    						slot0_ns_partition: partition@50000 {
    							label = "image-0-nonsecure";
    							reg = < 0x50000 0x30000 >;
    						};
    						slot1_partition: partition@80000 {
    							label = "image-1";
    							reg = < 0x80000 0x40000 >;
    						};
    						slot1_ns_partition: partition@c0000 {
    							label = "image-1-nonsecure";
    							reg = < 0xc0000 0x30000 >;
    						};
    						scratch_partition: partition@f0000 {
    							label = "image-scratch";
    							reg = < 0xf0000 0xa000 >;
    						};
    						storage_partition: partition@fa000 {
    							label = "storage";
    							reg = < 0xfa000 0x6000 >;
    						};
    					};
    				};
    			};
    			kmu: kmu@39000 {
    				compatible = "nordic,nrf-kmu";
    				reg = < 0x39000 0x1000 >;
    				interrupts = < 0x39 0x1 >;
    				status = "okay";
    			};
    			vmc: vmc@81000 {
    				compatible = "nordic,nrf-vmc";
    				reg = < 0x81000 0x1000 >;
    				status = "okay";
    			};
    			gpio0: gpio@842500 {
    				compatible = "nordic,nrf-gpio";
    				gpio-controller;
    				reg = < 0x842500 0x300 >;
    				#gpio-cells = < 0x2 >;
    				status = "okay";
    				port = < 0x0 >;
    				phandle = < 0x6 >;
    			};
    			gpio1: gpio@842800 {
    				compatible = "nordic,nrf-gpio";
    				gpio-controller;
    				reg = < 0x842800 0x300 >;
    				#gpio-cells = < 0x2 >;
    				ngpios = < 0x10 >;
    				status = "okay";
    				port = < 0x1 >;
    				phandle = < 0xc >;
    			};
    			ieee802154: ieee802154 {
    				compatible = "nordic,nrf-ieee802154";
    			};
    		};
    		spu: spu@50003000 {
    			compatible = "nordic,nrf-spu";
    			reg = < 0x50003000 0x1000 >;
    			interrupts = < 0x3 0x1 >;
    			status = "okay";
    		};
    		gpiote: gpiote0: gpiote@5000d000 {
    			compatible = "nordic,nrf-gpiote";
    			reg = < 0x5000d000 0x1000 >;
    			interrupts = < 0xd 0x5 >;
    			status = "okay";
    		};
    		cryptocell: crypto@50844000 {
    			compatible = "nordic,nrf-cc312";
    			reg = < 0x50844000 0x1000 >;
    			status = "okay";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			cryptocell312: crypto@50845000 {
    				compatible = "arm,cryptocell-312";
    				reg = < 0x50845000 0x1000 >;
    				interrupts = < 0x44 0x1 >;
    			};
    		};
    		gpiote1: gpiote@4002f000 {
    			compatible = "nordic,nrf-gpiote";
    			reg = < 0x4002f000 0x1000 >;
    			interrupts = < 0x2f 0x5 >;
    			status = "disabled";
    		};
    	};
    	pinctrl: pin-controller {
    		compatible = "nordic,nrf-pinctrl";
    		i2s0_default: i2s0_default {
    			phandle = < 0x9 >;
    			group1 {
    				psels = < 0x13000c >;
    				nordic,drive-mode = < 0x3 >;
    			};
    			group2 {
    				psels = < 0xd000e >, < 0xf0010 >, < 0x12000d >, < 0x11000f >;
    			};
    		};
    		i2s0_sleep: i2s0_sleep {
    			group1 {
    				psels = < 0x13000c >, < 0xd000e >, < 0xf0010 >, < 0x12000d >, < 0x11000f >;
    				low-power-enable;
    			};
    		};
    		uart0_default: uart0_default {
    			phandle = < 0x2 >;
    			group1 {
    				psels = < 0x25 >, < 0x20027 >;
    			};
    			group2 {
    				psels = < 0x10024 >, < 0x30026 >;
    				bias-pull-up;
    			};
    		};
    		uart0_sleep: uart0_sleep {
    			phandle = < 0x3 >;
    			group1 {
    				psels = < 0x25 >, < 0x10024 >, < 0x20027 >, < 0x30026 >;
    				low-power-enable;
    			};
    		};
    		i2c1_default: i2c1_default {
    			phandle = < 0x4 >;
    			group1 {
    				psels = < 0xc0022 >, < 0xb0023 >;
    			};
    		};
    		i2c1_sleep: i2c1_sleep {
    			phandle = < 0x5 >;
    			group1 {
    				psels = < 0xc0022 >, < 0xb0023 >;
    				low-power-enable;
    			};
    		};
    		spi4_default: spi4_default {
    			phandle = < 0x7 >;
    			group1 {
    				psels = < 0x40008 >, < 0x50009 >;
    				nordic,drive-mode = < 0x3 >;
    			};
    			group2 {
    				psels = < 0x6000a >;
    			};
    		};
    		spi4_sleep: spi4_sleep {
    			phandle = < 0x8 >;
    			group1 {
    				psels = < 0x40008 >, < 0x6000a >, < 0x50009 >;
    				low-power-enable;
    			};
    		};
    	};
    	rng_hci: entropy_bt_hci {
    		compatible = "zephyr,bt-hci-entropy";
    		status = "okay";
    	};
    	cpus {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x0 >;
    		cpu0: cpu@0 {
    			device_type = "cpu";
    			compatible = "arm,cortex-m33f";
    			reg = < 0x0 >;
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			itm: itm@e0000000 {
    				compatible = "arm,armv8m-itm";
    				reg = < 0xe0000000 0x1000 >;
    				swo-ref-frequency = < 0x3d09000 >;
    			};
    			mpu: mpu@e000ed90 {
    				compatible = "arm,armv8m-mpu";
    				reg = < 0xe000ed90 0x40 >;
    				arm,num-mpu-regions = < 0x8 >;
    			};
    		};
    	};
    	ipc {
    		ipc0: ipc0 {
    			compatible = "zephyr,ipc-openamp-static-vrings";
    			memory-region = < &sram0_shared >;
    			mboxes = < &mbox 0x0 >, < &mbox 0x1 >;
    			mbox-names = "tx", "rx";
    			role = "host";
    			status = "okay";
    		};
    	};
    	gpio_fwd: nrf-gpio-forwarder {
    		compatible = "nordic,nrf-gpio-forwarder";
    		status = "okay";
    		uart {
    			gpios = < &gpio1 0x9 0x0 >, < &gpio1 0x8 0x0 >, < &gpio1 0xb 0x0 >, < &gpio1 0xa 0x0 >;
    		};
    		leds {
    			gpios = < &gpio0 0x1c 0x0 >, < &gpio0 0x1d 0x0 >, < &gpio0 0x1e 0x0 >;
    		};
    	};
    	reserved-memory {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		ranges;
    		sram0_image: image@20000000 {
    			reg = < 0x20000000 0x70000 >;
    		};
    		sram0_s: image_s@20000000 {
    			reg = < 0x20000000 0x40000 >;
    		};
    		sram0_ns: image_ns@20040000 {
    			reg = < 0x20040000 0x30000 >;
    		};
    		sram0_shared: memory@20070000 {
    			reg = < 0x20070000 0x10000 >;
    			phandle = < 0xa >;
    		};
    	};
    	leds: leds {
    		compatible = "gpio-leds";
    		rgb1_red: led_0 {
    			gpios = < &gpio0 0x7 0x0 >;
    			label = "0 LED_RGB_RED";
    		};
    		rgb1_green: led_1 {
    			gpios = < &gpio0 0x19 0x0 >;
    			label = "0 LED_RGB_GREEN";
    		};
    		rgb1_blue: led_2 {
    			gpios = < &gpio0 0x1a 0x0 >;
    			label = "0 LED_RGB_BLUE";
    		};
    		rgb2_red: led_3 {
    			gpios = < &gpio0 0x1c 0x0 >;
    			label = "1 LED_RGB_RED";
    		};
    		rgb2_green: led_4 {
    			gpios = < &gpio0 0x1d 0x0 >;
    			label = "1 LED_RGB_GREEN";
    		};
    		rgb2_blue: led_5 {
    			gpios = < &gpio0 0x1e 0x0 >;
    			label = "1 LED_RGB_BLUE";
    		};
    		led1_blue: led_6 {
    			gpios = < &gpio0 0x1f 0x0 >;
    			label = "2 LED_MONO_BLUE";
    		};
    		led2_green: led_7 {
    			gpios = < &gpio1 0x0 0x0 >;
    			label = "3 LED_MONO_GREEN";
    		};
    		led3_green: led_8 {
    			gpios = < &gpio1 0x1 0x0 >;
    			label = "4 LED_MONO_GREEN";
    		};
    	};
    	buttons {
    		compatible = "gpio-keys";
    		button_1_vol_dn: button_1_vol_dn {
    			gpios = < &gpio0 0x2 0x11 >;
    			label = "Push button 1";
    		};
    		button_2_vol_up: button_2_vol_up {
    			gpios = < &gpio0 0x3 0x11 >;
    			label = "Push button 2";
    		};
    		button3: button_3 {
    			gpios = < &gpio0 0x4 0x11 >;
    			label = "Push button 3";
    		};
    		button4: button_4 {
    			gpios = < &gpio0 0x6 0x11 >;
    			label = "Push button 4";
    		};
    		button5: button_5 {
    			gpios = < &gpio0 0x5 0x11 >;
    			label = "Push button 5";
    		};
    	};
    	nrf5340_audio_dk {
    		compatible = "gpio-keys";
    		hw_codec_gpio_in: hw_codec_gpio_in {
    			gpios = < &gpio0 0x14 0x1 >;
    			label = "GPIO from HW codec";
    		};
    		hw_codec_irq_in: hw_codec_irq_in {
    			gpios = < &gpio0 0x13 0x1 >;
    			label = "Interrupt from HW codec";
    		};
    		hw_codec_reset_out: hw_codec_reset_out {
    			gpios = < &gpio0 0x12 0x1 >;
    			label = "Reset HW codec";
    		};
    		hw_codec_sel_out: hw_codec_sel_out {
    			gpios = < &gpio0 0x15 0x1 >;
    			label = "HW codec selector. Low selects OB HW codec, high \t\t\t\t selects external HW codec";
    		};
    		spi_sel_in: spi_sel_in {
    			gpios = < &gpio0 0x16 0x1 >;
    			label = "SPI select in. High = nRF SPI to HW codec. \t\t\t\t Low = FTDI to HW codec";
    		};
    		pmic_iset_out: pmic_iset_out {
    			gpios = < &gpio0 0x17 0x0 >;
    			label = "PMIC ISET";
    		};
    		board_id_en_out: board_id_en_out {
    			gpios = < &gpio0 0x18 0x0 >;
    			label = "Board revision readback enable";
    		};
    		board_id_in: board_id_in {
    			gpios = < &gpio0 0x1b 0x0 >;
    			label = "Board revision analog readback";
    		};
    		curr_mon_alert_in: curr_mon_alert_in {
    			gpios = < &gpio1 0xf 0x1 >;
    			label = "Curr mon alert in from INA231";
    		};
    	};
    };
    

    Unfortunately, when I tried the code snippet you attached above for my overlay file, I received the following error:

    PS C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog> python buildprog.py -c both -b debug -d headset --pristine -p --recover
    +------------+----------+---------+--------------+---------------------+---------------------+
    |    snr     | snr conn |  device | only reboot  | core app programmed | core net programmed |
    +------------+----------+---------+--------------+---------------------+---------------------+
    | 1050169241 |   True   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    | 1050135307 |  False   | gateway | Not selected |     Not selected    |     Not selected    |
    |    1000    |  False   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    +------------+----------+---------+--------------+---------------------+---------------------+
    Invoking build step
    Net core uses precompiled hex
    Run: west build C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec -b nrf5340_audio_dk_nrf5340_cpuapp -p -d C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug -DCONFIG_AUDIO_DEV=1
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec
    -- Using NCS Toolchain 2.2.0 for building. (C:/ncs/toolchains/v2.2.0/cmake)
    -- Found Python3: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.2.0/zephyr/.cache
    -- Zephyr version: 3.2.99 (C:/ncs/v2.2.0/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf5340_audio_dk_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.15.1 (C:/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/v2.2.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/ncs/v2.2.0/nrf/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay
    devicetree error: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/nrf5340_audio_dk_nrf5340.overlay:4 (column 63): parse error: expected number or parenthesized expression
    -- In: C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr, command: C:/ncs/toolchains/v2.2.0/opt/bin/python.exe;C:/ncs/v2.2.0/zephyr/scripts/dts/gen_defines.py;--dts;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.pre;--dtc-flags;'-Wno-unique_unit_address_if_enabled';--bindings-dirs;C:/ncs/v2.2.0/nrf/dts/bindings;C:/ncs/v2.2.0/zephyr/dts/bindings;--header-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/include/generated/devicetree_generated.h.new;--dts-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/zephyr.dts.new;--edt-pickle-out;C:/ncs/v2.2.0/nrf/applications/nrf5340_audio-external_hw_codec/build/dev_headset/build_debug/zephyr/edt.pickle;--vendor-prefixes;C:/ncs/v2.2.0/nrf/dts/bindings/vendor-prefixes.txt;--vendor-prefixes;C:/ncs/v2.2.0/zephyr/dts/bindings/vendor-prefixes.txt
    CMake Error at C:/ncs/v2.2.0/zephyr/cmake/modules/dts.cmake:231 (message):
    ←[91mFATAL ERROR: command exited with status 1: 'C:\Users\elray\AppData\Local\Programs\Python\Python311\Scripts\cmake.EXE' '-DWEST_PYTHON=C:\Users\elray\AppData\Local\Programs\Python\Python311\python.exe' '-BC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug' -GNinja -DBOARD=nrf5340_audio_dk_nrf5340_cpuapp -DCONFIG_AUDIO_DEV=1 '-SC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec'
    ←[91mFATAL ERROR: command exited with status 1: 'C:\Users\elray\AppData\Local\Programs\Python\Python311\Scripts\cmake.EXE' '-DWEST_PYTHON=C:\Users\elray\AppData\Local\Programs\Python\Python311\python.exe' '-BC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\build\dev_headset\build_debug' -GNinja -DBOARD=nrf5340_audio_dk_nrf5340_cpuapp -DCONFIG_AUDIO_DEV=1 '-SC:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec'
    ←[0mTraceback (most recent call last):
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 394, in <module>
        __main()
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 377, in __main
        __build_module(build_cfg, options)
      File "C:\ncs\v2.2.0\nrf\applications\nrf5340_audio-external_hw_codec\tools\buildprog\buildprog.py", line 146, in __build_module
        raise Exception("cmake error: " + str(ret_val))
    Exception: cmake error: 1

    Any suggestions for what else I could try?

    Thanks so much!

    Best,

    Louie

  • Hm I see, well looking at your generated devicetree it seems that you're simply not able to make changes to it because of this parse error.

    Looking at your error message; expected number or parenthesized expression, are you sure that NRF_FUN_I2S_SCK_M is defined properly?

    I cannot spot anything else in your little overlay that I would expect to cause such an error.

    -Einar

Related