From 43de546b909947ab44f104aaee02b98fba70f44c Mon Sep 17 00:00:00 2001 From: Lionel Debieve Date: Mon, 28 Sep 2020 12:05:28 +0200 Subject: [PATCH 1/2] feat(dt-bindings): add STM32MP1 TZC400 bindings Add bindings that will be used to define DDR regions and their access rights. Change-Id: I745a7e580ef2b9e251d53db12c5a0a86dfe34463 Signed-off-by: Lionel Debieve Signed-off-by: Yann Gautier --- include/dt-bindings/soc/stm32mp15-tzc400.h | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 include/dt-bindings/soc/stm32mp15-tzc400.h diff --git a/include/dt-bindings/soc/stm32mp15-tzc400.h b/include/dt-bindings/soc/stm32mp15-tzc400.h new file mode 100644 index 000000000..54cd90224 --- /dev/null +++ b/include/dt-bindings/soc/stm32mp15-tzc400.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */ +/* + * Copyright (C) 2021, STMicroelectronics - All Rights Reserved + */ + +#ifndef _DT_BINDINGS_STM32MP15_TZC400_H +#define _DT_BINDINGS_STM32MP15_TZC400_H + +#include + +#define STM32MP1_TZC_A7_ID U(0) +#define STM32MP1_TZC_M4_ID U(1) +#define STM32MP1_TZC_LCD_ID U(3) +#define STM32MP1_TZC_GPU_ID U(4) +#define STM32MP1_TZC_MDMA_ID U(5) +#define STM32MP1_TZC_DMA_ID U(6) +#define STM32MP1_TZC_USB_HOST_ID U(7) +#define STM32MP1_TZC_USB_OTG_ID U(8) +#define STM32MP1_TZC_SDMMC_ID U(9) +#define STM32MP1_TZC_ETH_ID U(10) +#define STM32MP1_TZC_DAP_ID U(15) + +#define TZC_REGION_NSEC_ALL_ACCESS_RDWR \ + (TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_A7_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_GPU_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_LCD_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_MDMA_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_M4_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_DMA_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_USB_HOST_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_USB_OTG_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_SDMMC_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_ETH_ID) | \ + TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_DAP_ID)) + +#endif /* _DT_BINDINGS_STM32MP15_TZC400_H */ From 3cc5155c8485fa7d991c145ec2a15eced1447824 Mon Sep 17 00:00:00 2001 From: Yann Gautier Date: Mon, 5 Jul 2021 14:07:29 +0200 Subject: [PATCH 2/2] refactor(plat/st): use TZC400 bindings This avoids duplicate define of TZC_REGION_NSEC_ALL_ACCESS_RDWR. And remove the previous TZC400 definitions from stm32mp1_def.h. Change-Id: I6c72c2a18731f69d855fbce8ce822a21da9364fa Signed-off-by: Yann Gautier --- plat/st/stm32mp1/stm32mp1_def.h | 12 ------------ plat/st/stm32mp1/stm32mp1_security.c | 14 +------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/plat/st/stm32mp1/stm32mp1_def.h b/plat/st/stm32mp1/stm32mp1_def.h index f14bf8c4c..0d3666074 100644 --- a/plat/st/stm32mp1/stm32mp1_def.h +++ b/plat/st/stm32mp1/stm32mp1_def.h @@ -309,18 +309,6 @@ enum ddr_type { ******************************************************************************/ #define STM32MP1_TZC_BASE U(0x5C006000) -#define STM32MP1_TZC_A7_ID U(0) -#define STM32MP1_TZC_M4_ID U(1) -#define STM32MP1_TZC_LCD_ID U(3) -#define STM32MP1_TZC_GPU_ID U(4) -#define STM32MP1_TZC_MDMA_ID U(5) -#define STM32MP1_TZC_DMA_ID U(6) -#define STM32MP1_TZC_USB_HOST_ID U(7) -#define STM32MP1_TZC_USB_OTG_ID U(8) -#define STM32MP1_TZC_SDMMC_ID U(9) -#define STM32MP1_TZC_ETH_ID U(10) -#define STM32MP1_TZC_DAP_ID U(15) - #define STM32MP1_FILTER_BIT_ALL (TZC_400_REGION_ATTR_FILTER_BIT(0) | \ TZC_400_REGION_ATTR_FILTER_BIT(1)) diff --git a/plat/st/stm32mp1/stm32mp1_security.c b/plat/st/stm32mp1/stm32mp1_security.c index 2ee5f4a85..19ef4f0ae 100644 --- a/plat/st/stm32mp1/stm32mp1_security.c +++ b/plat/st/stm32mp1/stm32mp1_security.c @@ -12,21 +12,9 @@ #include #include #include +#include #include -#define TZC_REGION_NSEC_ALL_ACCESS_RDWR \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_A7_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_GPU_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_LCD_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_MDMA_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_M4_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_DMA_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_USB_HOST_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_USB_OTG_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_SDMMC_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_ETH_ID) | \ - TZC_REGION_ACCESS_RDWR(STM32MP1_TZC_DAP_ID) - static unsigned int region_nb; static void init_tzc400_begin(unsigned int region0_attr)