diff options
author | Carlo Caione <carlo@endlessm.com> | 2016-08-27 09:43:43 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@baylibre.com> | 2016-09-01 17:23:39 -0400 |
commit | 2c4ddb215521d5dfb30f72123ef966ac6bdd16d7 (patch) | |
tree | 4ea8f9160358416781a64275ba47d9e3113b3db4 /include/linux/firmware | |
parent | 6edf27ee25892571d275e2b3945d1b48c68d0476 (diff) |
firmware: Amlogic: Add secure monitor driver
Introduce a driver to provide calls into secure monitor mode.
In the Amlogic SoCs these calls are used for multiple reasons: access to
NVMEM, set USB boot, enable JTAG, etc...
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Carlo Caione <carlo@endlessm.com>
[khilman: add in SZ_4K cleanup]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Diffstat (limited to 'include/linux/firmware')
-rw-r--r-- | include/linux/firmware/meson/meson_sm.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/firmware/meson/meson_sm.h b/include/linux/firmware/meson/meson_sm.h new file mode 100644 index 000000000000..8e953c6f394a --- /dev/null +++ b/include/linux/firmware/meson/meson_sm.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Endless Mobile, Inc. | ||
3 | * Author: Carlo Caione <carlo@endlessm.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License | ||
7 | * version 2 as published by the Free Software Foundation. | ||
8 | * | ||
9 | * You should have received a copy of the GNU General Public License | ||
10 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
11 | */ | ||
12 | |||
13 | #ifndef _MESON_SM_FW_H_ | ||
14 | #define _MESON_SM_FW_H_ | ||
15 | |||
16 | enum { | ||
17 | SM_EFUSE_READ, | ||
18 | SM_EFUSE_WRITE, | ||
19 | SM_EFUSE_USER_MAX, | ||
20 | }; | ||
21 | |||
22 | struct meson_sm_firmware; | ||
23 | |||
24 | int meson_sm_call(unsigned int cmd_index, u32 *ret, u32 arg0, u32 arg1, | ||
25 | u32 arg2, u32 arg3, u32 arg4); | ||
26 | int meson_sm_call_write(void *buffer, unsigned int b_size, unsigned int cmd_index, | ||
27 | u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 arg4); | ||
28 | int meson_sm_call_read(void *buffer, unsigned int cmd_index, u32 arg0, u32 arg1, | ||
29 | u32 arg2, u32 arg3, u32 arg4); | ||
30 | |||
31 | #endif /* _MESON_SM_FW_H_ */ | ||