From 8834a8d47b12a623f8b347f5d47d517d8582993e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Phil=C3=A9mon=20Jaermann?=
Date: Mon, 5 Mar 2018 17:45:09 +0100
Subject: [PATCH] arm: stm32f446: Add support for stm32f446 SoC
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Support for stm32f446xe SoC
Signed-off-by: Philémon Jaermann
---
.../stm32f4/Kconfig.defconfig.stm32f446xe | 28 +++++++++++++++++++
arch/arm/soc/st_stm32/stm32f4/Kconfig.soc | 3 ++
dts/arm/st/mem.h | 3 ++
dts/arm/st/stm32f446.dtsi | 8 ++++++
4 files changed, 42 insertions(+)
create mode 100644 arch/arm/soc/st_stm32/stm32f4/Kconfig.defconfig.stm32f446xe
create mode 100644 dts/arm/st/stm32f446.dtsi
diff --git a/arch/arm/soc/st_stm32/stm32f4/Kconfig.defconfig.stm32f446xe b/arch/arm/soc/st_stm32/stm32f4/Kconfig.defconfig.stm32f446xe
new file mode 100644
index 00000000000..c34720e779d
--- /dev/null
+++ b/arch/arm/soc/st_stm32/stm32f4/Kconfig.defconfig.stm32f446xe
@@ -0,0 +1,28 @@
+# Kconfig - ST STM32F446XE MCU configuration options
+#
+# Copyright (c) 2018 Philémon Jaermann.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+if SOC_STM32F446XE
+
+config SOC
+ string
+ default stm32f446xx
+
+config NUM_IRQS
+ int
+ default 96
+
+if GPIO_STM32
+
+config GPIO_STM32_PORTE
+ default n
+
+config GPIO_STM32_PORTH
+ default n
+
+endif # GPIO_STM32
+
+endif # SOC_STM32F446XE
diff --git a/arch/arm/soc/st_stm32/stm32f4/Kconfig.soc b/arch/arm/soc/st_stm32/stm32f4/Kconfig.soc
index 16846020386..1d1b2015664 100644
--- a/arch/arm/soc/st_stm32/stm32f4/Kconfig.soc
+++ b/arch/arm/soc/st_stm32/stm32f4/Kconfig.soc
@@ -39,6 +39,9 @@ config SOC_STM32F417XG
config SOC_STM32F429XI
bool "STM32F429XI"
+config SOC_STM32F446XE
+ bool "STM32F446XE"
+
config SOC_STM32F469XI
bool "STM32F469XI"
diff --git a/dts/arm/st/mem.h b/dts/arm/st/mem.h
index 5eef9f369ab..560cf7c5abe 100644
--- a/dts/arm/st/mem.h
+++ b/dts/arm/st/mem.h
@@ -75,6 +75,9 @@
#define DT_FLASH_SIZE __SIZE_K(2048)
#define DT_SRAM_SIZE __SIZE_K(256)
#define DT_CCM_SIZE __SIZE_K(64)
+#elif defined(CONFIG_SOC_STM32F446XE)
+#define DT_FLASH_SIZE __SIZE_K(512)
+#define DT_SRAM_SIZE __SIZE_K(128)
#elif defined(CONFIG_SOC_STM32F469XI)
#define DT_FLASH_SIZE __SIZE_K(2048)
#define DT_SRAM_SIZE __SIZE_K(384)
diff --git a/dts/arm/st/stm32f446.dtsi b/dts/arm/st/stm32f446.dtsi
new file mode 100644
index 00000000000..ea23722e120
--- /dev/null
+++ b/dts/arm/st/stm32f446.dtsi
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2018 Philémon Jaermann
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include
+