diff mbox

[U-Boot,4/4] stm32f7: configure mpu valid for f7 family

Message ID 1493854737-4961-5-git-send-email-vikas.manocha@st.com
State Accepted
Commit 624b7101ee4c3673504812862d1414b1409a2c9f
Delegated to: Tom Rini
Headers show

Commit Message

Vikas MANOCHA May 3, 2017, 11:38 p.m. UTC
This configuration should be valid for all F7 family devices in general.
Here is the regions info:

	- Region0 : 4GB	  : cacheable & executable.
	- Region1 : 512MB : text area	: strogly ordered & executable.
	- Region2 : 512MB : peripherals : device memory & non-executable.
	- Region3 : 512MB : peripherals : device memory & non-executable.
	- Region4 : 512MB : cortexM area: strongly ordered & non-executable.

Higher region number overrides the lower region configuration.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
---
 arch/arm/mach-stm32/stm32f7/soc.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

Comments

Tom Rini May 12, 2017, 5:20 p.m. UTC | #1
On Wed, May 03, 2017 at 04:38:57PM -0700, Vikas Manocha wrote:

> This configuration should be valid for all F7 family devices in general.
> Here is the regions info:
> 
> 	- Region0 : 4GB	  : cacheable & executable.
> 	- Region1 : 512MB : text area	: strogly ordered & executable.
> 	- Region2 : 512MB : peripherals : device memory & non-executable.
> 	- Region3 : 512MB : peripherals : device memory & non-executable.
> 	- Region4 : 512MB : cortexM area: strongly ordered & non-executable.
> 
> Higher region number overrides the lower region configuration.
> 
> Signed-off-by: Vikas Manocha <vikas.manocha@st.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/arch/arm/mach-stm32/stm32f7/soc.c b/arch/arm/mach-stm32/stm32f7/soc.c
index 3586133..74a9350 100644
--- a/arch/arm/mach-stm32/stm32f7/soc.c
+++ b/arch/arm/mach-stm32/stm32f7/soc.c
@@ -19,10 +19,19 @@  int arch_cpu_init(void)
 {
 	struct mpu_region_config stm32_region_config[] = {
 		{ 0x00000000, REGION_0, XN_DIS, PRIV_RW_USR_RW,
-		STRONG_ORDER, REGION_4GB },
+		O_I_WB_RD_WR_ALLOC, REGION_4GB },
 
-		{ 0xC0000000, REGION_1, XN_DIS, PRIV_RW_USR_RW,
-		O_I_WB_RD_WR_ALLOC, REGION_8MB },
+		{ 0x00000000, REGION_1, XN_DIS, PRIV_RW_USR_RW,
+		STRONG_ORDER, REGION_512MB },
+
+		{ 0x40000000, REGION_2, XN_EN, PRIV_RW_USR_RW,
+		DEVICE_NON_SHARED, REGION_512MB },
+
+		{ 0xA0000000, REGION_3, XN_EN, PRIV_RW_USR_RW,
+		DEVICE_NON_SHARED, REGION_512MB },
+
+		{ 0xE0000000, REGION_4, XN_EN, PRIV_RW_USR_RW,
+		STRONG_ORDER, REGION_512MB },
 	};
 
 	disable_mpu();