diff --git a/include/plat/arm/css/common/css_def.h b/include/plat/arm/css/common/css_def.h index d5993526663a529709ec49fae01457522ffce08a..dde174c37f55a90a55f09c7e512af3bbc610af2f 100644 --- a/include/plat/arm/css/common/css_def.h +++ b/include/plat/arm/css/common/css_def.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2021, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -137,6 +137,8 @@ #define SSC_DBGCFG_SET 0x14 #define SSC_DBGCFG_CLR 0x18 +#define SPNIDEN_INT_CLR_SHIFT 4 +#define SPNIDEN_SEL_SET_SHIFT 5 #define SPIDEN_INT_CLR_SHIFT 6 #define SPIDEN_SEL_SET_SHIFT 7 diff --git a/plat/arm/board/juno/juno_security.c b/plat/arm/board/juno/juno_security.c index 1e64c029d362347022c9c762c0650e68727d2c88..654a7f165c7cd58bac9d58a762623dcf71726194 100644 --- a/plat/arm/board/juno/juno_security.c +++ b/plat/arm/board/juno/juno_security.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2020, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2014-2021, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -115,6 +115,14 @@ static void init_debug_cfg(void) /* Drive SPIDEN LOW to disable invasive debug of secure state. */ mmio_write_32(SSC_REG_BASE + SSC_DBGCFG_CLR, 1U << SPIDEN_INT_CLR_SHIFT); + + /* Set internal drive selection for SPNIDEN. */ + mmio_write_32(SSC_REG_BASE + SSC_DBGCFG_SET, + 1U << SPNIDEN_SEL_SET_SHIFT); + + /* Drive SPNIDEN LOW to disable non-invasive debug of secure state. */ + mmio_write_32(SSC_REG_BASE + SSC_DBGCFG_CLR, + 1U << SPNIDEN_INT_CLR_SHIFT); #endif }