diff options
author | Matt Porter <mporter@konsulko.com> | 2015-05-05 15:00:24 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-05-28 08:18:24 -0400 |
commit | 2d18ef2364fd3561aaffe97ee3e5e540a40a835d (patch) | |
tree | ba4b6840252c909fd9aebb2f52ed24964b4a95e1 /arch/arm/cpu/armv7m/stm32f1/soc.c | |
parent | f99993c10882f7dc8ec35993d5febe59aac01e6a (diff) |
ARMv7M: add STM32F1 support
Add ARMv7M STM32F1 support including clocks, timer, gpio, and flash.
Signed-off-by: Matt Porter <mporter@konsulko.com>
Diffstat (limited to 'arch/arm/cpu/armv7m/stm32f1/soc.c')
-rw-r--r-- | arch/arm/cpu/armv7m/stm32f1/soc.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7m/stm32f1/soc.c b/arch/arm/cpu/armv7m/stm32f1/soc.c new file mode 100644 index 0000000000..8275ad7798 --- /dev/null +++ b/arch/arm/cpu/armv7m/stm32f1/soc.c @@ -0,0 +1,36 @@ +/* + * (C) Copyright 2015 + * Kamil Lulko, <rev13@wp.pl> + * + * Copyright 2015 ATS Advanced Telematics Systems GmbH + * Copyright 2015 Konsulko Group, Matt Porter <mporter@konsulko.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <asm/io.h> +#include <asm/armv7m.h> +#include <asm/arch/stm32.h> + +u32 get_cpu_rev(void) +{ + return 0; +} + +int arch_cpu_init(void) +{ + configure_clocks(); + + /* + * Configure the memory protection unit (MPU) to allow full access to + * the whole 4GB address space. + */ + writel(0, &V7M_MPU->rnr); + writel(0, &V7M_MPU->rbar); + writel((V7M_MPU_RASR_AP_RW_RW | V7M_MPU_RASR_SIZE_4GB + | V7M_MPU_RASR_EN), &V7M_MPU->rasr); + writel(V7M_MPU_CTRL_ENABLE | V7M_MPU_CTRL_HFNMIENA, &V7M_MPU->ctrl); + + return 0; +} |