ARM: meson: Add Khadas VIM2 board support

This adds platform code for the Khadas VIM2 board based on a
Meson GXM (S912) SoC with the Meson GXM configuration.

This initial submission supports UART, MMC/SDCard and Ethernet.
USB is partially supported.

All the code is from Neil Armstrong! I just rebased the code, do
some cleanup and tested on my board.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Loic Devulder <ldevulder@suse.de>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
diff --git a/arch/arm/mach-meson/Kconfig b/arch/arm/mach-meson/Kconfig
index ee8b1cd..cc94344 100644
--- a/arch/arm/mach-meson/Kconfig
+++ b/arch/arm/mach-meson/Kconfig
@@ -22,6 +22,16 @@
 	  The Amlogic Meson GXL (S905X and S905D) is an ARM SoC with a
 	  quad-core Cortex-A53 CPU and a Mali-450 GPU.
 
+config MESON_GXM
+	bool "Support Meson GXM"
+	select ARM64
+	select CLK
+	select DM
+	select DM_SERIAL
+	help
+	  The Amlogic Meson GXM (S912) is an ARM SoC with an
+	  octo-core Cortex-A53 CPU and a Mali-T860 GPU.
+
 if MESON_GXBB
 
 config TARGET_ODROID_C2
@@ -64,6 +74,17 @@
 
 endif
 
+if MESON_GXM
+
+config TARGET_KHADAS_VIM2
+	bool "KHADAS-VIM2"
+	help
+	  Khadas VIM2 is a single board computer based on Meson GXM
+	  with 2/3 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot,
+	  eMMC, IR receiver and a 40-pin GPIO header.
+
+endif
+
 config SYS_SOC
 	default "meson"
 
@@ -80,4 +101,6 @@
 
 source "board/amlogic/khadas-vim/Kconfig"
 
+source "board/amlogic/khadas-vim2/Kconfig"
+
 endif