diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index d5be1a85f40b..2d332f025bb0 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -202,6 +202,7 @@ config PPC
 	select HAVE_IDE
 	select HAVE_IOREMAP_PROT
 	select HAVE_IRQ_EXIT_ON_IRQ_STACK
+	select HAVE_KERNEL_UNCOMPRESSED
 	select HAVE_KERNEL_GZIP
 	select HAVE_KERNEL_LZMA			if DEFAULT_UIMAGE
 	select HAVE_KERNEL_LZO			if DEFAULT_UIMAGE
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index f3417bfc5ec4..5b33fd3aac47 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -249,6 +249,7 @@ CROSSWRAP := -C "$(CROSS_COMPILE)"
 endif
 endif
 
+compressor-y := none
 compressor-$(CONFIG_KERNEL_GZIP) := gz
 compressor-$(CONFIG_KERNEL_XZ)   := xz
 compressor-$(CONFIG_KERNEL_LZMA)   := lzma
diff --git a/arch/powerpc/boot/dts/microwatt.dts b/arch/powerpc/boot/dts/microwatt.dts
index b63c9d9ec202..24972eba74bb 100644
--- a/arch/powerpc/boot/dts/microwatt.dts
+++ b/arch/powerpc/boot/dts/microwatt.dts
@@ -65,8 +65,8 @@ PowerPC,Microwatt@0 {
 			i-cache-sets = <2>;
 			ibm,dec-bits = <64>;
 			reservation-granule-size = <64>;
-			clock-frequency = <100000000>;
-			timebase-frequency = <100000000>;
+			clock-frequency = <50000000>;
+			timebase-frequency = <50000000>;
 			i-tlb-sets = <1>;
 			ibm,ppc-interrupt-server#s = <0>;
 			i-cache-block-size = <64>;
@@ -120,7 +120,7 @@ UART0: serial@2000 {
 			device_type = "serial";
 			compatible = "ns16550";
 			reg = <0x2000 0x8>;
-			clock-frequency = <100000000>;
+			clock-frequency = <50000000>;
 			current-speed = <115200>;
 			reg-shift = <2>;
 			fifo-size = <16>;
diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c
index a9d209135975..1daf58213f13 100644
--- a/arch/powerpc/boot/main.c
+++ b/arch/powerpc/boot/main.c
@@ -30,8 +30,12 @@ static struct addr_range prep_kernel(void)
 	long len;
 	int uncompressed_image = 0;
 
+#ifndef CONFIG_KERNEL_UNCOMPRESSED
 	len = partial_decompress(vmlinuz_addr, vmlinuz_size,
 		elfheader, sizeof(elfheader), 0);
+#else
+    len = -1;
+#endif
 	/* assume uncompressed data if -1 is returned */
 	if (len == -1) {
 		uncompressed_image = 1;
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 6fcae436ae51..80759831d36b 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -1165,6 +1165,10 @@ void div128_by_32(u64 dividend_high, u64 dividend_low,
 	dr->result_high = ((u64)w << 32) + x;
 	dr->result_low  = ((u64)y << 32) + z;
 
+	printk(KERN_INFO "div128_by_32: H %llx L %llx div %x H %llx L %llx\n",
+	       dividend_high, dividend_low, divisor,
+            dr->result_high,
+            dr->result_low);
 }
 
 /* We don't need to calibrate delay, we use the CPU timebase for that */
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index 4002ced3596f..9d68d4eab457 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -14,7 +14,7 @@
  *      Rework for PPC64 port.
  */
 
-#undef DEBUG
+#define DEBUG
 
 #include <linux/signal.h>
 #include <linux/sched.h>
@@ -384,15 +384,19 @@ static void __init early_check_vec5(void)
 	root = of_get_flat_dt_root();
 	chosen = of_get_flat_dt_subnode_by_name(root, "chosen");
 	if (chosen == -FDT_ERR_NOTFOUND) {
+        pr_warn("no chosen found\n");
 		cur_cpu_spec->mmu_features &= ~MMU_FTR_TYPE_RADIX;
 		return;
 	}
 	vec5 = of_get_flat_dt_prop(chosen, "ibm,architecture-vec-5", &size);
 	if (!vec5) {
+        pr_warn("no vec5\n");
 		cur_cpu_spec->mmu_features &= ~MMU_FTR_TYPE_RADIX;
 		return;
 	}
 	if (size <= OV5_INDX(OV5_MMU_SUPPORT)) {
+        pr_warn("size %d less-equal to OV5_MMU_SUPPORT %d\n",
+                    size, OV5_INDX(OV5_MMU_SUPPORT));
 		cur_cpu_spec->mmu_features &= ~MMU_FTR_TYPE_RADIX;
 		return;
 	}
@@ -400,6 +404,7 @@ static void __init early_check_vec5(void)
 	/* Check for supported configuration */
 	mmu_supported = vec5[OV5_INDX(OV5_MMU_SUPPORT)] &
 			OV5_FEAT(OV5_MMU_SUPPORT);
+    pr_warn("mmu supported %x\n", mmu_supported);
 	if (mmu_supported == OV5_FEAT(OV5_MMU_RADIX)) {
 		/* Hypervisor only supports radix - check enabled && GTSE */
 		if (!early_radix_enabled()) {
