On the nRF5340, we have firmware working well for UART3 at 1 Mbaud with the Async API using the following config settings:
# UART support using the asynchronous API and DMA (instead of interrupt or polling) CONFIG_SERIAL=y CONFIG_UART_ASYNC_API=y # Use hardware timer rather than interrupts to count RX bytes to avoid missed counts at high baudrates: CONFIG_UART_3_NRF_HW_ASYNC=y CONFIG_UART_3_NRF_HW_ASYNC_TIMER=1
We also need to have the USB port configured as a separate CDC virtual UART. The problem is that as soon as we enable the USB (by adding CONFIG_USB_DEVICE_STACK=y to the prj.conf, with or without a CONFIG_USB_CDC_ACM=y line), the compiler reports errors in the UART macro expansions. It looks like there is no timer instance to insert in the uart_nrfx_config structure.
Removing the NRF_HW_ASYNC lines from prj.conf lets it compile, but without the timer hardware to count the incoming bytes, we lose byte counts at 1 Mbaud.
I saw some other posts with somewhat similar problems getting the USB CDC UART and another UART to coexist. I notice that when CONFIG_USB_DEVICE_STACK=y is set, that
In file included from /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:34, from /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/irq_multilevel.h:15, from /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/devicetree.h:20, from /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/device.h:12, from /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/drivers/uart.h:26, from /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:11: /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:27: error: 'const struct uarte_nrfx_config' has no member named 'timer' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1986:29: warning: braces around scalar initializer 1986 | static const struct uarte_nrfx_config uarte_##idx##z_config = { \ | ^~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1986:29: note: (near initialization for 'uarte_3z_config.pcfg') 1986 | static const struct uarte_nrfx_config uarte_##idx##z_config = { \ | ^~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:64:5: error: field name not in record or union initializer 64 | .p_reg = NRFX_CONCAT_2(NRF_TIMER, id), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:64:5: note: (near initialization for 'uarte_3z_config.pcfg') 64 | .p_reg = NRFX_CONCAT_2(NRF_TIMER, id), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/mdk/nrf5340_application.h:3396:37: warning: initialization of 'const struct pinctrl_dev_config *' from incompatible pointer type 'NRF_TIMER_Type *' [-Wincompatible-pointer-types] 3396 | #define NRF_TIMER1_S ((NRF_TIMER_Type*) NRF_TIMER1_S_BASE) | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/modules/hal_nordic/nrfx/./nrfx_config.h:757:23: note: in expansion of macro 'NRF_TIMER1_S' 757 | #define NRF_PERIPH(P) P##_S | ^ /opt/nordic/ncs/v2.6.1/zephyr/modules/hal_nordic/nrfx/./nrfx_config_nrf5340_application.h:60:26: note: in expansion of macro 'NRF_PERIPH' 60 | #define NRF_TIMER1 NRF_PERIPH(NRF_TIMER1) | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:168:32: note: in expansion of macro 'NRF_TIMER1' 168 | #define NRFX_CONCAT_2_(p1, p2) p1 ## p2 | ^~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:165:31: note: in expansion of macro 'NRFX_CONCAT_2_' 165 | #define NRFX_CONCAT_2(p1, p2) NRFX_CONCAT_2_(p1, p2) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:64:25: note: in expansion of macro 'NRFX_CONCAT_2' 64 | .p_reg = NRFX_CONCAT_2(NRF_TIMER, id), \ | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/mdk/nrf5340_application.h:3396:37: note: (near initialization for 'uarte_3z_config.pcfg') 3396 | #define NRF_TIMER1_S ((NRF_TIMER_Type*) NRF_TIMER1_S_BASE) | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/modules/hal_nordic/nrfx/./nrfx_config.h:757:23: note: in expansion of macro 'NRF_TIMER1_S' 757 | #define NRF_PERIPH(P) P##_S | ^ /opt/nordic/ncs/v2.6.1/zephyr/modules/hal_nordic/nrfx/./nrfx_config_nrf5340_application.h:60:26: note: in expansion of macro 'NRF_PERIPH' 60 | #define NRF_TIMER1 NRF_PERIPH(NRF_TIMER1) | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:168:32: note: in expansion of macro 'NRF_TIMER1' 168 | #define NRFX_CONCAT_2_(p1, p2) p1 ## p2 | ^~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:165:31: note: in expansion of macro 'NRFX_CONCAT_2_' 165 | #define NRFX_CONCAT_2(p1, p2) NRFX_CONCAT_2_(p1, p2) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:64:25: note: in expansion of macro 'NRFX_CONCAT_2' 64 | .p_reg = NRFX_CONCAT_2(NRF_TIMER, id), \ | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:5: error: field name not in record or union initializer 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:5: note: (near initialization for 'uarte_3z_config.pcfg') 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:39: warning: excess elements in scalar initializer 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:186:35: note: in expansion of macro 'NRFX_CONCAT_3_' 186 | #define NRFX_CONCAT_3(p1, p2, p3) NRFX_CONCAT_3_(p1, p2, p3) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:25: note: in expansion of macro 'NRFX_CONCAT_3' 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:39: note: (near initialization for 'uarte_3z_config.pcfg') 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:186:35: note: in expansion of macro 'NRFX_CONCAT_3_' 186 | #define NRFX_CONCAT_3(p1, p2, p3) NRFX_CONCAT_3_(p1, p2, p3) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:65:25: note: in expansion of macro 'NRFX_CONCAT_3' 65 | .instance_id = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \ | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:66:5: error: field name not in record or union initializer 66 | .cc_channel_count = NRF_TIMER_CC_CHANNEL_COUNT(id), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:66:5: note: (near initialization for 'uarte_3z_config.pcfg') 66 | .cc_channel_count = NRF_TIMER_CC_CHANNEL_COUNT(id), \ | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/mdk/nrf5340_application_peripherals.h:136:23: warning: excess elements in scalar initializer 136 | #define TIMER1_CC_NUM 6 | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:189:36: note: in expansion of macro 'TIMER1_CC_NUM' 189 | #define NRFX_CONCAT_3_(p1, p2, p3) p1 ## p2 ## p3 | ^~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:186:35: note: in expansion of macro 'NRFX_CONCAT_3_' 186 | #define NRFX_CONCAT_3(p1, p2, p3) NRFX_CONCAT_3_(p1, p2, p3) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/hal/nrf_timer.h:285:40: note: in expansion of macro 'NRFX_CONCAT_3' 285 | #define NRF_TIMER_CC_CHANNEL_COUNT(id) NRFX_CONCAT_3(TIMER, id, _CC_NUM) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:66:25: note: in expansion of macro 'NRF_TIMER_CC_CHANNEL_COUNT' 66 | .cc_channel_count = NRF_TIMER_CC_CHANNEL_COUNT(id), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/mdk/nrf5340_application_peripherals.h:136:23: note: (near initialization for 'uarte_3z_config.pcfg') 136 | #define TIMER1_CC_NUM 6 | ^ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET' 72 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET' 64 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE' 59 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:180:9: note: in expansion of macro 'Z_COND_CODE_1' 180 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/include/zephyr/sys/util_macro.h:224:9: note: in expansion of macro 'COND_CODE_1' 224 | COND_CODE_1(_flag, _code, ()) | ^~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1996:17: note: in expansion of macro 'IF_ENABLED' 1996 | IF_ENABLED(CONFIG_UART_##idx##_NRF_HW_ASYNC, \ | ^~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:189:36: note: in expansion of macro 'TIMER1_CC_NUM' 189 | #define NRFX_CONCAT_3_(p1, p2, p3) p1 ## p2 ## p3 | ^~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/nrfx_common.h:186:35: note: in expansion of macro 'NRFX_CONCAT_3_' 186 | #define NRFX_CONCAT_3(p1, p2, p3) NRFX_CONCAT_3_(p1, p2, p3) | ^~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/hal/nrf_timer.h:285:40: note: in expansion of macro 'NRFX_CONCAT_3' 285 | #define NRF_TIMER_CC_CHANNEL_COUNT(id) NRFX_CONCAT_3(TIMER, id, _CC_NUM) | ^~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/modules/hal/nordic/nrfx/drivers/include/nrfx_timer.h:66:25: note: in expansion of macro 'NRF_TIMER_CC_CHANNEL_COUNT' 66 | .cc_channel_count = NRF_TIMER_CC_CHANNEL_COUNT(id), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:1997:35: note: in expansion of macro 'NRFX_TIMER_INSTANCE' 1997 | (.timer = NRFX_TIMER_INSTANCE( \ | ^~~~~~~~~~~~~~~~~~~ /opt/nordic/ncs/v2.6.1/zephyr/drivers/serial/uart_nrfx_uarte.c:2078:1: note: in expansion of macro 'UART_NRF_UARTE_DEVICE' 2078 | UART_NRF_UARTE_DEVICE(3); | ^~~~~~~~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed.