mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 05:35:16 +07:00
9c92ab6191
Based on 1 normalized pattern(s): this software is licensed under the terms of the gnu general public license version 2 as published by the free software foundation and may be copied distributed and modified under those terms this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 285 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* This file contains common function prototypes to avoid externs
|
|
* in the c files.
|
|
*
|
|
* Copyright (C) 2011 Xilinx
|
|
*/
|
|
|
|
#ifndef __MACH_ZYNQ_COMMON_H__
|
|
#define __MACH_ZYNQ_COMMON_H__
|
|
|
|
extern int zynq_slcr_init(void);
|
|
extern int zynq_early_slcr_init(void);
|
|
extern void zynq_slcr_cpu_stop(int cpu);
|
|
extern void zynq_slcr_cpu_start(int cpu);
|
|
extern bool zynq_slcr_cpu_state_read(int cpu);
|
|
extern void zynq_slcr_cpu_state_write(int cpu, bool die);
|
|
extern u32 zynq_slcr_get_device_id(void);
|
|
|
|
#ifdef CONFIG_SMP
|
|
extern char zynq_secondary_trampoline;
|
|
extern char zynq_secondary_trampoline_jump;
|
|
extern char zynq_secondary_trampoline_end;
|
|
extern int zynq_cpun_start(u32 address, int cpu);
|
|
extern const struct smp_operations zynq_smp_ops;
|
|
#endif
|
|
|
|
extern void __iomem *zynq_scu_base;
|
|
|
|
void zynq_pm_late_init(void);
|
|
|
|
static inline void zynq_core_pm_init(void)
|
|
{
|
|
/* A9 clock gating */
|
|
asm volatile ("mrc p15, 0, r12, c15, c0, 0\n"
|
|
"orr r12, r12, #1\n"
|
|
"mcr p15, 0, r12, c15, c0, 0\n"
|
|
: /* no outputs */
|
|
: /* no inputs */
|
|
: "r12");
|
|
}
|
|
|
|
#endif
|