common:
  tags:
    - drivers
    - uart
  harness: ztest
  platform_allow:
    - nrf52840dk/nrf52840
    - nrf54l15pdk/nrf54l15/cpuapp
    - nrf54h20dk/nrf54h20/cpuapp
    - nrf52_bsim
  harness_config:
    fixture: gpio_loopback
  depends_on: gpio
tests:
  drivers.uart.pm:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=n
      - CONFIG_UART_ASYNC_API=n
      - CONFIG_UART_0_ENHANCED_POLL_OUT=n
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y

  drivers.uart.pm.no_rxpin:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=n
      - CONFIG_UART_ASYNC_API=n
      - CONFIG_UART_0_ENHANCED_POLL_OUT=n
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y
    extra_args: DTC_OVERLAY_FILE="boards/nrf52840dk_nrf52840.overlay;nrf_rx_disable.overlay"
    platform_exclude:
      - nrf54l15pdk/nrf54l15/cpuapp
      - nrf54h20dk/nrf54h20/cpuapp

  drivers.uart.pm.enhanced_poll:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=n
      - CONFIG_UART_ASYNC_API=n
      - CONFIG_UART_0_ENHANCED_POLL_OUT=y
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y
    platform_exclude:
      - nrf54l15pdk/nrf54l15/cpuapp
      - nrf54h20dk/nrf54h20/cpuapp

  drivers.uart.pm.int_driven:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=y
      - CONFIG_UART_0_INTERRUPT_DRIVEN=y
      - CONFIG_UART_ASYNC_API=n
      - CONFIG_UART_0_ENHANCED_POLL_OUT=n
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y

  drivers.uart.pm.int_driven.enhanced_poll:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=y
      - CONFIG_UART_0_INTERRUPT_DRIVEN=y
      - CONFIG_UART_ASYNC_API=n
      - CONFIG_UART_0_ENHANCED_POLL_OUT=y
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y
    platform_exclude:
      - nrf54l15pdk/nrf54l15/cpuapp
      - nrf54h20dk/nrf54h20/cpuapp

  drivers.uart.pm.async:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=n
      - CONFIG_UART_ASYNC_API=y
      - CONFIG_UART_0_ASYNC=y
      - CONFIG_UART_0_NRF_HW_ASYNC=y
      - CONFIG_UART_0_NRF_HW_ASYNC_TIMER=2
      - CONFIG_NRFX_TIMER2=y
      - CONFIG_UART_0_ENHANCED_POLL_OUT=n
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y

  drivers.uart.pm.async.enhanced_poll:
    extra_configs:
      - CONFIG_UART_INTERRUPT_DRIVEN=n
      - CONFIG_UART_ASYNC_API=y
      - CONFIG_UART_0_ASYNC=y
      - CONFIG_UART_0_NRF_HW_ASYNC=y
      - CONFIG_UART_0_NRF_HW_ASYNC_TIMER=2
      - CONFIG_NRFX_TIMER2=y
      - CONFIG_UART_0_ENHANCED_POLL_OUT=y
      - CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y
    platform_exclude:
      - nrf54l15pdk/nrf54l15/cpuapp
      - nrf54h20dk/nrf54h20/cpuapp
