diff -Nur linux-4.14.30.orig/arch/arm/Kconfig linux-4.14.30/arch/arm/Kconfig --- linux-4.14.30.orig/arch/arm/Kconfig 2018-03-24 11:01:30.000000000 +0100 +++ linux-4.14.30/arch/arm/Kconfig 2018-04-01 04:14:15.989043313 +0100 @@ -363,6 +363,17 @@ select SPARSE_IRQ select USE_OF +config ARM_SINGLE_ARCH_VERSATILE + bool "ARM Ltd. Versatile family" + depends on !MMU + select AUTO_ZRELADDR + select CLKSRC_OF + select COMMON_CLK + select GENERIC_CLOCKEVENTS + select GPIOLIB + select SPARSE_IRQ + select USE_OF + config ARCH_EBSA110 bool "EBSA-110" select ARCH_USES_GETTIMEOFFSET diff -Nur linux-4.14.30.orig/arch/arm/Kconfig.debug linux-4.14.30/arch/arm/Kconfig.debug --- linux-4.14.30.orig/arch/arm/Kconfig.debug 2018-03-24 11:01:30.000000000 +0100 +++ linux-4.14.30/arch/arm/Kconfig.debug 2018-04-01 04:14:15.990043300 +0100 @@ -1777,7 +1777,8 @@ config UNCOMPRESS_INCLUDE string default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ - PLAT_SAMSUNG || ARM_SINGLE_ARMV7M + PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \ + ARM_SINGLE_ARCH_VERSATILE default "mach/uncompress.h" config EARLY_PRINTK diff -Nur linux-4.14.30.orig/arch/arm/include/asm/mach/map.h linux-4.14.30/arch/arm/include/asm/mach/map.h --- linux-4.14.30.orig/arch/arm/include/asm/mach/map.h 2018-03-24 11:01:30.000000000 +0100 +++ linux-4.14.30/arch/arm/include/asm/mach/map.h 2018-04-01 04:14:15.991043288 +0100 @@ -62,6 +62,7 @@ #else #define iotable_init(map,num) do { } while (0) #define vm_reserve_area_early(a,s,c) do { } while (0) +#define debug_ll_io_init() do { } while (0) #endif #endif diff -Nur linux-4.14.30.orig/arch/arm/mach-versatile/Kconfig linux-4.14.30/arch/arm/mach-versatile/Kconfig --- linux-4.14.30.orig/arch/arm/mach-versatile/Kconfig 2018-03-24 11:01:30.000000000 +0100 +++ linux-4.14.30/arch/arm/mach-versatile/Kconfig 2018-04-01 04:14:15.992043275 +0100 @@ -1,7 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 config ARCH_VERSATILE - bool "ARM Ltd. Versatile family" - depends on ARCH_MULTI_V5 + bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5 + depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE + default y if ARM_SINGLE_ARCH_VERSATILE select ARM_AMBA select ARM_TIMER_SP804 select ARM_VIC diff -Nur linux-4.14.30.orig/arch/arm/mach-versatile/Makefile.boot linux-4.14.30/arch/arm/mach-versatile/Makefile.boot --- linux-4.14.30.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 +++ linux-4.14.30/arch/arm/mach-versatile/Makefile.boot 2018-04-01 04:14:15.992043275 +0100 @@ -0,0 +1,3 @@ +# Empty file waiting for deletion once Makefile.boot isn't needed any more. +# Patch waits for application at +# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 . diff -Nur linux-4.14.30.orig/arch/arm/mach-versatile/versatile_dt.c linux-4.14.30/arch/arm/mach-versatile/versatile_dt.c --- linux-4.14.30.orig/arch/arm/mach-versatile/versatile_dt.c 2018-03-24 11:01:30.000000000 +0100 +++ linux-4.14.30/arch/arm/mach-versatile/versatile_dt.c 2018-04-01 04:14:15.992043275 +0100 @@ -37,7 +37,11 @@ #include /* macro to get at MMIO space when running virtually */ +#ifdef CONFIG_MMU #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) +#else +#define IO_ADDRESS(x) (x) +#endif #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n)) /*