1 /* 2 * Copyright (c) 2015 - 2020, Broadcom 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <stdint.h> 8 9 #include <common/debug.h> 10 11 #include <platform_def.h> 12 #include <sbl_util.h> 13 #include <sotp.h> 14 15 #pragma weak plat_sbl_status 16 plat_sbl_status(uint64_t sbl_status)17int plat_sbl_status(uint64_t sbl_status) 18 { 19 return sbl_status ? 1:0; 20 } 21 sbl_status(void)22int sbl_status(void) 23 { 24 uint64_t sbl_sotp = 0; 25 int ret = SBL_DISABLED; 26 27 sbl_sotp = sotp_mem_read(SOTP_ATF_CFG_ROW_ID, SOTP_ROW_NO_ECC); 28 29 if (sbl_sotp != SOTP_ECC_ERR_DETECT) { 30 31 sbl_sotp &= SOTP_SBL_MASK; 32 33 if (plat_sbl_status(sbl_sotp)) 34 ret = SBL_ENABLED; 35 } 36 37 VERBOSE("SBL status: %d\n", ret); 38 39 return ret; 40 } 41