stm32: move stm32 specific code to mach-stm32

This patch moves stm32 sources at one place, with this armv7m now contains
only generic stuff.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 33c8411..876a620 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -702,8 +702,8 @@
 	  Support for UniPhier SoC family developed by Socionext Inc.
 	  (formerly, System LSI Business Division of Panasonic Corporation)
 
-config TARGET_STM32F429_DISCOVERY
-	bool "Support STM32F429 Discovery"
+config STM32
+	bool "Support STM32"
 	select CPU_V7M
 	select DM
 	select DM_SERIAL
@@ -762,6 +762,8 @@
 
 source "arch/arm/mach-socfpga/Kconfig"
 
+source "arch/arm/mach-stm32/Kconfig"
+
 source "arch/arm/mach-tegra/Kconfig"
 
 source "arch/arm/mach-uniphier/Kconfig"
@@ -836,7 +838,6 @@
 source "board/spear/spear320/Kconfig"
 source "board/spear/spear600/Kconfig"
 source "board/spear/x600/Kconfig"
-source "board/st/stm32f429-discovery/Kconfig"
 source "board/st/stv0991/Kconfig"
 source "board/sunxi/Kconfig"
 source "board/syteco/zmx25/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 3d15673..cd7d880 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -56,6 +56,7 @@
 machine-$(CONFIG_ARCH_S5PC1XX)		+= s5pc1xx
 machine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
 machine-$(CONFIG_ARCH_ROCKCHIP)		+= rockchip
+machine-$(CONFIG_STM32)			+= stm32
 machine-$(CONFIG_TEGRA)			+= tegra
 machine-$(CONFIG_ARCH_UNIPHIER)		+= uniphier
 machine-$(CONFIG_ARCH_ZYNQ)		+= zynq
diff --git a/arch/arm/cpu/armv7m/Makefile b/arch/arm/cpu/armv7m/Makefile
index 93a1956..aff60e8 100644
--- a/arch/arm/cpu/armv7m/Makefile
+++ b/arch/arm/cpu/armv7m/Makefile
@@ -7,6 +7,3 @@
 
 extra-y := start.o
 obj-y += cpu.o
-
-obj-$(CONFIG_STM32F1) += stm32f1/
-obj-$(CONFIG_STM32F4) += stm32f4/
diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig
new file mode 100644
index 0000000..7dbeb04
--- /dev/null
+++ b/arch/arm/mach-stm32/Kconfig
@@ -0,0 +1,12 @@
+if STM32
+
+config STM32F4
+	bool "stm32f4 family"
+
+config STM32F1
+	bool "stm32f1 family"
+
+source "arch/arm/mach-stm32/stm32f4/Kconfig"
+source "arch/arm/mach-stm32/stm32f1/Kconfig"
+
+endif
diff --git a/arch/arm/mach-stm32/Makefile b/arch/arm/mach-stm32/Makefile
new file mode 100644
index 0000000..ea06034
--- /dev/null
+++ b/arch/arm/mach-stm32/Makefile
@@ -0,0 +1,9 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-$(CONFIG_STM32F1) += stm32f1/
+obj-$(CONFIG_STM32F4) += stm32f4/
diff --git a/arch/arm/mach-stm32/stm32f1/Kconfig b/arch/arm/mach-stm32/stm32f1/Kconfig
new file mode 100644
index 0000000..f627fd2
--- /dev/null
+++ b/arch/arm/mach-stm32/stm32f1/Kconfig
@@ -0,0 +1,3 @@
+if STM32F1
+
+endif
diff --git a/arch/arm/cpu/armv7m/stm32f1/Makefile b/arch/arm/mach-stm32/stm32f1/Makefile
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f1/Makefile
rename to arch/arm/mach-stm32/stm32f1/Makefile
diff --git a/arch/arm/cpu/armv7m/stm32f1/clock.c b/arch/arm/mach-stm32/stm32f1/clock.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f1/clock.c
rename to arch/arm/mach-stm32/stm32f1/clock.c
diff --git a/arch/arm/cpu/armv7m/stm32f1/flash.c b/arch/arm/mach-stm32/stm32f1/flash.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f1/flash.c
rename to arch/arm/mach-stm32/stm32f1/flash.c
diff --git a/arch/arm/cpu/armv7m/stm32f1/soc.c b/arch/arm/mach-stm32/stm32f1/soc.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f1/soc.c
rename to arch/arm/mach-stm32/stm32f1/soc.c
diff --git a/arch/arm/cpu/armv7m/stm32f1/timer.c b/arch/arm/mach-stm32/stm32f1/timer.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f1/timer.c
rename to arch/arm/mach-stm32/stm32f1/timer.c
diff --git a/arch/arm/mach-stm32/stm32f4/Kconfig b/arch/arm/mach-stm32/stm32f4/Kconfig
new file mode 100644
index 0000000..a63619e
--- /dev/null
+++ b/arch/arm/mach-stm32/stm32f4/Kconfig
@@ -0,0 +1,8 @@
+if STM32F4
+
+config TARGET_STM32F429_DISCOVERY
+	bool "STM32F429 Discovery board"
+
+source "board/st/stm32f429-discovery/Kconfig"
+
+endif
diff --git a/arch/arm/cpu/armv7m/stm32f4/Makefile b/arch/arm/mach-stm32/stm32f4/Makefile
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f4/Makefile
rename to arch/arm/mach-stm32/stm32f4/Makefile
diff --git a/arch/arm/cpu/armv7m/stm32f4/clock.c b/arch/arm/mach-stm32/stm32f4/clock.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f4/clock.c
rename to arch/arm/mach-stm32/stm32f4/clock.c
diff --git a/arch/arm/cpu/armv7m/stm32f4/flash.c b/arch/arm/mach-stm32/stm32f4/flash.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f4/flash.c
rename to arch/arm/mach-stm32/stm32f4/flash.c
diff --git a/arch/arm/cpu/armv7m/stm32f4/soc.c b/arch/arm/mach-stm32/stm32f4/soc.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f4/soc.c
rename to arch/arm/mach-stm32/stm32f4/soc.c
diff --git a/arch/arm/cpu/armv7m/stm32f4/timer.c b/arch/arm/mach-stm32/stm32f4/timer.c
similarity index 100%
rename from arch/arm/cpu/armv7m/stm32f4/timer.c
rename to arch/arm/mach-stm32/stm32f4/timer.c
diff --git a/configs/stm32f429-discovery_defconfig b/configs/stm32f429-discovery_defconfig
index 7512457..fb330e2 100644
--- a/configs/stm32f429-discovery_defconfig
+++ b/configs/stm32f429-discovery_defconfig
@@ -1,4 +1,6 @@
 CONFIG_ARM=y
+CONFIG_STM32=y
+CONFIG_STM32F4=y
 CONFIG_TARGET_STM32F429_DISCOVERY=y
 CONFIG_SYS_PROMPT="U-Boot > "
 # CONFIG_CMD_SETEXPR is not set
diff --git a/include/configs/stm32f429-discovery.h b/include/configs/stm32f429-discovery.h
index 3e80861..85d492d 100644
--- a/include/configs/stm32f429-discovery.h
+++ b/include/configs/stm32f429-discovery.h
@@ -8,7 +8,6 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define CONFIG_STM32F4
 #define CONFIG_SYS_THUMB_BUILD
 #define CONFIG_STM32F4DISCOVERY