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

CONFIG_SOC_SERIES_NRF54HX=y
CONFIG_SOC_NRF54H20=y
CONFIG_SOC_NRF54H20_ENGA_CPUPPR=y
CONFIG_BOARD_NRF54H20PDK_NRF54H20_CPUPPR=y

CONFIG_XIP=n

CONFIG_SERIAL=y

CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
