xref: /rk3399_rockchip-uboot/arch/arm/mach-stm32/stm32f4/soc.c (revision 679590ebc0e5a5fbe13bbf82d13a086f770410d2)
10a61ee88SVikas Manocha /*
20a61ee88SVikas Manocha  * (C) Copyright 2015
30a61ee88SVikas Manocha  * Kamil Lulko, <kamil.lulko@gmail.com>
40a61ee88SVikas Manocha  *
50a61ee88SVikas Manocha  * SPDX-License-Identifier:	GPL-2.0+
60a61ee88SVikas Manocha  */
70a61ee88SVikas Manocha 
80a61ee88SVikas Manocha #include <common.h>
90a61ee88SVikas Manocha #include <asm/io.h>
1033b78476SVikas Manocha #include <asm/armv7m_mpu.h>
110a61ee88SVikas Manocha #include <asm/arch/stm32.h>
120a61ee88SVikas Manocha 
get_cpu_rev(void)130a61ee88SVikas Manocha u32 get_cpu_rev(void)
140a61ee88SVikas Manocha {
150a61ee88SVikas Manocha 	return 0;
160a61ee88SVikas Manocha }
170a61ee88SVikas Manocha 
arch_cpu_init(void)180a61ee88SVikas Manocha int arch_cpu_init(void)
190a61ee88SVikas Manocha {
2033b78476SVikas Manocha 	struct mpu_region_config stm32_region_config[] = {
2133b78476SVikas Manocha 		{ 0x00000000, REGION_0, XN_DIS, PRIV_RW_USR_RW,
2233b78476SVikas Manocha 		STRONG_ORDER, REGION_4GB },
2333b78476SVikas Manocha 	};
24*679590ebSPatrice Chotard 	int i;
25*679590ebSPatrice Chotard 
260a61ee88SVikas Manocha 	configure_clocks();
270a61ee88SVikas Manocha 	/*
280a61ee88SVikas Manocha 	 * Configure the memory protection unit (MPU) to allow full access to
290a61ee88SVikas Manocha 	 * the whole 4GB address space.
300a61ee88SVikas Manocha 	 */
3133b78476SVikas Manocha 	disable_mpu();
32*679590ebSPatrice Chotard 	for (i = 0; i < ARRAY_SIZE(stm32_region_config); i++)
3333b78476SVikas Manocha 		mpu_config(&stm32_region_config[i]);
3433b78476SVikas Manocha 	enable_mpu();
350a61ee88SVikas Manocha 
360a61ee88SVikas Manocha 	return 0;
370a61ee88SVikas Manocha }
380a61ee88SVikas Manocha 
s_init(void)390a61ee88SVikas Manocha void s_init(void)
400a61ee88SVikas Manocha {
410a61ee88SVikas Manocha }
42