13fc4124cSDan Handley /* 2*1af540efSRoberto Vargas * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. 33fc4124cSDan Handley * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 53fc4124cSDan Handley */ 63fc4124cSDan Handley 73fc4124cSDan Handley #include <plat_arm.h> 8*1af540efSRoberto Vargas #include <platform.h> 9436223deSYatharth Kochar #include <tbbr_img_def.h> 103fc4124cSDan Handley #include "fvp_private.h" 113fc4124cSDan Handley 123fc4124cSDan Handley 133fc4124cSDan Handley /******************************************************************************* 143fc4124cSDan Handley * Perform any BL1 specific platform actions. 153fc4124cSDan Handley ******************************************************************************/ 163fc4124cSDan Handley void bl1_early_platform_setup(void) 173fc4124cSDan Handley { 183fc4124cSDan Handley arm_bl1_early_platform_setup(); 193fc4124cSDan Handley 203fc4124cSDan Handley /* Initialize the platform config for future decision making */ 213fc4124cSDan Handley fvp_config_setup(); 223fc4124cSDan Handley 233fc4124cSDan Handley /* 246355f234SVikram Kanigiri * Initialize Interconnect for this cluster during cold boot. 253fc4124cSDan Handley * No need for locks as no other CPU is active. 263fc4124cSDan Handley */ 276355f234SVikram Kanigiri fvp_interconnect_init(); 283fc4124cSDan Handley /* 296355f234SVikram Kanigiri * Enable coherency in Interconnect for the primary CPU's cluster. 303fc4124cSDan Handley */ 316355f234SVikram Kanigiri fvp_interconnect_enable(); 323fc4124cSDan Handley } 33436223deSYatharth Kochar 34436223deSYatharth Kochar /******************************************************************************* 35436223deSYatharth Kochar * The following function checks if Firmware update is needed, 36436223deSYatharth Kochar * by checking if TOC in FIP image is valid or not. 37436223deSYatharth Kochar ******************************************************************************/ 38436223deSYatharth Kochar unsigned int bl1_plat_get_next_image_id(void) 39436223deSYatharth Kochar { 40436223deSYatharth Kochar if (!arm_io_is_toc_valid()) 41436223deSYatharth Kochar return NS_BL1U_IMAGE_ID; 42436223deSYatharth Kochar 43436223deSYatharth Kochar return BL2_IMAGE_ID; 44436223deSYatharth Kochar } 45436223deSYatharth Kochar 46