1 /*
2  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <common/bl_common.h>
8 #include <common/debug.h>
9 #include <plat/arm/common/plat_arm.h>
10 #include <plat/arm/soc/common/soc_css.h>
11 #include <plat/arm/common/arm_def.h>
12 #include <drivers/arm/sp805.h>
13 #include <sgm_plat_config.h>
14 
bl1_early_platform_setup(void)15 void bl1_early_platform_setup(void)
16 {
17 
18 	/* Initialize the console before anything else */
19 	arm_bl1_early_platform_setup();
20 
21 	/* Initialize the platform configuration structure */
22 	plat_config_init();
23 
24 #if !HW_ASSISTED_COHERENCY
25 	/*
26 	 * Initialize Interconnect for this cluster during cold boot.
27 	 * No need for locks as no other CPU is active.
28 	 */
29 	plat_arm_interconnect_init();
30 	/*
31 	 * Enable Interconnect coherency for the primary CPU's cluster.
32 	 */
33 	plat_arm_interconnect_enter_coherency();
34 #endif
35 }
36 
plat_arm_secure_wdt_start(void)37 void plat_arm_secure_wdt_start(void)
38 {
39 	sp805_start(ARM_SP805_TWDG_BASE, ARM_TWDG_LOAD_VAL);
40 }
41 
plat_arm_secure_wdt_stop(void)42 void plat_arm_secure_wdt_stop(void)
43 {
44 	sp805_stop(ARM_SP805_TWDG_BASE);
45 }
46