From 7747356d602e27936fd320ec85f1c19851571c12 Mon Sep 17 00:00:00 2001 From: Yann Gautier <yann.gautier@st.com> Date: Fri, 18 Jan 2019 11:13:15 +0100 Subject: [PATCH] stm32mp1: set ETZPC controlled peripherals and GPIOZ as non-secure Change-Id: I604b38ffa40e04c6e2aaede28e9f61335bbffdc0 Signed-off-by: Yann Gautier <yann.gautier@st.com> --- plat/st/stm32mp1/sp_min/sp_min_setup.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plat/st/stm32mp1/sp_min/sp_min_setup.c b/plat/st/stm32mp1/sp_min/sp_min_setup.c index 0bc5076f7..0d76fb7e3 100644 --- a/plat/st/stm32mp1/sp_min/sp_min_setup.c +++ b/plat/st/stm32mp1/sp_min/sp_min_setup.c @@ -18,6 +18,7 @@ #include <drivers/generic_delay_timer.h> #include <drivers/st/bsec.h> #include <drivers/st/stm32_console.h> +#include <drivers/st/stm32_gpio.h> #include <drivers/st/stm32mp1_clk.h> #include <dt-bindings/clock/stm32mp1-clks.h> #include <lib/el3_runtime/context_mgmt.h> @@ -148,6 +149,16 @@ void sp_min_platform_setup(void) generic_delay_timer_init(); stm32mp1_gic_init(); + + /* Unlock ETZPC securable peripherals */ +#define STM32MP1_ETZPC_BASE 0x5C007000U +#define ETZPC_DECPROT0 0x010U + mmio_write_32(STM32MP1_ETZPC_BASE + ETZPC_DECPROT0, 0xFFFFFFFF); + + /* Set GPIO bank Z as non secure */ + for (uint32_t pin = 0U; pin < STM32MP_GPIOZ_PIN_MAX_COUNT; pin++) { + set_gpio_secure_cfg(GPIO_BANK_Z, pin, false); + } } void sp_min_plat_arch_setup(void) -- GitLab