diff --git a/Makefile b/Makefile
index 69983888841ab8ba32653b9f6f1be37bd3f24b43..c1d4702a4e65db56d917ce85b9040681131dd9f1 100644
--- a/Makefile
+++ b/Makefile
@@ -2187,8 +2187,8 @@ CLEAN_DIRS  += $(MODVERDIR) \
 			$(filter-out include, $(shell ls -1 $d 2>/dev/null))))
 
 CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h \
-	       drivers/video/u_boot_logo.S tools/version.h \
-	       u-boot* MLO* SPL System.map fit-dtb.blob* \
+	       include/generated/env.in drivers/video/u_boot_logo.S \
+	       tools/version.h u-boot* MLO* SPL System.map fit-dtb.blob* \
 	       u-boot-ivt.img.log u-boot-dtb.imx.log SPL.log u-boot.imx.log \
 	       lpc32xx-* bl31.c bl31.elf bl31_*.bin image.map tispl.bin* \
 	       idbloader.img flash.bin flash.log defconfig keep-syms-lto.c \
diff --git a/arch/Kconfig b/arch/Kconfig
index e6191446a357c3250ee06406c01755cae406ad9a..7ecb375b6b5a38660b9c982a5130d44ef206a781 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -363,7 +363,7 @@ config SYS_DISABLE_DCACHE_OPS
 	 this functionality.
 
 config SYS_IMMR
-	hex
+	hex "Address for the Internal Memory-Mapped Registers (IMMR) window"
 	depends on PPC || FSL_LSCH2 || FSL_LSCH3 || ARCH_LS1021A
 	default 0xFF000000 if MPC8xx
 	default 0xF0000000 if ARCH_MPC8313
diff --git a/arch/x86/cpu/apollolake/acpi.c b/arch/x86/cpu/apollolake/acpi.c
index a3dd7373af0d54b901a9b62d0d53b3cbe5115440..fd21c0b49684ebb156117f0965b221bc0f900320 100644
--- a/arch/x86/cpu/apollolake/acpi.c
+++ b/arch/x86/cpu/apollolake/acpi.c
@@ -146,25 +146,16 @@ void fill_fadt(struct acpi_fadt *fadt)
 	fadt->x_pm_tmr_blk.addrl = IOMAP_ACPI_BASE + PM1_TMR;
 }
 
-static int apl_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry)
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt)
 {
-	struct acpi_table_header *header;
-	struct acpi_fadt *fadt;
+	struct acpi_table_header *header = &fadt->header;
 
-	fadt = ctx->current;
-	acpi_fadt_common(fadt, ctx->facs, ctx->dsdt);
+	acpi_fadt_common(fadt, facs, dsdt);
 	intel_acpi_fill_fadt(fadt);
 	fill_fadt(fadt);
-	header = &fadt->header;
 	header->checksum = table_compute_checksum(fadt, header->length);
-
-	acpi_add_table(ctx, fadt);
-
-	acpi_inc(ctx, sizeof(struct acpi_fadt));
-
-	return 0;
 }
-ACPI_WRITER(5fadt, "FACS", apl_write_fadt, 0);
 
 int apl_acpi_fill_dmar(struct acpi_ctx *ctx)
 {
diff --git a/arch/x86/cpu/baytrail/acpi.c b/arch/x86/cpu/baytrail/acpi.c
index 59db2e2c5d84598b107ed1cf5dea34936a52f552..07757b88a305461aa1dc9346d20f061d2019dbb3 100644
--- a/arch/x86/cpu/baytrail/acpi.c
+++ b/arch/x86/cpu/baytrail/acpi.c
@@ -15,24 +15,20 @@
 #include <asm/arch/iomap.h>
 #include <dm/uclass-internal.h>
 
-static int baytrail_write_fadt(struct acpi_ctx *ctx,
-			       const struct acpi_writer *entry)
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt)
 {
-	struct acpi_table_header *header;
-	struct acpi_fadt *fadt;
-
-	fadt = ctx->current;
-	header = &fadt->header;
+	struct acpi_table_header *header = &(fadt->header);
 	u16 pmbase = ACPI_BASE_ADDRESS;
 
-	memset(fadt, '\0', sizeof(struct acpi_fadt));
+	memset((void *)fadt, 0, sizeof(struct acpi_fadt));
 
 	acpi_fill_header(header, "FACP");
 	header->length = sizeof(struct acpi_fadt);
 	header->revision = 4;
 
-	fadt->firmware_ctrl = (u32)ctx->facs;
-	fadt->dsdt = (u32)ctx->dsdt;
+	fadt->firmware_ctrl = (u32)facs;
+	fadt->dsdt = (u32)dsdt;
 	fadt->preferred_pm_profile = ACPI_PM_MOBILE;
 	fadt->sci_int = 9;
 	fadt->smi_cmd = 0;
@@ -79,9 +75,9 @@ static int baytrail_write_fadt(struct acpi_ctx *ctx,
 	fadt->reset_reg.addrh = 0;
 	fadt->reset_value = SYS_RST | RST_CPU | FULL_RST;
 
-	fadt->x_firmware_ctl_l = (u32)ctx->facs;
+	fadt->x_firmware_ctl_l = (u32)facs;
 	fadt->x_firmware_ctl_h = 0;
-	fadt->x_dsdt_l = (u32)ctx->dsdt;
+	fadt->x_dsdt_l = (u32)dsdt;
 	fadt->x_dsdt_h = 0;
 
 	fadt->x_pm1a_evt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
@@ -141,14 +137,7 @@ static int baytrail_write_fadt(struct acpi_ctx *ctx,
 	fadt->x_gpe1_blk.addrh = 0x0;
 
 	header->checksum = table_compute_checksum(fadt, header->length);
-
-	acpi_add_table(ctx, fadt);
-
-	acpi_inc(ctx, sizeof(struct acpi_fadt));
-
-	return 0;
 }
-ACPI_WRITER(5fadt, "FACP", baytrail_write_fadt, 0);
 
 int acpi_create_gnvs(struct acpi_global_nvs *gnvs)
 {
diff --git a/arch/x86/cpu/quark/acpi.c b/arch/x86/cpu/quark/acpi.c
index 9ce9ee3aabf9734c4afc54984dc4590f8f26192d..82b776ff65f69e3e775c574c065af8b56e84f744 100644
--- a/arch/x86/cpu/quark/acpi.c
+++ b/arch/x86/cpu/quark/acpi.c
@@ -10,24 +10,20 @@
 #include <asm/arch/global_nvs.h>
 #include <asm/arch/iomap.h>
 
-static int quark_write_fadt(struct acpi_ctx *ctx,
-			    const struct acpi_writer *entry)
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt)
 {
+	struct acpi_table_header *header = &(fadt->header);
 	u16 pmbase = ACPI_PM1_BASE_ADDRESS;
-	struct acpi_table_header *header;
-	struct acpi_fadt *fadt;
 
-	fadt = ctx->current;
-	header = &fadt->header;
-
-	memset(fadt, '\0', sizeof(struct acpi_fadt));
+	memset((void *)fadt, 0, sizeof(struct acpi_fadt));
 
 	acpi_fill_header(header, "FACP");
 	header->length = sizeof(struct acpi_fadt);
 	header->revision = 4;
 
-	fadt->firmware_ctrl = (u32)ctx->facs;
-	fadt->dsdt = (u32)ctx->dsdt;
+	fadt->firmware_ctrl = (u32)facs;
+	fadt->dsdt = (u32)dsdt;
 	fadt->preferred_pm_profile = ACPI_PM_UNSPECIFIED;
 	fadt->sci_int = 9;
 	fadt->smi_cmd = 0;
@@ -74,9 +70,9 @@ static int quark_write_fadt(struct acpi_ctx *ctx,
 	fadt->reset_reg.addrh = 0;
 	fadt->reset_value = SYS_RST | RST_CPU | FULL_RST;
 
-	fadt->x_firmware_ctl_l = (u32)ctx->facs;
+	fadt->x_firmware_ctl_l = (u32)facs;
 	fadt->x_firmware_ctl_h = 0;
-	fadt->x_dsdt_l = (u32)ctx->dsdt;
+	fadt->x_dsdt_l = (u32)dsdt;
 	fadt->x_dsdt_h = 0;
 
 	fadt->x_pm1a_evt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
@@ -136,14 +132,7 @@ static int quark_write_fadt(struct acpi_ctx *ctx,
 	fadt->x_gpe1_blk.addrh = 0x0;
 
 	header->checksum = table_compute_checksum(fadt, header->length);
-
-	acpi_add_table(ctx, fadt);
-
-	acpi_inc(ctx, sizeof(struct acpi_fadt));
-
-	return 0;
 }
-ACPI_WRITER(5fadt, "FACP", quark_write_fadt, 0);
 
 int acpi_create_gnvs(struct acpi_global_nvs *gnvs)
 {
diff --git a/arch/x86/cpu/tangier/acpi.c b/arch/x86/cpu/tangier/acpi.c
index e3a2fcea76d042c8bae031c5f246602665d8de5a..3ffba3897aad880dafb86a4082088b84c0baba78 100644
--- a/arch/x86/cpu/tangier/acpi.c
+++ b/arch/x86/cpu/tangier/acpi.c
@@ -16,23 +16,19 @@
 #include <asm/arch/iomap.h>
 #include <dm/uclass-internal.h>
 
-static int tangier_write_fadt(struct acpi_ctx *ctx,
-			      const struct acpi_writer *entry)
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt)
 {
-	struct acpi_table_header *header;
-	struct acpi_fadt *fadt;
+	struct acpi_table_header *header = &(fadt->header);
 
-	fadt = ctx->current;
-	header = &fadt->header;
-
-	memset(fadt, '\0', sizeof(struct acpi_fadt));
+	memset((void *)fadt, 0, sizeof(struct acpi_fadt));
 
 	acpi_fill_header(header, "FACP");
 	header->length = sizeof(struct acpi_fadt);
 	header->revision = 6;
 
-	fadt->firmware_ctrl = (u32)ctx->facs;
-	fadt->dsdt = (u32)ctx->dsdt;
+	fadt->firmware_ctrl = (u32)facs;
+	fadt->dsdt = (u32)dsdt;
 	fadt->preferred_pm_profile = ACPI_PM_UNSPECIFIED;
 
 	fadt->iapc_boot_arch = ACPI_FADT_VGA_NOT_PRESENT |
@@ -45,18 +41,13 @@ static int tangier_write_fadt(struct acpi_ctx *ctx,
 
 	fadt->minor_revision = 2;
 
-	fadt->x_firmware_ctl_l = (u32)ctx->facs;
+	fadt->x_firmware_ctl_l = (u32)facs;
 	fadt->x_firmware_ctl_h = 0;
-	fadt->x_dsdt_l = (u32)ctx->dsdt;
+	fadt->x_dsdt_l = (u32)dsdt;
 	fadt->x_dsdt_h = 0;
 
 	header->checksum = table_compute_checksum(fadt, header->length);
-
-	acpi_inc(ctx, sizeof(struct acpi_fadt));
-
-	return 0;
 }
-ACPI_WRITER(5fadt, "FACP", tangier_write_fadt, 0);
 
 u32 acpi_fill_madt(u32 current)
 {
diff --git a/arch/x86/include/asm/acpi_table.h b/arch/x86/include/asm/acpi_table.h
index 226753b65d6a2fbbedcf078e9746b735943b00fc..72e1873d15dc26e648ea343d840eaad029266c07 100644
--- a/arch/x86/include/asm/acpi_table.h
+++ b/arch/x86/include/asm/acpi_table.h
@@ -24,6 +24,8 @@ struct acpi_table_header;
 
 /* These can be used by the target port */
 
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt);
 int acpi_create_madt_lapics(u32 current);
 int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
 			    u32 addr, u32 gsi_base);
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index c5b33dc65de4d6e5fca97081021232c80ad31ad4..e3b7e9a4bbe810f4cd881ae3b6b564347df20b54 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -458,6 +458,21 @@ int acpi_write_gnvs(struct acpi_ctx *ctx, const struct acpi_writer *entry)
 }
 ACPI_WRITER(4gnvs, "GNVS", acpi_write_gnvs, 0);
 
+static int acpi_write_fadt(struct acpi_ctx *ctx,
+			   const struct acpi_writer *entry)
+{
+	struct acpi_fadt *fadt;
+
+	fadt = ctx->current;
+	acpi_create_fadt(fadt, ctx->facs, ctx->dsdt);
+	acpi_add_table(ctx, fadt);
+
+	acpi_inc(ctx, sizeof(struct acpi_fadt));
+
+	return 0;
+}
+ACPI_WRITER(5fact, "FADT", acpi_write_fadt, 0);
+
 /**
  * acpi_write_hpet() - Write out a HPET table
  *
diff --git a/board/gateworks/gw_ventana/gsc.c b/board/gateworks/gw_ventana/gsc.c
index 324e5dbed2c82521bf3deecbc7188efaaa2a5155..a5d6de7e0e8ea16ec2291aeac87f3e174088f90f 100644
--- a/board/gateworks/gw_ventana/gsc.c
+++ b/board/gateworks/gw_ventana/gsc.c
@@ -41,7 +41,7 @@ int gsc_i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
 			break;
 		debug("%s: 0x%02x 0x%02x retry%d: %d\n", __func__, chip, addr,
 		      n, ret);
-		if (ret != -ENODEV)
+		if (ret != -EREMOTEIO)
 			break;
 		mdelay(10);
 	}
@@ -60,7 +60,7 @@ int gsc_i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
 			break;
 		debug("%s: 0x%02x 0x%02x retry%d: %d\n", __func__, chip, addr,
 		      n, ret);
-		if (ret != -ENODEV)
+		if (ret != -EREMOTEIO)
 			break;
 		mdelay(10);
 	}
diff --git a/board/gateworks/venice/venice.c b/board/gateworks/venice/venice.c
index 4e05802b6ff1a6db06b5862d2bc60936cce6520b..5334500ef6a7c10be4330b5dd5b5c82f2045d4e1 100644
--- a/board/gateworks/venice/venice.c
+++ b/board/gateworks/venice/venice.c
@@ -21,19 +21,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 int board_phys_sdram_size(phys_size_t *size)
 {
-	const fdt64_t *val;
-	int offset;
-	int len;
-
-	/* get size from dt which SPL updated per EEPROM config */
-	offset = fdt_path_offset(gd->fdt_blob, "/memory");
-	if (offset < 0)
+	if (!size)
 		return -EINVAL;
 
-	val = fdt_getprop(gd->fdt_blob, offset, "reg", &len);
-	if (len < sizeof(*val) * 2)
-		return -EINVAL;
-	*size = get_unaligned_be64(&val[1]);
+	*size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
 
 	return 0;
 }
diff --git a/configs/MPC8548CDS_36BIT_defconfig b/configs/MPC8548CDS_36BIT_defconfig
index d6351d5b11b9396a3ee4db0814db93440141bb0f..240c6bec37580ba18cabf0cee3c3340f79dc520f 100644
--- a/configs/MPC8548CDS_36BIT_defconfig
+++ b/configs/MPC8548CDS_36BIT_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xE0000000
 CONFIG_SYS_TEXT_BASE=0xFFF80000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/MPC8548CDS_defconfig b/configs/MPC8548CDS_defconfig
index da0b80b09d7bc0736c97aaba70fb64fee787d97f..434ab0939b0bfe102a76e17cc588556f1f37fb3f 100644
--- a/configs/MPC8548CDS_defconfig
+++ b/configs/MPC8548CDS_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xE0000000
 CONFIG_SYS_TEXT_BASE=0xFFF80000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/MPC8548CDS_legacy_defconfig b/configs/MPC8548CDS_legacy_defconfig
index 87d1fd716c95b4de1f5ee4c2950f23ef2419d9b1..eb8233dfd67e8561dd1015153a9ad08ab492e935 100644
--- a/configs/MPC8548CDS_legacy_defconfig
+++ b/configs/MPC8548CDS_legacy_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xE0000000
 CONFIG_SYS_TEXT_BASE=0xFFF80000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
index 61fd2a78a4e35eed29953de84f79516c5ba3639d..314d73a8ae1eed95f098ba92bd19152cce492147 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1010RDB-PA_36BIT_NOR_defconfig b/configs/P1010RDB-PA_36BIT_NOR_defconfig
index 0e537ebb5213c376cc6733fe9982604986c7f639..ebfb9c43f7ae27f6314641e3f3a9ec9c28c52671 100644
--- a/configs/P1010RDB-PA_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NOR_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
index dc113be28d903a20c821c2a8a3c2c9169cdbc597..ca149b0b26d4b64b9cd26f296d641fe7cd90543a 100644
--- a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
index cd5c80c6346c2c45fc438cf1d3fcbc6b2a810a10..0d1f1568e2d65a9dd06fd3c786a81e0dc591fca0 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
index f80a0d929c1368a36082cf785eea1de9deaa8d9e..fde12ea861b6f0cddaea699ed2ea9ce452fcdac5 100644
--- a/configs/P1010RDB-PA_NAND_defconfig
+++ b/configs/P1010RDB-PA_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1010RDB-PA_NOR_defconfig b/configs/P1010RDB-PA_NOR_defconfig
index 035aac226bb5b3434f11c9effef8ece6be8fbe25..eeda2dd4cd50f71d0950589d854b248d99ccd337 100644
--- a/configs/P1010RDB-PA_NOR_defconfig
+++ b/configs/P1010RDB-PA_NOR_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1010RDB-PA_SDCARD_defconfig b/configs/P1010RDB-PA_SDCARD_defconfig
index cd031d218c3880aa542bd63929c43e0e27c5d4fa..0032f27790999b4e69a18564fcc48ac12c27c8e6 100644
--- a/configs/P1010RDB-PA_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_defconfig b/configs/P1010RDB-PA_SPIFLASH_defconfig
index f339502637b7f26bdb5aaff3175ed19195b6ee20..e40cd4f93d01ca624b215f7ee30467012ad1c876 100644
--- a/configs/P1010RDB-PA_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
index ba64f8818fb828ea67c24edf6a38e0d94b5fe762..f6dfc16edef340501d75887ae2e4f32b298b2a58 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1010RDB-PB_36BIT_NOR_defconfig b/configs/P1010RDB-PB_36BIT_NOR_defconfig
index a8e95568714d041ec4808a659d4c79458c7b1176..acaba8539b7741dbba1d8eaa8e90137771001c5f 100644
--- a/configs/P1010RDB-PB_36BIT_NOR_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NOR_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
index 871996711db3f3d1e87fe84921b43284812c44e3..6a346fba2ac284356fc2ed260314dadb09251473 100644
--- a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
index 2d646f9f54d9b0e4bfddb19469e36a1c4f912a58..5e31d18a5f8fc9f95df4cffdc19ac24729f79a17 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
index f8437ff032f94826223743675d430fc93db46059..be614b85b7251e6d776dfae028b4eea9288d1a71 100644
--- a/configs/P1010RDB-PB_NAND_defconfig
+++ b/configs/P1010RDB-PB_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1010RDB-PB_NOR_defconfig b/configs/P1010RDB-PB_NOR_defconfig
index b99531c4cd90ba54b47ab927d225b4af96cc9af6..261ca79c7aea90874fe78f41ea74d9a44e4f921c 100644
--- a/configs/P1010RDB-PB_NOR_defconfig
+++ b/configs/P1010RDB-PB_NOR_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1010RDB-PB_SDCARD_defconfig b/configs/P1010RDB-PB_SDCARD_defconfig
index ebe2af6f4a1d3208466f778d1e23f8edf3a16391..e102207afff3568800ab5817c49f1c21c8a6e902 100644
--- a/configs/P1010RDB-PB_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_defconfig b/configs/P1010RDB-PB_SPIFLASH_defconfig
index 7893782fa44558422f1cbe2ba9e83e3f82045958..52dfbbaae3ac3cb2a6f46350eb38662490f2c07b 100644
--- a/configs/P1010RDB-PB_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
index 30b841d691bd692b681d62b88ab6d5f508e10e6a..a8bc420f638e2a12fe8a4b50c8092092ad4b2200 100644
--- a/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
index 79edbf388d4911f1dc26bcc29674126d1dec322a..e9ee3cfdb110074aff489eedd7bf1c6ea0e89324 100644
--- a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
index c5a64de98e08900c11002cd44460f79ac6cf4946..3f5a7cee0e227a531a58bbc3fca796b661d71cb1 100644
--- a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PC_36BIT_defconfig b/configs/P1020RDB-PC_36BIT_defconfig
index 9671a6d33008697a60b9338979cadd6a0d6e15df..6b3685bc365cc97a37d570625bcd09299e97be00 100644
--- a/configs/P1020RDB-PC_36BIT_defconfig
+++ b/configs/P1020RDB-PC_36BIT_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
index 0201c51a5d0d26a67489e61c063c7ba6edbbb41f..3a41738eede4ae14cbbf023831f18c9572f87f24 100644
--- a/configs/P1020RDB-PC_NAND_defconfig
+++ b/configs/P1020RDB-PC_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P1020RDB-PC_SDCARD_defconfig b/configs/P1020RDB-PC_SDCARD_defconfig
index 371a8b5f8b84cf411e44b2a64067141bff4d007b..395f0b2d891451d36f59f209490e57c91a167c9c 100644
--- a/configs/P1020RDB-PC_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PC_SPIFLASH_defconfig b/configs/P1020RDB-PC_SPIFLASH_defconfig
index 7c8b3c826cd0f328b253e31642ba6a2a21b7cf60..5269c39ce98fcfff0f10d8ff14cab52e9f8d9929 100644
--- a/configs/P1020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PC_defconfig b/configs/P1020RDB-PC_defconfig
index 01b4fd363c4028b7125403f5b1e50f2888b2f5bc..dbe90e785be7558cc3ffd7c40d261fd18fc8f52b 100644
--- a/configs/P1020RDB-PC_defconfig
+++ b/configs/P1020RDB-PC_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
index e70c1a7cbae6e0ca5fc7ed4fa73f29dd472cfbcd..bc277c600d01b933c96d3f390987791d33ebc171 100644
--- a/configs/P1020RDB-PD_NAND_defconfig
+++ b/configs/P1020RDB-PD_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x20000
diff --git a/configs/P1020RDB-PD_SDCARD_defconfig b/configs/P1020RDB-PD_SDCARD_defconfig
index 2596b5255d356d739458b3cd8cf30bee9f472ae2..ed6b3393c27a9434149474a2973ce08ec58e5171 100644
--- a/configs/P1020RDB-PD_SDCARD_defconfig
+++ b/configs/P1020RDB-PD_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PD_SPIFLASH_defconfig b/configs/P1020RDB-PD_SPIFLASH_defconfig
index f6f8888c82a7845953cbe1f3efb11037c987cd94..7cad6ce45240fef67043fcb198755a53a3413b04 100644
--- a/configs/P1020RDB-PD_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P1020RDB-PD_defconfig b/configs/P1020RDB-PD_defconfig
index e1a4965caae5f48f90f0305ddc89c385f53905a4..ccf251478f7d51a7f056f32c27fd7bd8ebfe47a4 100644
--- a/configs/P1020RDB-PD_defconfig
+++ b/configs/P1020RDB-PD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
index 2c302b682168ecaaddc40096b2261b65952aa01c..3f3d30f2f1320fcfe73c858baa536a3380c873a1 100644
--- a/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
index 2d080713e7a2b5c9a6775c431b66cdd602b46301..3acb251e1e0d6952c2abc60128e10beef293eac9 100644
--- a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
index 7b53b02517111cf3f392d347e4f2507327c4af4f..e545c294e09a74e9b83c79f38ff16c0f32d10dcd 100644
--- a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P2020RDB-PC_36BIT_defconfig b/configs/P2020RDB-PC_36BIT_defconfig
index 5e8a474c905a734cb54182a945169d063892a066..4c120e5722b646c07fe8542595730342756934cd 100644
--- a/configs/P2020RDB-PC_36BIT_defconfig
+++ b/configs/P2020RDB-PC_36BIT_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
index 74165dc60aa74e036a3d37017ffc06e40acabd7f..73e8a5c5714c897027d401f5aac8382e94d1dffd 100644
--- a/configs/P2020RDB-PC_NAND_defconfig
+++ b/configs/P2020RDB-PC_NAND_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x4000
diff --git a/configs/P2020RDB-PC_SDCARD_defconfig b/configs/P2020RDB-PC_SDCARD_defconfig
index 0505f40a814802cdb2ecdcb71d2e19a1f229a922..614ff521b90eb80b488784ff4f8ea47094b1858a 100644
--- a/configs/P2020RDB-PC_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_SDCARD_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P2020RDB-PC_SPIFLASH_defconfig b/configs/P2020RDB-PC_SPIFLASH_defconfig
index f1085fde470216f8a83b4925eefb3f5eeaaed891..325a238fbfabb662e41d5ba595c6e3a8d5062d99 100644
--- a/configs/P2020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0x11001000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
diff --git a/configs/P2020RDB-PC_defconfig b/configs/P2020RDB-PC_defconfig
index f933ed42fcedf46f78d96508f8e8733cb587d1d8..15f2a97df2d1cd416fff0106915a04e93cb3fdfd 100644
--- a/configs/P2020RDB-PC_defconfig
+++ b/configs/P2020RDB-PC_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xFFE00000
 CONFIG_SYS_TEXT_BASE=0xEFF40000
 CONFIG_SYS_MALLOC_LEN=0x100000
 CONFIG_ENV_SIZE=0x2000
diff --git a/configs/socrates_defconfig b/configs/socrates_defconfig
index bad08e79c9f4d885b35f3de390e99aebffc25955..f9815ca581f1c05b47d63cbc7fa8a4415b5cd6e2 100644
--- a/configs/socrates_defconfig
+++ b/configs/socrates_defconfig
@@ -1,4 +1,5 @@
 CONFIG_PPC=y
+CONFIG_SYS_IMMR=0xE0000000
 CONFIG_SYS_TEXT_BASE=0xfff80000
 CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_SECT_SIZE=0x20000
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 88797d4a21c2f76c8a7d8a8d5872535f731b277a..f9c2c40a223bfc8e6cb648bc4503b018941b1d4d 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -407,7 +407,8 @@ static int video_post_probe(struct udevice *dev)
 		return ret;
 	}
 
-	if (IS_ENABLED(CONFIG_VIDEO_LOGO) && !plat->hide_logo) {
+	if (IS_ENABLED(CONFIG_VIDEO_LOGO) &&
+	    !IS_ENABLED(CONFIG_SPLASH_SCREEN) && !plat->hide_logo) {
 		ret = show_splash(dev);
 		if (ret) {
 			log_debug("Cannot show splash screen\n");
diff --git a/include/configs/imx8mm_venice.h b/include/configs/imx8mm_venice.h
index d9a86a62ed0843095a0b96ea283c2046d35ff563..455a8d0187d872ba1e14259f6cf9edc71f84ddbf 100644
--- a/include/configs/imx8mm_venice.h
+++ b/include/configs/imx8mm_venice.h
@@ -83,7 +83,7 @@
 
 /* SDRAM configuration */
 #define PHYS_SDRAM                      0x40000000
-#define PHYS_SDRAM_SIZE			SZ_1G /* 1GB DDR */
+#define PHYS_SDRAM_SIZE			SZ_4G
 #define CONFIG_SYS_BOOTM_LEN		SZ_256M
 
 /* UART */
diff --git a/include/configs/imx8mn_venice.h b/include/configs/imx8mn_venice.h
index e7bfcd70af2cdefafd0dedc9c667ace2cf80f309..401084c16b6ff1e27acbf1d209a525b3cf8313da 100644
--- a/include/configs/imx8mn_venice.h
+++ b/include/configs/imx8mn_venice.h
@@ -80,7 +80,7 @@
 
 /* SDRAM configuration */
 #define PHYS_SDRAM                      0x40000000
-#define PHYS_SDRAM_SIZE			SZ_1G
+#define PHYS_SDRAM_SIZE			SZ_4G
 #define CONFIG_SYS_BOOTM_LEN		SZ_256M
 
 /* UART */