blob: 529051ec62943fbacdd8c3c4ff1c54b51a84cfbf [file] [log] [blame]
/*
* Copyright (c) 2023 Panasonic Industrial Devices Europe GmbH
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/kernel.h>
#include <zephyr/init.h>
#include <zephyr/logging/log.h>
#include <soc.h>
#include <hal/nrf_reset.h>
#if defined(CONFIG_BOARD_PAN1783_EVB_CPUAPP)
LOG_MODULE_REGISTER(pan1783_evb_cpuapp, CONFIG_LOG_DEFAULT_LEVEL);
#elif defined(CONFIG_BOARD_PAN1783A_EVB_CPUAPP)
LOG_MODULE_REGISTER(pan1783a_evb_cpuapp, CONFIG_LOG_DEFAULT_LEVEL);
#elif defined(CONFIG_BOARD_PAN1783A_PA_EVB_CPUAPP)
LOG_MODULE_REGISTER(pan1783a_pa_evb_cpuapp, CONFIG_LOG_DEFAULT_LEVEL);
#else
#error "No board selected!"
#endif
#if defined(CONFIG_BT_CTLR_DEBUG_PINS_CPUAPP)
#include <../subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/debug.h>
#else
#define DEBUG_SETUP()
#endif
static void remoteproc_mgr_config(void)
{
/* Route Bluetooth Controller Debug Pins */
DEBUG_SETUP();
/* Retain nRF5340 Network MCU */
NRF_SPU->EXTDOMAIN[0].PERM = 1 << 4;
}
static int remoteproc_mgr_boot(void)
{
/* Configure permissions for the Network MCU. */
remoteproc_mgr_config();
/* Release the Network MCU, 'Release force off signal' */
nrf_reset_network_force_off(NRF_RESET, false);
LOG_DBG("Network MCU released.");
return 0;
}
SYS_INIT(remoteproc_mgr_boot, POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE);