# Copyright (c) 2022, Commonwealth Scientific and Industrial Research
# Organisation (CSIRO) ABN 41 687 119 230.
CONFIG_ZTEST=y
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_PM_DEVICE_POWER_DOMAIN=y
CONFIG_MP_MAX_NUM_CPUS=1

CONFIG_GPIO=y
CONFIG_POWER_DOMAIN=y
CONFIG_ZTEST_NEW_API=y
