# 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_NUM_CPUS=1

CONFIG_GPIO=y
CONFIG_POWER_DOMAIN=y
CONFIG_POWER_DOMAIN_GPIO=y
