# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

common:
  platform_allow:
    - native_posix
    - native_posix/native/64
    - native_sim
    - native_sim/native/64
  integration_platforms:
    - native_sim
tests:
  drivers.pinctrl.api:
    tags:
      - drivers
      - pinctrl
  drivers.pinctrl.api_reg:
    tags:
      - drivers
      - pinctrl
    extra_args: CONF_FILE="prj.conf;reg.conf"
