Merge tag 'ti-keystone-soc-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/soc
ARM: keystone: TI Updates for v6.2 Updates: * Switch over to standard PSCI for keystone2 platforms. * tag 'ti-keystone-soc-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: ARM: keystone: Replace platform SMP with PSCI Link: https://lore.kernel.org/r/20221122185650.nrh7s2g5obndj5vj@dental Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-y := keystone.o smc.o
|
||||
|
||||
obj-$(CONFIG_SMP) += platsmp.o
|
||||
obj-y := keystone.o
|
||||
|
||||
# PM domain driver for Keystone SOCs
|
||||
obj-$(CONFIG_ARCH_KEYSTONE) += pm_domain.o
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/time.h>
|
||||
#include <asm/smp_plat.h>
|
||||
#include <asm/memory.h>
|
||||
|
||||
#include "memory.h"
|
||||
@@ -103,7 +102,6 @@ DT_MACHINE_START(KEYSTONE, "Keystone")
|
||||
#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
|
||||
.dma_zone_size = SZ_2G,
|
||||
#endif
|
||||
.smp = smp_ops(keystone_smp_ops),
|
||||
.init_machine = keystone_init,
|
||||
.dt_compat = keystone_match,
|
||||
.pv_fixup = keystone_pv_fixup,
|
||||
|
||||
@@ -8,13 +8,8 @@
|
||||
#ifndef __KEYSTONE_H__
|
||||
#define __KEYSTONE_H__
|
||||
|
||||
#define KEYSTONE_MON_CPU_UP_IDX 0x00
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
extern const struct smp_operations keystone_smp_ops;
|
||||
extern void secondary_startup(void);
|
||||
extern u32 keystone_cpu_smc(u32 command, u32 cpu, u32 addr);
|
||||
extern int keystone_pm_runtime_init(void);
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Keystone SOC SMP platform code
|
||||
*
|
||||
* Copyright 2013 Texas Instruments, Inc.
|
||||
* Cyril Chemparathy <cyril@ti.com>
|
||||
* Santosh Shilimkar <santosh.shillimkar@ti.com>
|
||||
*
|
||||
* Based on platsmp.c, Copyright (C) 2002 ARM Ltd.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
#include <asm/smp_plat.h>
|
||||
#include <asm/prom.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
#include "keystone.h"
|
||||
|
||||
static int keystone_smp_boot_secondary(unsigned int cpu,
|
||||
struct task_struct *idle)
|
||||
{
|
||||
unsigned long start = virt_to_idmap(&secondary_startup);
|
||||
int error;
|
||||
|
||||
pr_debug("keystone-smp: booting cpu %d, vector %08lx\n",
|
||||
cpu, start);
|
||||
|
||||
error = keystone_cpu_smc(KEYSTONE_MON_CPU_UP_IDX, cpu, start);
|
||||
if (error)
|
||||
pr_err("CPU %d bringup failed with %d\n", cpu, error);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
const struct smp_operations keystone_smp_ops __initconst = {
|
||||
.smp_boot_secondary = keystone_smp_boot_secondary,
|
||||
};
|
||||
@@ -1,26 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Keystone Secure APIs
|
||||
*
|
||||
* Copyright (C) 2013 Texas Instruments, Inc.
|
||||
* Santosh Shilimkar <santosh.shilimkar@ti.com>
|
||||
*/
|
||||
|
||||
#include <linux/linkage.h>
|
||||
|
||||
/**
|
||||
* u32 keystone_cpu_smc(u32 command, u32 cpu, u32 addr)
|
||||
*
|
||||
* Low level CPU monitor API
|
||||
* @command: Monitor command.
|
||||
* @cpu: CPU Number
|
||||
* @addr: Kernel jump address for boot CPU
|
||||
*
|
||||
* Return: Non zero value on failure
|
||||
*/
|
||||
.arch_extension sec
|
||||
ENTRY(keystone_cpu_smc)
|
||||
stmfd sp!, {r4-r11, lr}
|
||||
smc #0
|
||||
ldmfd sp!, {r4-r11, pc}
|
||||
ENDPROC(keystone_cpu_smc)
|
||||
Reference in New Issue
Block a user