From 7c245ffc17a9ab6215830d4ecd8b2f9beddb487c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 1 Feb 2019 11:36:20 +0100 Subject: [PATCH] arm-versatile-nommu: Linux patch Originally made by Waldemar Brodkorb from LKML. Rename CLKSRC_OF to TIMER_OF (kernel >= 4.13) https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb0eb050a577a866cb47c2dc37596f1207f4c2d9 Remove GENERIC_CLOCKEVENTS since its enabled by default (kernel >= 5.11) https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0774a6ed294b963dc76df2d8342ab86d030759ec Select CONFIG_GENERIC_IRQ_MULTI_HANDLER since irqchip doesn't select it anymore (kernel >= 5.12) https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a79f7051cccb6f3bcd3d2a0a058c7d5c79bb0371 Signed-Off-by: Waldemar Brodkorb [Gerome: reformated as a Git patch] Signed-off-by: Gerome Burlats [Romain: fix Waldemar's authorship in Git patch] Signed-off-by: Romain Naour --- arch/arm/Kconfig | 11 +++++++++++ arch/arm/Kconfig.debug | 3 ++- arch/arm/include/asm/mach/map.h | 1 + arch/arm/mach-versatile/Kconfig | 5 +++-- arch/arm/mach-versatile/Makefile.boot | 3 +++ arch/arm/mach-versatile/versatile_dt.c | 4 ++++ 6 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 arch/arm/mach-versatile/Makefile.boot diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index dcf2df6da98f..c2155c1a2eba 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -337,6 +337,17 @@ config ARM_SINGLE_ARMV7M select SPARSE_IRQ select USE_OF +config ARM_SINGLE_ARCH_VERSATILE + bool "ARM Ltd. Versatile family" + depends on !MMU + select AUTO_ZRELADDR + select TIMER_OF + select COMMON_CLK + select GENERIC_IRQ_MULTI_HANDLER + select GPIOLIB + select SPARSE_IRQ + select USE_OF + config ARCH_EP93XX bool "EP93xx-based" select ARCH_SPARSEMEM_ENABLE diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 98436702e0c7..7e63299ceb40 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -1891,7 +1891,8 @@ config DEBUG_UNCOMPRESS 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 --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h index 92282558caf7..90bd9c069ffc 100644 --- a/arch/arm/include/asm/mach/map.h +++ b/arch/arm/include/asm/mach/map.h @@ -59,6 +59,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys, #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 --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig index d88e7725bf99..d38b90157f13 100644 --- a/arch/arm/mach-versatile/Kconfig +++ b/arch/arm/mach-versatile/Kconfig @@ -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 --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot new file mode 100644 index 000000000000..eacfc3f5c33e --- /dev/null +++ b/arch/arm/mach-versatile/Makefile.boot @@ -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 --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c index 02ba68abe533..835b51bc597b 100644 --- a/arch/arm/mach-versatile/versatile_dt.c +++ b/arch/arm/mach-versatile/versatile_dt.c @@ -22,7 +22,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)) /* -- 2.31.1