1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/device.h>
8 #include <zephyr/init.h>
9 #include <zephyr/kernel.h>
10 #include <soc.h>
11 #include <mec_ecia_api.h>
12 #include <mec_ecs_api.h>
13 
mec5_soc_init_debug_interface(void)14 static void mec5_soc_init_debug_interface(void)
15 {
16 #if defined(CONFIG_SOC_MEC_DEBUG_DISABLED)
17 	mec_ecs_etm_pins(ECS_ETM_PINS_DISABLE);
18 	mec_hal_ecs_debug_port(MEC_DEBUG_MODE_DISABLE);
19 #else
20 #if defined(SOC_MEC_DEBUG_WITHOUT_TRACING)
21 	mec_ecs_etm_pins(ECS_ETM_PINS_DISABLE);
22 	mec_hal_ecs_debug_port(MEC_DEBUG_MODE_SWD);
23 #elif defined(SOC_MEC_DEBUG_AND_TRACING)
24 #if defined(SOC_MEC_DEBUG_AND_ETM_TRACING)
25 	mec_ecs_etm_pins(ECS_ETM_PINS_DISABLE);
26 	mec_hal_ecs_debug_port(MEC_DEBUG_MODE_SWD_SWV);
27 #elif defined(CONFIG_SOC_MEC_DEBUG_AND_ETM_TRACING)
28 	mec_ecs_debug_port(MEC_DEBUG_MODE_SWD);
29 	mec_hal_ecs_etm_pins(ECS_ETM_PINS_ENABLE);
30 #endif
31 #endif
32 #endif
33 }
34 
mec5_soc_common_init(void)35 int mec5_soc_common_init(void)
36 {
37 	mec5_soc_init_debug_interface();
38 	mec_hal_ecia_init(MEC5_ECIA_DIRECT_BITMAP, 1, 0);
39 
40 	return 0;
41 }
42