MIPS: Support dynamic I/O port base address

The existing mips_io_port_base variable isn't suitable for use early
during boot since it will be stored in the .data section which may not
be writable pre-relocation. Fix this by moving the I/O port base address
into struct arch_global_data. In order to avoid adding this field for
all targets, make this dependant upon a new Kconfig entry
CONFIG_DYNAMIC_IO_PORT_BASE. Malta is the only board which sets a
non-zero I/O port base, so select this option only for Malta.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 1b39c4c..585887c 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -23,6 +23,7 @@
 
 config TARGET_MALTA
 	bool "Support malta"
+	select DYNAMIC_IO_PORT_BASE
 	select SUPPORTS_BIG_ENDIAN
 	select SUPPORTS_LITTLE_ENDIAN
 	select SUPPORTS_CPU_MIPS32_R1
@@ -217,6 +218,9 @@
 	default "4" if MIPS_L1_CACHE_SHIFT_4
 	default "5"
 
+config DYNAMIC_IO_PORT_BASE
+	bool
+
 endif
 
 endmenu