arm: Add app data section alignment constraints

This patch adds application data section alignment constraints
to match the region definition requirements for ARM MPUs.  Most MPUs
require a minimum of 32 bytes of alignment for any regions, but some
require power of two alignment to the size of a region.

This requires that the linker align the application data section to
the size of the section.  This requires a linker pass to determine the
size.  Once this is accomplished the correct value is added to a linker
include file that is utilized in subsequent linker operations.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
diff --git a/arch/Kconfig b/arch/Kconfig
index 4c49d84..03e6993 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -225,6 +225,15 @@
 	help
 	  This option is enabled when the CPU has a Memory Protection Unit (MPU).
 
+config MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT
+	bool
+	# Omit prompt to signify "hidden" option
+	default n
+	help
+	This option is enabled when the MPU requires a power of two alignment
+	and size for MPU regions.
+
+
 menu "Floating Point Options"
 depends on CPU_HAS_FPU