ARM: keystone: TI Updates for v6.2

Updates:
 * Switch over to standard PSCI for keystone2 platforms.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmN89QkACgkQ3bWEnRc2
 JJ1DTBAAgImEZc0JmGk/fls8eGVbuEt6hKITibN5rtfOEkEhbEGB1+ayZ+MWcP3r
 EZaGPKtlDfG/xR/zwJXXXg6nahtjhzT+CopgR8pvT9uYd92SxeMBWRfuhuqiBF+c
 88wHG9WWoN/t3VQBPQovl7d3UdC6lOAmvhk6LivKjZmRBOFjnr9+6w7i6DaWrm+W
 f8h35xNwvQidon0zaz/B97/z2cgyp3vwnM4Y/UN2IZHvA8oEO6sGUyFcn+CLQss+
 xXx8ci/YVZnATHEvReKxOkPBxSAXzK0V56yZA4zOXJYTM/8uvtAIZb9a3m0uTOQb
 D7zyWv7D2usH2BDEZ3xLkCAJupZe1/D5vEmyW65VtMFv1PWKHwkLfHvEzsUCbNyq
 hdAPWFJa6oEIJY2Nd0x/r5vlGiMRj0kJ6mEqrPbDmUAjIAnw4mwWyYUkswCqaXqi
 4zNYVOuKy6ukY8fJObv9kqLyBc7D2EpYJmURJS68enj1sOLuHfo9ZNH8wL7w8rAB
 nps6w2TbOkr/1FfM+sPhTZK5yMy/h+YIAwKvPZm/strIy5vw8VptmwvabTaKd3/9
 D0w/Au1ALpKg0gY9C9sYqSZ4FhfZqE/6iEoZ7q/ijJcY/0UGixjX35H1hUale4Zn
 K2x+tt0RkeWG+5L7MuLKFVb5yC7JOVscxrDPkXH+wsbk73cJWzo=
 =qLHf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN+DHIACgkQmmx57+YA
 GNkHWw//YskYS8UkJ/7hlDpanBSuVXkcMeU9dyugkyFejJq9VxMC/CYlAqwlxuSf
 4DRQ9CNrPkiF8soS03Ze/KJvKQYxL0laUM8uIqhsvvMQAxLwvO/Vpv0aYTgSCscf
 SiILTDBL6fLkN2s8rHtGFXfmS+fh5aABzEiCRbpSOtLSgQxfbw+uiXyEbABrdOHx
 4+xr5JQbRjAEcR19y+xNi374rOfOMzXBGa9D1nvKjFofn2JG8mi0+EBM0t1TXYVI
 1AykJYT5L6hBY51qGxvIMJV1quaW+GMnHibAQSSWj7dwCA4zvSAh4fO7mkDuj4c3
 JUeg7H2QSBHvHiRN0kIpqqrlV0/bMUrujbDAkXzV4jCeylyQn6y8JpLr9ZMi63yX
 8zRh134HrvuBl9PF4w5veRLo/uXQ07yQhXl3tKTmFF+1h5nep2bVhGZ6PWGLNXy6
 LIj/ODxutolg7llZ/5XbrUCNW9HosGTIAjgG2AmPpp/m/eu6Vz/B0urPdWsx2KZN
 0/kwiev0ZwULEUgm50XMJU/iu3n52L1IeKU9GKOhKtYgo5gKs5oPiqJu11TVJ3Zv
 cDjE8N6CwMMAnkfCZzyGFXHIgyBW08oQ8JELk0MwWlNRd4ppiinvEFGb+7WAq34V
 Q0I+kNEuBa3cDx40pEQBpGujhmVAotWeWK7qtyPlDOzgHJ4SIAM=
 =6bgV
 -----END PGP SIGNATURE-----

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:
Arnd Bergmann 2022-11-23 13:05:06 +01:00
commit 8b7f4dd738
5 changed files with 1 additions and 77 deletions

View File

@ -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

View File

@ -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,

View File

@ -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__ */

View File

@ -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,
};

View File

@ -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)