common:
  platform_exclude:
    - stamp_c3
    - wio_terminal
    - xiao_esp32c3
  tags:
    - drivers
    - uart
tests:
  drivers.uart.async_api:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and not CONFIG_UART_MCUX_LPUART
    harness: ztest
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
  drivers.uart.wide:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and not CONFIG_UART_MCUX_LPUART
    harness: ztest
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
    extra_configs:
      - CONFIG_UART_WIDE_DATA=y
    arch_allow: arm
    platform_allow: nucleo_h743zi
    integration_platforms:
      - nucleo_h743zi
  drivers.uart.async_api.nrf_uart:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC
    harness: ztest
    platform_allow: nrf52840dk/nrf52840
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
    extra_args: DTC_OVERLAY_FILE="boards/nrf52840dk_nrf52840.overlay;boards/nrf_uart.overlay"
    integration_platforms:
      - nrf52840dk/nrf52840
  drivers.uart.async_api.rtt:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and CONFIG_HAS_SEGGER_RTT
      and not CONFIG_UART_MCUX_LPUART and not CONFIG_UART_MCUX_FLEXCOMM
    extra_args: DTC_OVERLAY_FILE=boards/segger_rtt.overlay
    extra_configs:
      - CONFIG_USE_SEGGER_RTT=y
      - CONFIG_UART_RTT=y
    platform_exclude:
      - xmc45_relax_kit
      - xmc47_relax_kit
    build_only: true
    integration_platforms:
      - qemu_cortex_m0
  drivers.uart.async_api.lpuart:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and CONFIG_UART_MCUX_LPUART and not CONFIG_CPU_HAS_DCACHE
    harness: ztest
    depends_on: dma
  drivers.uart.async_api.lpuart.rt_nocache:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and CONFIG_UART_MCUX_LPUART and CONFIG_CPU_HAS_DCACHE
    harness: ztest
    depends_on: dma
    extra_configs:
      - CONFIG_DCACHE=y
      - CONFIG_NOCACHE_MEMORY=y
      - CONFIG_USERSPACE=n
  drivers.uart.async_api.sam0:
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and CONFIG_SOC_FAMILY_ATMEL_SAM0
    platform_allow:
      - samc21n_xpro
      - samd21_xpro
      - saml21_xpro
      - samr21_xpro
      - samr34_xpro
      - same54_xpro
    extra_configs:
      - CONFIG_UART_SAM0_ASYNC=y
      - CONFIG_DMA=y
    build_only: true
    integration_platforms:
      - samc21n_xpro
  drivers.uart.async_api.nocache_mem:
    # nocache memory region is defined by the linker
    filter: CONFIG_SERIAL_SUPPORT_ASYNC and CONFIG_CPU_HAS_DCACHE
    harness: ztest
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
    platform_allow:
      - nucleo_f746zg
      - nucleo_h723zg
    extra_args:
      - EXTRA_CONF_FILE=stm32_nocache_mem.conf
  drivers.uart.async_api.nocache_mem_dt.nucleo_f746zg:
    # nocache memory region is defined in DT
    harness: ztest
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
    platform_allow:
      - nucleo_f746zg
    extra_args:
      - DTC_OVERLAY_FILE="boards/nucleo_f746zg.overlay;boards/nucleo_f746zg_nocachemem.overlay"
      - EXTRA_CONF_FILE=stm32_nocache_mem_dt.conf
    extra_configs:
      - CONFIG_TEST_USERSPACE=n
  drivers.uart.async_api.nocache_mem_dt.nucleo_h723zg:
    # nocache memory region is defined in DT
    harness: ztest
    harness_config:
      fixture: gpio_loopback
    depends_on: gpio
    platform_allow:
      - nucleo_h723zg
    extra_args:
      - DTC_OVERLAY_FILE="boards/nucleo_h723zg.overlay;boards/nucleo_h723zg_nocachemem.overlay"
      - EXTRA_CONF_FILE=stm32_nocache_mem_dt.conf
