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;