summaryrefslogtreecommitdiff
path: root/arch/arm/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/armv7/Kconfig3
-rw-r--r--arch/arm/cpu/armv7m/start.S20
-rw-r--r--arch/arm/cpu/armv8/fel_utils.S2
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/cpu.c2
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/fdt.c1
-rw-r--r--arch/arm/cpu/armv8/sysinfo.c2
-rw-r--r--arch/arm/cpu/u-boot-spl.lds3
-rw-r--r--arch/arm/cpu/u-boot.lds6
8 files changed, 24 insertions, 15 deletions
diff --git a/arch/arm/cpu/armv7/Kconfig b/arch/arm/cpu/armv7/Kconfig
index 4eb34b7b449..ab86d642eee 100644
--- a/arch/arm/cpu/armv7/Kconfig
+++ b/arch/arm/cpu/armv7/Kconfig
@@ -36,7 +36,8 @@ config ARMV7_SECURE_BASE
hex "Base address for secure mode memory"
depends on HAS_ARMV7_SECURE_BASE
default 0xfff00000 if TEGRA124
- default 0x2ffc0000 if ARCH_STM32MP
+ default 0x2ffe0000 if STM32MP13X
+ default 0x2ffc0000 if STM32MP15X
default 0x2f000000 if ARCH_MX7ULP
default 0x10010000 if ARCH_LS1021A
default 0x00900000 if ARCH_MX7
diff --git a/arch/arm/cpu/armv7m/start.S b/arch/arm/cpu/armv7m/start.S
index 0c07f2140c7..a439404a248 100644
--- a/arch/arm/cpu/armv7m/start.S
+++ b/arch/arm/cpu/armv7m/start.S
@@ -4,13 +4,19 @@
* Kamil Lulko, <kamil.lulko@gmail.com>
*/
+#include <linux/linkage.h>
#include <asm/assembler.h>
-.globl reset
-.type reset, %function
-reset:
- W(b) _main
+/*
+ * Startup code (reset vector)
+ */
+ENTRY(reset)
+ W(b) _main @ Jump to _main (C runtime crt0.S)
+ENDPROC(reset)
-.globl c_runtime_cpu_setup
-c_runtime_cpu_setup:
- mov pc, lr
+/*
+ * Setup CPU for C runtime
+ */
+ENTRY(c_runtime_cpu_setup)
+ mov pc, lr @ Jump back to caller
+ENDPROC(c_runtime_cpu_setup)
diff --git a/arch/arm/cpu/armv8/fel_utils.S b/arch/arm/cpu/armv8/fel_utils.S
index 044a7c16cc5..6a7ec9a7ec1 100644
--- a/arch/arm/cpu/armv8/fel_utils.S
+++ b/arch/arm/cpu/armv8/fel_utils.S
@@ -41,7 +41,7 @@ ENTRY(return_to_fel)
str w2, [x1]
ldr w0, =0xfa50392f // CPU hotplug magic
-#ifdef CONFIG_MACH_SUN50I_H616
+#if defined(CONFIG_MACH_SUN50I_H616) || defined(CONFIG_MACH_SUN50I_A133)
ldr w2, =(SUNXI_R_CPUCFG_BASE + 0x1c0)
str w0, [x2], #0x4
#elif CONFIG_MACH_SUN50I_H6
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index d2d3e346a36..cfbaa475701 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -802,7 +802,7 @@ enum boot_src get_boot_src(void)
int mmc_get_env_dev(void)
{
enum boot_src src = get_boot_src();
- int dev = CONFIG_SYS_MMC_ENV_DEV;
+ int dev = CONFIG_ENV_MMC_DEVICE_INDEX;
switch (src) {
case BOOT_SOURCE_SD_MMC:
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
index ca6be3626fb..e8d2339f1a3 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
@@ -7,6 +7,7 @@
#include <config.h>
#include <clock_legacy.h>
#include <efi_loader.h>
+#include <env.h>
#include <log.h>
#include <asm/cache.h>
#include <linux/libfdt.h>
diff --git a/arch/arm/cpu/armv8/sysinfo.c b/arch/arm/cpu/armv8/sysinfo.c
index 850142da37d..ff0abee4c6b 100644
--- a/arch/arm/cpu/armv8/sysinfo.c
+++ b/arch/arm/cpu/armv8/sysinfo.c
@@ -134,7 +134,7 @@ int sysinfo_get_cache_info(u8 level, struct cache_info *cinfo)
/* Select cache level */
csselr_el1 = (level << 1);
- asm volatile("msr csselr_el1, %0" : : "r" (csselr_el1));
+ asm volatile("msr csselr_el1, %0" : : "r" ((u64)csselr_el1));
/* Read CCSIDR_EL1 */
asm volatile("mrs %0, ccsidr_el1" : "=r" (creg.data));
diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds
index eee463a1b1c..5aecb61ce90 100644
--- a/arch/arm/cpu/u-boot-spl.lds
+++ b/arch/arm/cpu/u-boot-spl.lds
@@ -53,13 +53,14 @@ SECTIONS
__rel_dyn_end = .;
}
+ . = ALIGN(8);
_image_binary_end = .;
_end = .;
.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
*(.bss*)
- . = ALIGN(4);
+ . = ALIGN(8);
__bss_end = .;
}
__bss_size = __bss_end - __bss_start;
diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index 817e7a983ae..78aad093d3b 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -153,14 +153,14 @@ SECTIONS
__efi_runtime_rel_stop = .;
}
- . = ALIGN(4);
+ . = ALIGN(8);
__image_copy_end = .;
/*
* if CONFIG_USE_ARCH_MEMSET is not selected __bss_end - __bss_start
- * needs to be a multiple of 4 and we overlay .bss with .rel.dyn
+ * needs to be a multiple of 8 and we overlay .bss with .rel.dyn
*/
- .rel.dyn ALIGN(4) : {
+ .rel.dyn ALIGN(8) : {
__rel_dyn_start = .;
*(.rel*)
__rel_dyn_end = .;