Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm/mach-exynos/smc.h
26292 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Copyright (c) 2012 Samsung Electronics.
4
*
5
* Exynos - SMC Call
6
*/
7
8
#ifndef __ASM_ARCH_EXYNOS_SMC_H
9
#define __ASM_ARCH_EXYNOS_SMC_H
10
11
#define SMC_CMD_INIT (-1)
12
#define SMC_CMD_INFO (-2)
13
/* For Power Management */
14
#define SMC_CMD_SLEEP (-3)
15
#define SMC_CMD_CPU1BOOT (-4)
16
#define SMC_CMD_CPU0AFTR (-5)
17
#define SMC_CMD_SAVE (-6)
18
#define SMC_CMD_SHUTDOWN (-7)
19
/* For CP15 Access */
20
#define SMC_CMD_C15RESUME (-11)
21
/* For L2 Cache Access */
22
#define SMC_CMD_L2X0CTRL (-21)
23
#define SMC_CMD_L2X0SETUP1 (-22)
24
#define SMC_CMD_L2X0SETUP2 (-23)
25
#define SMC_CMD_L2X0INVALL (-24)
26
#define SMC_CMD_L2X0DEBUG (-25)
27
28
/* For Accessing CP15/SFR (General) */
29
#define SMC_CMD_REG (-101)
30
31
/* defines for SMC_CMD_REG */
32
#define SMC_REG_CLASS_SFR_W (0x1 << 30)
33
#define SMC_REG_ID_SFR_W(addr) (SMC_REG_CLASS_SFR_W | ((addr) >> 2))
34
35
#ifndef __ASSEMBLY__
36
37
extern void exynos_smc(u32 cmd, u32 arg1, u32 arg2, u32 arg3);
38
39
#endif /* __ASSEMBLY__ */
40
41
/* op type for SMC_CMD_SAVE and SMC_CMD_SHUTDOWN */
42
#define OP_TYPE_CORE 0x0
43
#define OP_TYPE_CLUSTER 0x1
44
45
/* Power State required for SMC_CMD_SAVE and SMC_CMD_SHUTDOWN */
46
#define SMC_POWERSTATE_IDLE 0x1
47
48
#endif
49
50