mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 23:16:34 +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>
63 lines
1.8 KiB
C
63 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* arch/arm/mach-tegra/reset.h
|
|
*
|
|
* CPU reset dispatcher.
|
|
*
|
|
* Copyright (c) 2011, NVIDIA Corporation.
|
|
*/
|
|
|
|
#ifndef __MACH_TEGRA_RESET_H
|
|
#define __MACH_TEGRA_RESET_H
|
|
|
|
#define TEGRA_RESET_MASK_PRESENT 0
|
|
#define TEGRA_RESET_MASK_LP1 1
|
|
#define TEGRA_RESET_MASK_LP2 2
|
|
#define TEGRA_RESET_STARTUP_SECONDARY 3
|
|
#define TEGRA_RESET_STARTUP_LP2 4
|
|
#define TEGRA_RESET_STARTUP_LP1 5
|
|
#define TEGRA_RESET_RESETTABLE_STATUS 6
|
|
#define TEGRA_RESET_TF_PRESENT 7
|
|
#define TEGRA_RESET_DATA_SIZE 8
|
|
|
|
#define RESET_DATA(x) ((TEGRA_RESET_##x)*4)
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include "irammap.h"
|
|
|
|
extern unsigned long __tegra_cpu_reset_handler_data[TEGRA_RESET_DATA_SIZE];
|
|
|
|
void __tegra_cpu_reset_handler_start(void);
|
|
void __tegra_cpu_reset_handler(void);
|
|
void __tegra20_cpu1_resettable_status_offset(void);
|
|
void __tegra_cpu_reset_handler_end(void);
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
#define tegra_cpu_lp1_mask \
|
|
(IO_ADDRESS(TEGRA_IRAM_BASE + TEGRA_IRAM_RESET_HANDLER_OFFSET + \
|
|
((u32)&__tegra_cpu_reset_handler_data[TEGRA_RESET_MASK_LP1] - \
|
|
(u32)__tegra_cpu_reset_handler_start)))
|
|
#define tegra_cpu_lp2_mask \
|
|
(IO_ADDRESS(TEGRA_IRAM_BASE + TEGRA_IRAM_RESET_HANDLER_OFFSET + \
|
|
((u32)&__tegra_cpu_reset_handler_data[TEGRA_RESET_MASK_LP2] - \
|
|
(u32)__tegra_cpu_reset_handler_start)))
|
|
#define tegra20_cpu1_resettable_status \
|
|
(IO_ADDRESS(TEGRA_IRAM_BASE + TEGRA_IRAM_RESET_HANDLER_OFFSET + \
|
|
((u32)&__tegra_cpu_reset_handler_data[TEGRA_RESET_RESETTABLE_STATUS] - \
|
|
(u32)__tegra_cpu_reset_handler_start)))
|
|
#endif
|
|
|
|
#define tegra_cpu_reset_handler_offset \
|
|
((u32)__tegra_cpu_reset_handler - \
|
|
(u32)__tegra_cpu_reset_handler_start)
|
|
|
|
#define tegra_cpu_reset_handler_size \
|
|
(__tegra_cpu_reset_handler_end - \
|
|
__tegra_cpu_reset_handler_start)
|
|
|
|
void __init tegra_cpu_reset_handler_init(void);
|
|
|
|
#endif
|
|
#endif
|