1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
diff -Nur linux-5.4.155.orig/arch/arm/include/asm/mach/map.h linux-5.4.155/arch/arm/include/asm/mach/map.h
--- linux-5.4.155.orig/arch/arm/include/asm/mach/map.h 2021-10-20 11:40:18.000000000 +0200
+++ linux-5.4.155/arch/arm/include/asm/mach/map.h 2021-10-26 11:20:50.164712192 +0200
@@ -59,6 +59,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-5.4.155.orig/arch/arm/Kconfig linux-5.4.155/arch/arm/Kconfig
--- linux-5.4.155.orig/arch/arm/Kconfig 2021-10-20 11:40:18.000000000 +0200
+++ linux-5.4.155/arch/arm/Kconfig 2021-10-26 11:20:50.164712192 +0200
@@ -340,6 +340,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-5.4.155.orig/arch/arm/Kconfig.debug linux-5.4.155/arch/arm/Kconfig.debug
--- linux-5.4.155.orig/arch/arm/Kconfig.debug 2021-10-20 11:40:18.000000000 +0200
+++ linux-5.4.155/arch/arm/Kconfig.debug 2021-10-26 11:20:50.168712192 +0200
@@ -1878,7 +1878,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-5.4.155.orig/arch/arm/mach-versatile/Kconfig linux-5.4.155/arch/arm/mach-versatile/Kconfig
--- linux-5.4.155.orig/arch/arm/mach-versatile/Kconfig 2021-10-20 11:40:18.000000000 +0200
+++ linux-5.4.155/arch/arm/mach-versatile/Kconfig 2021-10-26 11:20:50.168712192 +0200
@@ -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-5.4.155.orig/arch/arm/mach-versatile/Makefile.boot linux-5.4.155/arch/arm/mach-versatile/Makefile.boot
--- linux-5.4.155.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
+++ linux-5.4.155/arch/arm/mach-versatile/Makefile.boot 2021-10-26 11:20:50.168712192 +0200
@@ -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-5.4.155.orig/arch/arm/mach-versatile/versatile_dt.c linux-5.4.155/arch/arm/mach-versatile/versatile_dt.c
--- linux-5.4.155.orig/arch/arm/mach-versatile/versatile_dt.c 2021-10-20 11:40:18.000000000 +0200
+++ linux-5.4.155/arch/arm/mach-versatile/versatile_dt.c 2021-10-26 11:20:50.168712192 +0200
@@ -22,7 +22,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))
/*
|