| From 4ac4324dcdaf237aa34545b3795acb2e5c42d10e Mon Sep 17 00:00:00 2001 |
| From: Waldemar Brodkorb <wbx@openadk.org> |
| Date: Fri, 1 Feb 2019 11:36:20 +0100 |
| Subject: [PATCH] arm-versatile-nommu: Linux patch |
| |
| Originally made by Waldemar Brodkorb <wbx@openadk.org> from LKML. |
| |
| Signed-Off-by: Waldemar Brodkorb <wbx@openadk.org> |
| [Gerome: reformated as a Git patch] |
| Signed-off-by: Gerome Burlats <gerome.burlats@smile.fr> |
| [Romain: fix Waldemar's authorship in Git patch] |
| Signed-off-by: Romain Naour <romain.naour@smile.fr> |
| --- |
| 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 e8cd55a5b04c..fc2dbff70394 100644 |
| --- a/arch/arm/Kconfig |
| +++ b/arch/arm/Kconfig |
| @@ -353,6 +353,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 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 --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug |
| index f6fcb8a79889..92fc637d3db8 100644 |
| --- a/arch/arm/Kconfig.debug |
| +++ b/arch/arm/Kconfig.debug |
| @@ -1843,7 +1843,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 9b7c328fb207..b1fe9c8b5c3e 100644 |
| --- a/arch/arm/include/asm/mach/map.h |
| +++ b/arch/arm/include/asm/mach/map.h |
| @@ -62,6 +62,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 f5c275434d6c..06ad999d5978 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 3c8d39c12909..8cfa05a37295 100644 |
| --- a/arch/arm/mach-versatile/versatile_dt.c |
| +++ b/arch/arm/mach-versatile/versatile_dt.c |
| @@ -37,7 +37,11 @@ |
| #include <asm/mach/map.h> |
| |
| /* 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.14.5 |
| |