soc: qualcomm: Add Shared Memory Manager driver

The Shared Memory Manager driver implements an interface for allocating
and accessing items in the memory area shared among all of the
processors in a Qualcomm platform.

Adapted from the Linux driver (4.17)

Changes from the original Linux driver:
* Removed HW spinlock mechanism, which is irrelevant
in U-boot particualar use case, which is just reading from the smem.
* Adapted from Linux driver model to U-Boot's.

Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/drivers/smem/Kconfig b/drivers/smem/Kconfig
index 64337a8..6cf5a4e 100644
--- a/drivers/smem/Kconfig
+++ b/drivers/smem/Kconfig
@@ -1,2 +1,15 @@
 menuconfig SMEM
 	bool  "SMEM (Shared Memory mamanger) support"
+
+if SMEM
+
+config MSM_SMEM
+    bool "Qualcomm Shared Memory Manager (SMEM)"
+    depends on DM
+    depends on ARCH_SNAPDRAGON
+    help
+      Enable support for the Qualcomm Shared Memory Manager.
+      The driver provides an interface to items in a heap shared among all
+      processors in a Qualcomm platform.
+
+endif # menu "SMEM Support"