blob: cfe693575d5177c13dcac91d96bd529c328f380d [file] [log] [blame]
Stephen Boyd2a1eb582010-08-27 10:01:23 -07001/* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
2 *
David Brown3162aa22011-02-14 16:15:26 -08003 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
Stephen Boyd2a1eb582010-08-27 10:01:23 -07006 *
David Brown3162aa22011-02-14 16:15:26 -08007 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
Stephen Boyd2a1eb582010-08-27 10:01:23 -070011 */
12#ifndef __MACH_SCM_H
13#define __MACH_SCM_H
14
15#define SCM_SVC_BOOT 0x1
16#define SCM_SVC_PIL 0x2
17
18extern int scm_call(u32 svc_id, u32 cmd_id, const void *cmd_buf, size_t cmd_len,
19 void *resp_buf, size_t resp_len);
20
Kumar Gala3d9b4482015-02-04 15:46:04 -060021#define SCM_BOOT_ADDR 0x1
22#define SCM_FLAG_COLDBOOT_CPU1 0x01
23#define SCM_FLAG_COLDBOOT_CPU2 0x08
24#define SCM_FLAG_COLDBOOT_CPU3 0x20
25#define SCM_FLAG_WARMBOOT_CPU0 0x04
26#define SCM_FLAG_WARMBOOT_CPU1 0x02
27#define SCM_FLAG_WARMBOOT_CPU2 0x10
28#define SCM_FLAG_WARMBOOT_CPU3 0x40
29
30extern int scm_set_boot_addr(u32 addr, int flags);
31
Stephen Boyd2a1eb582010-08-27 10:01:23 -070032#define SCM_VERSION(major, minor) (((major) << 16) | ((minor) & 0xFF))
33
34extern u32 scm_get_version(void);
35
36#endif